[vdr] Re: i18n done with gettext
iwan.davies at translutions.co.uk
Thu Nov 17 20:30:23 CET 2005
On Thu, 17 Nov 2005 15:47:20 +0100, in gmane.linux.vdr you wrote:
> Iwan Davies wrote:
>> You could still get collisions within a single plugin, unless you use
>> unique string IDs (assuming this is how gettext works?).
> The current implementation of VDR - and the typical use of gettext - use
> the English translation as a key, with the option to pass through this
> text if no translation is found. (gettext: or no language file found)
> There may be a way to 'tag' in gettext, so that in case of pass-through
> at least the tag gets removed, don't know. VDR's i18n allows such tags
> in form "tag$english text", where everything up to $ will always be
> deleted on output.
>> Sharing strings even within a plugin is /a bad idea/ - you never know where
>> the string might be reused next time, and the translator may need to
>> inflect, conjugate or decline the term differently in each context.
> Plugins are usually maintained by one person, so this shouldn't be as
> problematic as with all plugins in one context.
I'm thinking particularly of problems I've experienced in the past in
various localisation projects, where, for example, the phrases "von" and
"bis" have been reused in different contexts wth represent different
meanings ("von Datum"/"bis Datum" and "von Uhrzeit"/"bis Uhrzeit"). In
French, for example, the first "von"/"bis" would be translated
"du"/"jusqu'au" and the second "de"/"jusqu'à".
In English there is no problem in this particular example, but another
situation could see the German use the same noun as a command an an option
setting, whereas English would require the command to be translated as an
imperative and the setting as a noun. The point is, the plugin developer
has no way of knowing how reuse of strings (and duplicate use of string
IDs) will affect the quality of the translation, so the safest approach is
to assign each string a (G)UID. Incorporating the plugin name in this UID
ensures it is globally unique for vdr. On the other hand, judicious use of
the tag system in vdr would have the same effect, as long as you could be
sure that each tag is unique and none are reused.
As I say, redundancy is dealt with during the translation process by using
translation memory, which at least gives the translator the option of
deciding whether to reuse an existing identical term or not.
More information about the vdr