Fixed #26705 -- Fixed plural versions of languages not supported by Django.
This commit is contained in:
parent
c4980e28e5
commit
c8d2120b06
@ -113,6 +113,9 @@ class DjangoTranslation(gettext_module.GNUTranslations):
|
|||||||
self.__to_language = to_language(language)
|
self.__to_language = to_language(language)
|
||||||
self.__locale = to_locale(language)
|
self.__locale = to_locale(language)
|
||||||
self._catalog = None
|
self._catalog = None
|
||||||
|
# If a language doesn't have a catalog, use the Germanic default for
|
||||||
|
# pluralization: anything except one is pluralized.
|
||||||
|
self.plural = lambda n: int(n != 1)
|
||||||
|
|
||||||
if self.domain == 'django':
|
if self.domain == 'django':
|
||||||
if localedirs is not None:
|
if localedirs is not None:
|
||||||
|
@ -1925,3 +1925,16 @@ class NonDjangoLanguageTests(SimpleTestCase):
|
|||||||
def test_non_django_language(self):
|
def test_non_django_language(self):
|
||||||
self.assertEqual(get_language(), 'xxx')
|
self.assertEqual(get_language(), 'xxx')
|
||||||
self.assertEqual(ugettext("year"), "reay")
|
self.assertEqual(ugettext("year"), "reay")
|
||||||
|
|
||||||
|
@override_settings(
|
||||||
|
USE_I18N=True,
|
||||||
|
LANGUAGES=[
|
||||||
|
('en-us', 'English'),
|
||||||
|
# xyz language has no locale files
|
||||||
|
('xyz', 'XYZ'),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
@translation.override('xyz')
|
||||||
|
def test_plural_non_django_language(self):
|
||||||
|
self.assertEqual(get_language(), 'xyz')
|
||||||
|
self.assertEqual(ungettext('year', 'years', 2), 'years')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user