]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Fixed territory aliases not working properly
authorArmin Ronacher <armin.ronacher@active-4.com>
Mon, 29 Jul 2013 17:09:07 +0000 (19:09 +0200)
committerArmin Ronacher <armin.ronacher@active-4.com>
Mon, 29 Jul 2013 17:09:07 +0000 (19:09 +0200)
CHANGES
babel/core.py
tests/test_core.py

diff --git a/CHANGES b/CHANGES
index e8d6983afeeb975268f25f69b724d35b2afc411b..8b93fd200b0d24ecda3d105f5b8f307ea4360021 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@ Version 1.4
 
 (bugfix release, release date to be decided)
 
+- Fixed a bug that caused deprecated territory codes not being
+  converted properly by the subtag resolving.  This for instance
+  showed up when trying to use ``und_UK`` as a language code
+  which now properly resolves to ``en_GB``.
+
 Version 1.3
 -----------
 
index 6e6e6d6194498d12e17b0e232d7e5c6b8555b2f5..56dbf559334ee7e086c1b3735ae40631c439fcac 100644 (file)
@@ -282,7 +282,7 @@ class Locale(object):
 
         language, territory, script, variant = parts
         language = get_global('language_aliases').get(language, language)
-        territory = get_global('territory_aliases').get(territory, territory)
+        territory = get_global('territory_aliases').get(territory, (territory,))[0]
         script = get_global('script_aliases').get(script, script)
         variant = get_global('variant_aliases').get(variant, variant)
 
index b4a1ac5755ece31a0a263b5b2b3a39ea29a86435..ec3f9ea9d4d372c4af2735d3dec074f61283c44a 100644 (file)
@@ -111,6 +111,11 @@ class TestLocaleClass:
         assert l.language == 'de'
         assert l.territory == 'AT'
 
+        l = Locale.parse('und_UK')
+        assert l.language == 'en'
+        assert l.territory == 'GB'
+        assert l.script is None
+
     def test_get_display_name(self):
         zh_CN = Locale('zh', 'CN', script='Hans')
         assert zh_CN.get_display_name('en') == 'Chinese (Simplified, China)'