I still remember those days when I would open GEdit and I saw C/C++ code right aligned. Then the gtk/pango guys decided to auto detect the text direction, and GtkSourceView was fixed to detect the direction of the text, and de-facto making GtkSourceView applications usable for Hebrew/Arabic/Farsi users.
Dear Alexander Larsson (don’t take it personally, your name just came up, really!), now we see 2 huge mess ups in what you describe:
1) The toolbars provided by GTK are so unusable, that MonoDevelop needed to write their own.
2) The MonoDevelop guys did not push those new toolbars down to GTK (something which is hapening in GNome for the last years).
Even tough, this was not the purpose of this “hate blog”. I am so sad you all missed the exact point: the loading of PO files. To sum things up, when an application loads, it loads (at least) 2 PO files: libgtk.mo and gedit.mo (or in KDE libkde.mo and kate.mo for example). Those 2 are merged to create the translation database for the running application.
What happens when MonoDevelop.mo is not available? The translation DB is still created, with 15 relevant strings to the application, causing the application to look weird, and have exactly 3 strings in Hebrew, and the rest in English. This looks bad in non Latin languages (Chinese, Greek etc), and even worst on the example I showed before.
The solution is pretty simple, when the application.mo file is not loaded, don’t load the language’s libgtk.mo file, but revert to ‘C’. This is how KDE works, and it give the translators more freedom: this application has bad translation, instead of shiping with this crappy 30% translated GUI, lets remove the PO from this release, and let the user have it in English, we will get it to 90% next time, and 100% for the one after.
And the reason for the –reverse switch, is exactly because of self made widgets and graphics. Also, this is called education. When KDE 3.0.0 got out, this BiDi/RTL subject was so new, that many developers did not even thought of such things. Think about it, 6-10 million potential Hebrew users? 1.1 billion potential Arabic users? not that much, specially since those 2 populations do no contribute to the KDE community. Now that it’s changed (and you gnome falks took all those cool duds like Behdad and Joko) in KDE 4.0.0 most of the job is done for the developers, and they can get about 98% of the problems fixed for free without writing a single line of code. Today I can ask developers to fix it themselves instead of me hacking 2-zillion one liners around KDE.
Yesterday I learned that the toolbar implementation used in KDE is done the right way. It’s deep inside Qt or KDElibs and thus every KDE application inherits it, unlike gnome which has that “class” in some library which not all applications use, and some even forked to a static version inside the application. I remember that the GTK open dialog has also two versions (well… unlike in KDE that has the KDE version and Qt version, but that is another story). I also learned that the second you give developers a place to throw dirt at each other, they will. This is why this post is closed for you.
You people oviously missed something: when people rant, it’s not because “you stink, drop dead”. Generally it’s because: “dud, please fix it, it annoys me”.