gettext: Python
15.5.2 Python
-------------
RPMs
python
Ubuntu packages
python
File extension
‘py’
String syntax
‘'abc'’, ‘u'abc'’, ‘r'abc'’, ‘ur'abc'’,
‘"abc"’, ‘u"abc"’, ‘r"abc"’, ‘ur"abc"’,
‘'''abc'''’, ‘u'''abc'''’, ‘r'''abc'''’, ‘ur'''abc'''’,
‘"""abc"""’, ‘u"""abc"""’, ‘r"""abc"""’, ‘ur"""abc"""’
gettext shorthand
‘_('abc')’ etc.
gettext/ngettext functions
‘gettext.gettext’, ‘gettext.dgettext’, ‘gettext.ngettext’,
‘gettext.dngettext’, also ‘ugettext’, ‘ungettext’
textdomain
‘gettext.textdomain’ function, or ‘gettext.install(DOMAIN)’
function
bindtextdomain
‘gettext.bindtextdomain’ function, or
‘gettext.install(DOMAIN,LOCALEDIR)’ function
setlocale
not used by the gettext emulation
Prerequisite
‘import gettext’
Use or emulate GNU gettext
emulate
Extractor
‘xgettext’
Formatting with positions
‘'...%(ident)d...' % { 'ident': value }’
Portability
fully portable
po-mode marking
—
An example is available in the ‘examples’ directory: ‘hello-python’.
A note about format strings: Python supports format strings with
unnamed arguments, such as ‘'...%d...'’, and format strings with named
arguments, such as ‘'...%(ident)d...'’. The latter are preferable for
internationalized programs, for two reasons:
• When a format string takes more than one argument, the translator
can provide a translation that uses the arguments in a different
order, if the format string uses named arguments. For example, the
translator can reformulate
"'%(volume)s' has only %(freespace)d bytes free."
to
"Only %(freespace)d bytes free on '%(volume)s'."
Additionally, the identifiers also provide some context to the
translator.
• In the context of plural forms, the format string used for the
singular form does not use the numeric argument in many languages.
Even in English, one prefers to write ‘"one hour"’ instead of ‘"1
hour"’. Omitting individual arguments from format strings like
this is only possible with the named argument syntax. (With
unnamed arguments, Python – unlike C – verifies that the format
string uses all supplied arguments.)