Hi Philippe,
Although I agree with you that there are major advantages to providing a English translation there is also one major disadvantage that makes it not worth doing in my opinion; the
architectural design of the gettext format.

Unlike Java's ResourceBundle, gettext relies on pre-compiled machine readable .mo files for localizations. Gettext was designed from a developer prospective to easily
letting them define English strings in code.
.
Moving to an English translation, would mean additional work for developers and QA.

Let me give you an example. I want to add the string "New Mail Message" to the UI.

With a English translation I would need to do the following:

1. Define a key in code i.e.. new_message = _("osaf.new.message")
2. Merge the new translation with the existing en.po file for Chandler
3. Rebuild the en.mo gettext readable file
4. Restart the app and confirm the string was correctly translated to English 5. Check in the updated en.po and the Python code containing the new string "osaf.new.message"

Asking developers to do the 5 steps above instead of one line of Python code i.e..
new_message = _(u"New Mail Message") is a bit much.

I have an additional concern that if for some reason Chandler was unable to load the en.mo file (permissions etc) the user would be left with an unusable UI.

Having said that, we are entering a period where development of new code is being
superseded by documentation, testing, and localization.

So if we were going to move to an English translation strategy now would be the
appropriate time.


-Brian



On Apr 3, 2007, at 12:05 PM, Philippe Bossut wrote:

Hi,

There's one bug (https://bugzilla.osafoundation.org/show_bug.cgi? id=8648) that made me thought about an old idea I had when localizing Chandler in French: what about creating a localization package for "English"? The strings in the code could then be considered as being in "geek speak" while the official end user facing English UI strings would be found in the localized English files.

Advantages:
- It can be fairly difficult for someone like Mimi or others to hunt down strings in the code. Compare that to editing a po file which contains all the strings in one place.
- It's error prone of course...
- Such a change requires rebuilding the app (while a change in a localization package doesn't) - Sometimes it would be convenient for devs to differentiate 2 strings in the code that just happen to be the same in English but could be different in another language (e.g. "from" in "from 8:00 to 9:00" and "from John" are actually different and could be differentiated in the code if one could write "from (time)" and "from (person)" in the code, and let both be translated as "from" in the English po. Note that in this example the whole strings would be coded as "from %(starttime)s to %(endtime)s" and "from % (person)s" so the problem wouldn't happen but you get the idea...)

Thoughts?

Cheers,
- Philippe
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to