bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Feature: msgfmt should not include messages if msgid==msgstr


From: Bruno Haible
Subject: Re: Feature: msgfmt should not include messages if msgid==msgstr
Date: Sun, 9 Sep 2007 23:33:31 +0200
User-agent: KMail/1.5.4

Simos Xenitellis wrote on 2007-07-19:
> I did not find a bugzilla for gettext and I only got this e-mail address.

Please send to bug-gnu-gettext, not bug-gnu-utils. For the archives it makes
no difference, but for other subscribers of bug-gnu-gettext it does.

> The are several use cases where a translator will choose to copy the
> msgid to msgstr, instead of translating to something in the local
> language.

Yes, every good PO file editor should have a shorthand button or shortcut
for this.

> The problem then comes with msgfmt which compiles in messages where
> msgid == msgstr. 
>
> What should be done is for msgfmt to check if a translation really needs
> to be included (whether msgid==msgstr), and try not to include those
> messages.
> ...
> To provide some figures, the en_GB translations in Ubuntu Linux takes up
> ~26MB though a fraction of the size is really necessary.

There are two reasons why this cannot work:

1) The 'en_GB' translations inherit from the 'en' translations. But
   translation teams are managed independently. A translation team
   will never grant a 100% trust and authority to another translation
   team. 'en_GB' translators will never refer to 'en' translations
   without checking the messages themselves.

   To take a concrete example. Say, a message contains the msgid "apologise".
   An en_GB translator sees this is perfect Oxford English, and copies it
   into the msgstr "apologise". Later on, the 'en' team decides to follow
   U.S. orthography and puts "apologize" into the en.po catalog. If the
   en_GB.mo file had omitted the msgstr "apologise", the inheritance rules
   would now produce the translation "apologize" (taken from en.mo) for
   users in the en_GB locale - despite the explicitly specified different
   spelling by the en_GB translators.

2) As already mentioned by Часлав Илић in [1], the LANGUAGE variable allows
   users to specify preferences. If a user sets his preferences to
   en_GB:en_CA:fr_CA, he might get French messages although the translators
   for en_GB have provided and double-checked British English messages.

Bruno

[1] http://lists.gnu.org/archive/html/bug-gnu-utils/2007-07/msg00056.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]