From: Aarni Koskela Date: Thu, 6 Apr 2017 09:45:52 +0000 (+0300) Subject: Allow both dash and underscore separated locale identifiers in pofiles X-Git-Tag: v2.5.0~9^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F490%2Fhead;p=thirdparty%2Fbabel.git Allow both dash and underscore separated locale identifiers in pofiles Fixes #489 Augments #420 (08b9c5e76e19ae) --- diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index 3145fa37..fd40058a 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 ebf9702d..f6cd66db 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"