From a20aae414e762e4d9043e76b0bf8eccd334c8ebc Mon Sep 17 00:00:00 2001 From: Patryk Zawadzki Date: Mon, 19 Feb 2018 19:09:33 +0100 Subject: Fixed #29144 -- Made untranslated strings for territorial language variants use translations from the generic language variant. --- tests/i18n/territorial_fallback/__init__.py | 0 .../locale/de/LC_MESSAGES/django.mo | Bin 0 -> 460 bytes .../locale/de/LC_MESSAGES/django.po | 27 +++++++++++++++++++++ .../locale/de_DE/LC_MESSAGES/django.mo | Bin 0 -> 426 bytes .../locale/de_DE/LC_MESSAGES/django.po | 27 +++++++++++++++++++++ tests/i18n/tests.py | 14 +++++++++++ 6 files changed, 68 insertions(+) create mode 100644 tests/i18n/territorial_fallback/__init__.py create mode 100644 tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.mo create mode 100644 tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.po create mode 100644 tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.mo create mode 100644 tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.po (limited to 'tests') diff --git a/tests/i18n/territorial_fallback/__init__.py b/tests/i18n/territorial_fallback/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.mo b/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 0000000000..454fef0c7a Binary files /dev/null and b/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.mo differ diff --git a/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.po b/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.po new file mode 100644 index 0000000000..72013ab579 --- /dev/null +++ b/tests/i18n/territorial_fallback/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-04-25 15:39-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: DE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Translators: This comment should be extracted +#: __init__.py:1 +msgid "Test 1 (en)" +msgstr "Test 1 (de)" + +#: __init__.py:2 +msgid "Test 2 (en)" +msgstr "Test 2 (de)" diff --git a/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.mo b/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.mo new file mode 100644 index 0000000000..4d014cb1bf Binary files /dev/null and b/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.mo differ diff --git a/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.po b/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.po new file mode 100644 index 0000000000..e28fcd3405 --- /dev/null +++ b/tests/i18n/territorial_fallback/locale/de_DE/LC_MESSAGES/django.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-04-25 15:39-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: DE-DE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Translators: This comment should be extracted +#: __init__.py:1 +msgid "Test 1 (en)" +msgstr "Test 1 (de-de)" + +#: __init__.py:2 +msgid "Test 2 (en)" +msgstr "" diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py index afb4ac2ddb..c609e4d40a 100644 --- a/tests/i18n/tests.py +++ b/tests/i18n/tests.py @@ -1455,6 +1455,20 @@ class DjangoFallbackResolutionOrderI18NTests(ResolutionOrderI18NTests): self.assertEqual(gettext('Date/time'), 'Datum/Zeit') +@override_settings(INSTALLED_APPS=['i18n.territorial_fallback']) +class TranslationFallbackI18NTests(ResolutionOrderI18NTests): + + def test_sparse_territory_catalog(self): + """ + Untranslated strings for territorial language variants use the + translations of the generic language. In this case, the de-de + translation falls back to de. + """ + with translation.override('de-de'): + self.assertGettext('Test 1 (en)', '(de-de)') + self.assertGettext('Test 2 (en)', '(de)') + + class TestModels(TestCase): def test_lazy(self): tm = TestModel() -- cgit v1.3