Description: Fix i18n use when no environment variables are set.
Origin: commit, revision id: jelmer@samba.org-20110714221452-hd1yap5lgdbsjyx3
Author: Jelmer Vernooij <jelmer@samba.org>
Bug: https://launchpad.net/bugs/810701
Last-Update: 2011-07-14
Applied-Upstream: merged in revision 6026
X-Bzr-Revision-Id: jelmer@samba.org-20110714221452-hd1yap5lgdbsjyx3

=== modified file 'bzrlib/i18n.py'
--- old/bzrlib/i18n.py	2011-06-30 11:14:06 +0000
+++ new/bzrlib/i18n.py	2011-07-14 22:14:52 +0000
@@ -74,10 +74,14 @@
     global _translations
     if lang is None:
         lang = _get_current_locale()
+    if lang is not None:
+        languages = lang.split(':')
+    else:
+        languages = None
     _translations = _gettext.translation(
             'bzr',
             localedir=_get_locale_dir(),
-            languages=lang.split(':'),
+            languages=languages,
             fallback=True)
 
 

=== modified file 'bzrlib/tests/test_i18n.py'
--- old/bzrlib/tests/test_i18n.py	2011-06-27 15:52:06 +0000
+++ new/bzrlib/tests/test_i18n.py	2011-07-14 22:14:52 +0000
@@ -19,8 +19,6 @@
 from bzrlib import i18n, tests
 
 
-
-
 class ZzzTranslations(object):
     """Special Zzz translation for debugging i18n stuff.
 
@@ -91,3 +89,18 @@
     def test_multiline(self):
         self.assertEqual(u"zz{{spam\nham}}\n\nzz{{eggs\n}}",
                          i18n.gettext_per_paragraph("spam\nham\n\neggs\n"))
+
+
+class TestInstall(tests.TestCase):
+
+    def test_custom_languages(self):
+        self.addCleanup(i18n.install)
+        i18n.install('nl:fy')
+
+    def test_no_env_variables(self):
+        self.addCleanup(i18n.install)
+        self.overrideEnv('LANGUAGE', None)
+        self.overrideEnv('LC_ALL', None)
+        self.overrideEnv('LC_MESSAGES', None)
+        self.overrideEnv('LANG', None)
+        i18n.install()


