[Sugar-devel] internationalization: homonym handling in genpot?
Bernie Innocenti
bernie at codewiz.org
Sat Sep 11 08:28:40 EDT 2010
On Fri, 2010-09-10 at 22:43 -0400, Erik Blankinship wrote:
> label1 = _("device_icon_menu\x04Remove")
> label2 = _("file_menu\x04Remove")
>
> Not surprisingly, this creates unique entries in the .pot file since
> they are two different strings, and then both can be translated.
>
> However, if the translation is not available, you get one messed up
> looking string. Is there supposed to be a way to suppress the first
> half of that string when it is displayed with gettext?
It turns out that I was wrong... one can't directly use gettext() (aka
_()) to translate messages with context.
The pgettext() implementation I provided is also too simple. This
(untested) version should work:
def pgettext(ctx, msg):
translated = gettext(ctx + "\x04" + msg)
if '\x04' in translated:
return msg
return translated
--
// Bernie Innocenti - http://codewiz.org/
\X/ Sugar Labs - http://sugarlabs.org/
More information about the Sugar-devel
mailing list