Update: translation errors with msgids and msgstrs

Danilo Šegan danilo at canonical.com
Mon Jan 19 10:22:35 GMT 2009

Hi Bruno,

У суб, 17. 01 2009. у 12:33 +0100, Bruno Patri пише:
> Le Friday 16 January 2009 18:26:18 Arne Goetje, vous avez écrit :
> > Dear translators,
> >
> > for your convenience, here is the list of affected msgids, sorted by
> > release and language code:
> >
> > http://people.ubuntu.com/~arne/langpack_errors/
> Thanks a lot, it's much easier to track errors this way. But all of those 
> errors comes from usptream translations. This had to be fix by upstream teams 
> first.
> We (French Ubuntu translators)are only work on Ubuntu specific apps and docs. 
> For obvious reasons we don't want that Rosetta becomes a fork of upstream 
> translations.
> Anyway, I've fixed many errors for Hardy in Rosetta. Most of them concern KDE 
> 3.5 apps which are no more maintained by the KDE French team.

IMO, this is a good chance for you to contribute something useful to
upstream translations.

> > Please note, that these lists may contain false positives.
> Indeed, there's many false positives. It seems that an error occurs for each 
> % character in translated strings!
> Here's an example : 
> rosetta-hardy/fr/LC_MESSAGES/kttsd.po.c-format:1877: number of format 
> specifications in 'msgid' and 'msgstr' does not match
> msgid ""
> "Sets the tone (frequency) of speech.  Slide the slider to the left to lower 
> "
> "the voice tone; to the right to increase tone.  Anything less than 75 "
> "percent is considered \"low\", and anything greater than 125 percent is "
> "considered \"high\".  You cannot change the pitch of MultiSyn voices."
> msgstr ""
> "Définit le ton (fréquence) de la prononciation. Faites défiler le curseur "
> "vers la gauche pour baisser le ton de la voix ; et vers la droite pour "
> "l'augmenter. Tout nombre inférieur à 75 % est considéré comme « faible », 
> et "
> "tout nombre supérieur à 125 % est considéré comme « haut ». Vous ne pouvez 
> "
> "pas modifier la fréquence de voix MultiSyn."
> Here the translator choose to use % instead of "percent", which is perfectly 
> legitimate.

Indeed. This is one of 'false positives' so no need to worry about it.
AFAIK, the search was really done by '%' sign.

> Is this really a blocking issue for generating language packs ?
> Do you have any example of an application crach due to this kind of mistake 
> in his translation ?

If this particular application uses above string in the form of

  fprintf(file, _("Sets the tone... 75 percent..."));

introducing "%" would make the fprintf call see "% e" (space-padded %e
specifier) which would make fprintf look for a floating point number as
the next argument on the stack.

Though, you should note that problems like these are application bugs,
and should be reported as such.  However, you can't tell unless you dive
into code for the application itself.


More information about the ubuntu-translators mailing list