summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-01-11 06:33:28 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2002-01-11 06:33:28 (GMT)
commit1be641987145f88d61e52d5b4714a8cc6c7e6da8 (patch)
tree7a06c20958da4b357e9a4d8f0cc8e4e3944c8f52 /Lib
parent57f61fb80bbee08af3a24594c0cae56c855968f7 (diff)
downloadcpython-1be641987145f88d61e52d5b4714a8cc6c7e6da8.zip
cpython-1be641987145f88d61e52d5b4714a8cc6c7e6da8.tar.gz
cpython-1be641987145f88d61e52d5b4714a8cc6c7e6da8.tar.bz2
Add fallback argument to translation(). Request fallbacks on install.
Fixes #500595.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/gettext.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/Lib/gettext.py b/Lib/gettext.py
index 638d4ae..6795ee6 100644
--- a/Lib/gettext.py
+++ b/Lib/gettext.py
@@ -230,11 +230,14 @@ def find(domain, localedir=None, languages=None):
# a mapping between absolute .mo file path and Translation object
_translations = {}
-def translation(domain, localedir=None, languages=None, class_=None):
+def translation(domain, localedir=None, languages=None,
+ class_=None, fallback=0):
if class_ is None:
class_ = GNUTranslations
mofile = find(domain, localedir, languages)
if mofile is None:
+ if fallback:
+ return NullTranslations()
raise IOError(ENOENT, 'No translation file found for domain', domain)
key = os.path.abspath(mofile)
# TBD: do we need to worry about the file pointer getting collected?
@@ -248,7 +251,7 @@ def translation(domain, localedir=None, languages=None, class_=None):
def install(domain, localedir=None, unicode=0):
- translation(domain, localedir).install(unicode)
+ translation(domain, localedir, fallback=1).install(unicode)