[maemo-developers] [maemo-developers] Re: Identifiers instead of English strings

From: Eero Tamminen eero.tamminen at movial.fi
Date: Mon Feb 20 13:18:03 EET 2006
Hi,

On Fri, 2006-02-17 at 16:21 +0100, Murray Cumming wrote:
>>> As far as I know the motivation was that this quaranteed that no
>>> ambiguity is present. Same words could mean different things in
>>> different contexts.
>>
>> As far as I know, gettext() can already handle that by providing extra
>> context or comments for the translators.
>
> Correct, if there is a source comment near the translation it gets put
> into the PO.  This is often used to inform translators of context,
> partial strings, etc.

Incorrect.  For example English has several words which mean different
things in other languages, like in Finnish:
- Title = Otsikko (for book)
- Title = Ammatti (for person)
etc.

I.e. you have to indicate the context in the *msgid* for these to be
translatable, e.g. using a trivial utility function and convention
like: "book: title" (I think this is Gnome convention).

The problems with context are:
- They are NOT know before hand, when the message IDs (English strings)
  are added to the source, problem is noticed only when translating to
  some language where a different word should be used
- Correcting the problem requires:
  - Changing the source so that gettext will have two separate
    msgids for the same English word/clause
  - All other translations need to be updated.  If you want good
    quality translations, the corresponding localizer needs to
    look at the translations, there's no single person being fluent
    enough in say 12 languages (at least available for all projects
    needing those people :-)).
- This is iterated all the time

The unique string IDs are needed because of the process differencies.
Open Source project can afford iterating ad infinitum and localization
keeping at 99% finished.

Commercial localization is not this iterative, it needs to be managed
centrally and effort distributed quickly without too much iteration.
Also, the localizations need to be 100% correct, it's not enough to
say that "No, no, your Russian grandmother should be able to understand
an occasional English sentence and not get confused and a bad impression
of the product quality".

On small screen devices, then it has to be verified that all strings
(including very hard to trigger error messages), fit to the screen etc.


Not having format strings in the msgids, where compiler and normal
PO-checking tools could check them, is IMHO stupid though.


	- Eero

PS. I'm maintaining Finnish translation for Gramps which has almost
three thousands messages.  It's not easy to get context stuff to
the msgids (especially if they are in Glade files... :-)).


More information about the maemo-developers mailing list