summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2017-04-06 12:45:52 +0300
committerAarni Koskela <akx@iki.fi>2017-04-06 12:45:52 +0300
commit33b4728d340e2910cfaf689d937527c1cfe5cdf2 (patch)
tree09c5d30b091fd6a6d2f4285017660a04955a2e25
parentbdf58765d4a6e80e3ef25db36569bed17d201ffc (diff)
downloadbabel-lenient-po-locale-parse.tar.gz
Allow both dash and underscore separated locale identifiers in pofileslenient-po-locale-parse
Fixes #489 Augments #420 (08b9c5e76e19ae)
-rw-r--r--babel/messages/catalog.py1
-rw-r--r--tests/messages/test_pofile.py6
2 files changed, 7 insertions, 0 deletions
diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py
index 3145fa3..fd40058 100644
--- a/babel/messages/catalog.py
+++ b/babel/messages/catalog.py
@@ -395,6 +395,7 @@ class Catalog(object):
elif name == 'last-translator':
self.last_translator = value
elif name == 'language':
+ value = value.replace('-', '_')
self.locale = Locale.parse(value)
elif name == 'language-team':
self.language_team = value
diff --git a/tests/messages/test_pofile.py b/tests/messages/test_pofile.py
index ebf9702..f6cd66d 100644
--- a/tests/messages/test_pofile.py
+++ b/tests/messages/test_pofile.py
@@ -36,6 +36,12 @@ msgstr ""
"Language: en_US\n"''')
catalog = pofile.read_po(buf, locale='de')
self.assertEqual(Locale('en', 'US'), catalog.locale)
+ buf = StringIO(r'''
+msgid ""
+msgstr ""
+"Language: ko-KR\n"''')
+ catalog = pofile.read_po(buf, locale='de')
+ self.assertEqual(Locale('ko', 'KR'), catalog.locale)
def test_preserve_domain(self):
buf = StringIO(r'''msgid "foo"