summaryrefslogtreecommitdiff
path: root/Lib/gettext.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2006-02-19 13:26:36 +0000
committerGeorg Brandl <georg@python.org>2006-02-19 13:26:36 +0000
commit602b9ba6b37c4ac4ed445f8c9e9dccd68d631899 (patch)
tree576f560d4ba24b2c975d35a7718ca1c5a2cfbf57 /Lib/gettext.py
parente466217ab954c5a53fc2e0b78876385362120900 (diff)
downloadcpython-git-602b9ba6b37c4ac4ed445f8c9e9dccd68d631899.tar.gz
Patch #1349274: gettext.install() now optionally installs additional
translation functions other than _() in the builtin namespace.
Diffstat (limited to 'Lib/gettext.py')
-rw-r--r--Lib/gettext.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/Lib/gettext.py b/Lib/gettext.py
index a20c6f1522..90ebc51800 100644
--- a/Lib/gettext.py
+++ b/Lib/gettext.py
@@ -239,9 +239,19 @@ class NullTranslations:
def set_output_charset(self, charset):
self._output_charset = charset
- def install(self, unicode=False):
+ def install(self, unicode=False, names=None):
import __builtin__
__builtin__.__dict__['_'] = unicode and self.ugettext or self.gettext
+ if hasattr(names, "__contains__"):
+ if "gettext" in names:
+ __builtin__.__dict__['gettext'] = __builtin__.__dict__['_']
+ if "ngettext" in names:
+ __builtin__.__dict__['ngettext'] = (unicode and self.ungettext
+ or self.ngettext)
+ if "lgettext" in names:
+ __builtin__.__dict__['lgettext'] = self.lgettext
+ if "lngettext" in names:
+ __builtin__.__dict__['lngettext'] = self.lngettext
class GNUTranslations(NullTranslations):
@@ -479,9 +489,9 @@ def translation(domain, localedir=None, languages=None,
return result
-def install(domain, localedir=None, unicode=False, codeset=None):
+def install(domain, localedir=None, unicode=False, codeset=None, names=None):
t = translation(domain, localedir, fallback=True, codeset=codeset)
- t.install(unicode)
+ t.install(unicode, names)