Translation of "Reconciled:R"

Christian Stimming stimming at tuhh.de
Sun Sep 19 15:17:14 EDT 2010


Am Sunday 19 September 2010 schrieb Seyfi Duyan:
> Hello,
> There are translator warnings in po files for colon separated strings,
> except "Reconciled:R".
> Hence many translators missed *not to translate the part before colon* for
> that string (which results in an arbitrary heading for reconciled column
> (resize that column unless you noticed)).
> Translations having the said problem, AFAICS, are:
> es.po eu.po he.po hu.po lv.po ne.po nl.po pl.po pt.ro pt_BR.po ro.po sk.po
> tr.po vi.po zh_CN zh_TW

Thanks for pointing this out. Indeed if translations don't leave the 
"Reconciled:" part in their msgstr it will result in error. Instead, in those 
few strings with a *colon* the word before the colon must be kept in 
untranslated form. Unfortunately this is a direct contradicition with the 
newer disambiguation prefixes which use a '|' (a vertical slash, also known as 
the "pipe symbol"). Those newer strings containing a '|' require the 
translator to write only the part from after the '|' into their translated 
msgstr, but explicitly not to include the part from before the '|' into their 
translation.

This disambiguation prefix with the '|' symbol is the newer technique. We 
should replace the older strings with the colon by the newer ones, which will 
break the existing translations, though. However, if we're *really* into 
updating the translations, we should use the third gettext technique instead, 
which is even newer: Here, the msgid is only the short ambiguous string, but 
there is a second newly introduced string called "the message context", or 
msgctxt for short. 
http://www.gnu.org/software/gettext/manual/gettext.html#Contexts The drawback 
here is that those strings won't work with older gettext libraries and/or 
older po file editors. The big advantage is that this whole mess with the 
translators having to look out for which parts should be contained in the 
msgstr translation goes away - just as usual, the translation should be the 
translation of the msgid string. I'd vote to go that route once we have 2.4.0 
out the door, and this way we get rid of both the ':' and the '|' strings. But 
for now we are still using those. Sorry for that.

Regards,

Christian


More information about the gnucash-devel mailing list