From 3ce842bb9a25d180a436d443b2376b7162161c22 Mon Sep 17 00:00:00 2001 From: Felix Yan Date: Wed, 26 Mar 2014 14:43:14 +0000 Subject: [PATCH] Support 'Language' header field of PO files (#76) GNU gettext has support for the 'Language' field in header entry since version 0.18 (May 2010). This commit adds support for the field and addresses #76. --- babel/messages/catalog.py | 3 +++ tests/messages/test_catalog.py | 1 + tests/messages/test_frontend.py | 9 +++++++++ 3 files changed, 13 insertions(+) diff --git a/babel/messages/catalog.py b/babel/messages/catalog.py index 67c54259..12e87834 100644 --- a/babel/messages/catalog.py +++ b/babel/messages/catalog.py @@ -374,6 +374,8 @@ class Catalog(object): else: headers.append(('PO-Revision-Date', self.revision_date)) headers.append(('Last-Translator', self.last_translator)) + if self.locale is not None: + headers.append(('Language', str(self.locale))) if (self.locale is not None) and ('LANGUAGE' in self.language_team): headers.append(('Language-Team', self.language_team.replace('LANGUAGE', @@ -457,6 +459,7 @@ class Catalog(object): POT-Creation-Date: 1990-04-01 15:30+0000 PO-Revision-Date: 1990-08-03 12:00+0000 Last-Translator: John Doe + Language: de_DE Language-Team: de_DE Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 diff --git a/tests/messages/test_catalog.py b/tests/messages/test_catalog.py index aac71eea..31bb1d14 100644 --- a/tests/messages/test_catalog.py +++ b/tests/messages/test_catalog.py @@ -380,6 +380,7 @@ def test_catalog_mime_headers_set_locale(): ('POT-Creation-Date', '1990-04-01 15:30+0000'), ('PO-Revision-Date', '1990-08-03 12:00+0000'), ('Last-Translator', 'John Doe '), + ('Language', 'de_DE'), ('Language-Team', 'de_DE '), ('Plural-Forms', 'nplurals=2; plural=(n != 1)'), ('MIME-Version', '1.0'), diff --git a/tests/messages/test_frontend.py b/tests/messages/test_frontend.py index 882cb00d..4d26df50 100644 --- a/tests/messages/test_frontend.py +++ b/tests/messages/test_frontend.py @@ -359,6 +359,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: en_US\n" "Language-Team: en_US \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" @@ -409,6 +410,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: en_US\n" "Language-Team: en_US \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" @@ -459,6 +461,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: lv_LV\n" "Language-Team: lv_LV \n" "Plural-Forms: nplurals=3; plural=(n%%10==1 && n%%100!=11 ? 0 : n != 0 ? 1 :" " 2)\n" @@ -511,6 +514,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: ja_JP\n" "Language-Team: ja_JP \n" "Plural-Forms: nplurals=1; plural=0\n" "MIME-Version: 1.0\n" @@ -568,6 +572,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: en_US\n" "Language-Team: en_US \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" @@ -626,6 +631,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: en_US\n" "Language-Team: en_US \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" @@ -884,6 +890,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: en_US\n" "Language-Team: en_US \n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" @@ -934,6 +941,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: ja_JP\n" "Language-Team: ja_JP \n" "Plural-Forms: nplurals=1; plural=0\n" "MIME-Version: 1.0\n" @@ -980,6 +988,7 @@ msgstr "" "POT-Creation-Date: 2007-04-01 15:30+0200\n" "PO-Revision-Date: %(date)s\n" "Last-Translator: FULL NAME \n" +"Language: lv_LV\n" "Language-Team: lv_LV \n" "Plural-Forms: nplurals=3; plural=(n%%10==1 && n%%100!=11 ? 0 : n != 0 ? 1 :" " 2)\n" -- 2.47.2