diff --git a/CHANGES b/CHANGES index d51ae5a..6442267 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,7 @@ Version 0.7.2 * Added Farsi translation. Thanks, @amiraliakbari * Improved the permission system, allowing for more advanced permission mechanisms. Thanks, @codeinthehole and @tangentlabs * Fixed the ordering of apps in the language selection screen. (Issue #73, thanks @tsouvarev, @kanu and everyone else involved in tracking this one down) +* Support for complex locale names. (Issue #71, Thanks @strycore) Version 0.7.1 ------------- diff --git a/rosetta/poutil.py b/rosetta/poutil.py index cd63047..79403da 100644 --- a/rosetta/poutil.py +++ b/rosetta/poutil.py @@ -96,19 +96,20 @@ def find_pos(lang, project_apps=True, django_apps=False, third_party_apps=False) paths.append(apppath) ret = set() - langs = (lang,) + langs = [lang, ] if u'-' in lang: _l, _c = map(lambda x: x.lower(), lang.split(u'-')) - langs += (u'%s_%s' % (_l, _c), u'%s_%s' % (_l, _c.upper()), ) + langs += [u'%s_%s' % (_l, _c), u'%s_%s' % (_l, _c.upper()), ] elif u'_' in lang: _l, _c = map(lambda x: x.lower(), lang.split(u'_')) - langs += (u'%s-%s' % (_l, _c), u'%s-%s' % (_l, _c.upper()), ) + langs += [u'%s-%s' % (_l, _c), u'%s-%s' % (_l, _c.upper()), ] paths = map(os.path.normpath, paths) paths = list(set(paths)) for path in paths: for lang_ in langs: dirname = os.path.join(path, lang_, 'LC_MESSAGES') + #print dirname for fn in ('django.po', 'djangojs.po',): filename = os.path.join(dirname, fn) if os.path.isfile(filename): diff --git a/rosetta/tests/__init__.py b/rosetta/tests/__init__.py index 4a316b5..d8ba44f 100644 --- a/rosetta/tests/__init__.py +++ b/rosetta/tests/__init__.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from django.conf import settings from django.contrib.auth.models import User -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, resolve from django.template.defaultfilters import floatformat from django.test import TestCase from django.test.client import Client @@ -50,7 +50,7 @@ class RosettaTestCase(TestCase): self.client.login(username='test_admin', password='test_password') self.client2.login(username='test_admin2', password='test_password') - settings.LANGUAGES = (('xx', 'dummy language'),) + settings.LANGUAGES = (('xx', 'dummy language'), ('fr_FR.utf8', 'French (France), UTF8')) shutil.copy(self.dest_file, self.dest_file + '.orig') @@ -317,7 +317,7 @@ class RosettaTestCase(TestCase): self.assertTrue('This is a text of the base template' in str(r.content)) self.assertTrue('Context hint' in str(r.content)) - def test_14_issue_87_entry_changed_signal(self): + def test_15_issue_87_entry_changed_signal(self): # copy the template file shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.template')), self.dest_file) @@ -341,7 +341,7 @@ class RosettaTestCase(TestCase): del(self.test_old_msgstr, self.test_new_msgstr, self.test_msg_id) - def test_15_issue_101_post_save_signal(self): + def test_16_issue_101_post_save_signal(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.template')), self.dest_file) self.client.get(reverse('rosetta-pick-file') + '?filter=third-party') r = self.client.get(reverse('rosetta-language-selection', args=('xx', 0), kwargs=dict())) @@ -359,7 +359,7 @@ class RosettaTestCase(TestCase): self.assertTrue(self.test_sig_lang == 'xx') del(self.test_sig_lang) - def test_16_issue_103_post_save_signal_has_request(self): + def test_17_issue_103_post_save_signal_has_request(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.template')), self.dest_file) self.client.get(reverse('rosetta-pick-file') + '?filter=third-party') @@ -379,7 +379,7 @@ class RosettaTestCase(TestCase): del(self.test_16_has_request) # reset the original file - def test_17_Test_Issue_gh24(self): + def test_18_Test_Issue_gh24(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.issue24gh.template')), self.dest_file) self.client.get(reverse('rosetta-pick-file') + '?filter=third-party') @@ -404,7 +404,7 @@ class RosettaTestCase(TestCase): pofile_content = open(self.dest_file, 'r').read() self.assertTrue('felis eu pede mollis pretium."' in pofile_content) - def test_18_Test_Issue_gh34(self): + def test_19_Test_Issue_gh34(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.issue34gh.template')), self.dest_file) self.client.get(reverse('rosetta-pick-file') + '?filter=third-party') @@ -424,7 +424,7 @@ class RosettaTestCase(TestCase): self.assertTrue('msgstr[0] ""\n"\\n"\n"Foo %s\\n"' in pofile_content) self.assertTrue('msgstr[1] ""\n"\\n"\n"Bar %s\\n"' in pofile_content) - def test_19_Test_Issue_gh38(self): + def test_20_Test_Issue_gh38(self): if self.django_version_minor >= 4 and self.django_version_major >= 1: self.assertTrue('django.contrib.sessions.middleware.SessionMiddleware' in settings.MIDDLEWARE_CLASSES) @@ -467,7 +467,7 @@ class RosettaTestCase(TestCase): self.assertFalse('m_9efd113f7919952523f06e0d88da9c54' in str(r.content)) - def test_20_concurrency_of_cache_backend(self): + def test_21_concurrency_of_cache_backend(self): rosetta_settings.STORAGE_CLASS = 'rosetta.storage.CacheRosettaStorage' shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.issue38gh.template')), self.dest_file) @@ -479,7 +479,7 @@ class RosettaTestCase(TestCase): self.assertTrue(self.client.session.get('rosetta_cache_storage_key_prefix') != self.client2.session.get('rosetta_cache_storage_key_prefix')) - def test_21_Test_Issue_gh39(self): + def test_22_Test_Issue_gh39(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.issue39gh.template')), self.dest_file) self.client.get(reverse('rosetta-pick-file') + '?filter=third-party') @@ -490,7 +490,7 @@ class RosettaTestCase(TestCase): self.assertTrue('m_4765f7de94996d3de5975fa797c3451f' in str(r.content)) self.assertTrue('m_08e4e11e2243d764fc45a5a4fba5d0f2' in str(r.content)) - def test_22_save_header_data(self): + def test_23_save_header_data(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.template')), self.dest_file) unicode_user = User.objects.create_user('test_unicode', 'save_header_data@test.com', 'test_unicode') @@ -524,7 +524,7 @@ class RosettaTestCase(TestCase): self.assertTrue('save_header_data@test.com' in content) self.assertTrue('aeaeae aaaaaaa aaaa uuuu' in content) - def test_23_percent_transaltion(self): + def test_24_percent_transaltion(self): shutil.copy(os.path.normpath(os.path.join(self.curdir, './django.po.template')), self.dest_file) # Load the template file @@ -538,7 +538,7 @@ class RosettaTestCase(TestCase): r = self.client.get(reverse('rosetta-home')) self.assertTrue('Progress: 25.00%' in str(r.content)) - def test_24_replace_access_control(self): + def test_25_replace_access_control(self): # Test default access control allows access url = reverse('rosetta-home') response = self.client.get(url) @@ -552,6 +552,18 @@ class RosettaTestCase(TestCase): # Restore setting to default settings.ROSETTA_ACCESS_CONTROL_FUNCTION = None + def test_26_urlconf_accept_dots_and_underscores(self): + resolver_match = resolve("/rosetta/select/fr_FR.utf8/0/") + self.assertEqual(resolver_match.url_name, "rosetta-language-selection") + self.assertEqual(resolver_match.kwargs['langid'], 'fr_FR.utf8') + + def test_27_extended_urlconf_language_code_loads_file(self): + r = self.client.get(reverse('rosetta-pick-file') + '?filter=all') + r = self.client.get(reverse('rosetta-language-selection', args=('fr_FR.utf8', 0), kwargs=dict())) + r = self.client.get(reverse('rosetta-home')) + self.assertTrue('French (France), UTF8' in str(r.content)) + self.assertTrue('m_71a6479faf8712e37dd5755cd1d11804' in str(r.content)) + # Stubbed access control function def no_access(user): diff --git a/rosetta/urls.py b/rosetta/urls.py index 4c493fc..4bafab4 100644 --- a/rosetta/urls.py +++ b/rosetta/urls.py @@ -8,5 +8,5 @@ urlpatterns = patterns('rosetta.views', url(r'^$', 'home', name='rosetta-home'), url(r'^pick/$', 'list_languages', name='rosetta-pick-file'), url(r'^download/$', 'download_file', name='rosetta-download-file'), - url(r'^select/(?P[\w\-]+)/(?P\d+)/$', 'lang_sel', name='rosetta-language-selection'), + url(r'^select/(?P[\w\-_\.]+)/(?P\d+)/$', 'lang_sel', name='rosetta-language-selection'), ) diff --git a/testproject/locale/fr_FR.utf8/LC_MESSAGES/django.po b/testproject/locale/fr_FR.utf8/LC_MESSAGES/django.po new file mode 100644 index 0000000..41ed440 --- /dev/null +++ b/testproject/locale/fr_FR.utf8/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# 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: 2013-04-30 14:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: templates/test.html:3 +msgid "Some text to translate" +msgstr "" + +#: templates/test.html:5 +#, python-format +msgid "" +"\n" +"one bottle of beer on the wall\n" +msgid_plural "" +"\n" +"%(num_bottles)s bottles of beer on the wall\n" +msgstr[0] "" +msgstr[1] "" diff --git a/testproject/locale/xx/LC_MESSAGES/django.po b/testproject/locale/xx/LC_MESSAGES/django.po index e6bf20b..240c122 100644 --- a/testproject/locale/xx/LC_MESSAGES/django.po +++ b/testproject/locale/xx/LC_MESSAGES/django.po @@ -2,617 +2,66 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: Rosetta\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-21 12:21+0200\n" +"POT-Creation-Date: 2013-04-30 14:37+0200\n" "PO-Revision-Date: 2012-05-27 14:59\n" "Last-Translator: \n" "Language-Team: French \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2)\n" "X-Translated-Using: django-rosetta 0.6.7\n" -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 1" -msgstr "aaa" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 2" -msgstr "111" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 3" -msgstr "asdasd" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 4" -msgstr "aa" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 5" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 6" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 7" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 8" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 9" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 10" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 11" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 12" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 13" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 14" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 15" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 16" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 17" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 18" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 19" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 20" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 21" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 22" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 23" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 24" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 25" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 26" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 27" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 28" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 29" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 30" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 31" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 32" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 33" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 34" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 35" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 36" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 37" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 38" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 39" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 40" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 41" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 42" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 43" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 44" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 45" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 46" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 47" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 48" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 49" -msgstr "" - -msgid "" -"0_81EhfRiLPoxAH5j3f1D2P33S_-" -"Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" -"kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 50" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 1" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 2" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 3" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 4" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 5" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 6" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 7" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 8" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 9" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 10" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 11" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 12" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 13" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 14" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 15" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 16" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 17" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 18" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 19" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 20" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 21" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 22" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 23" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 24" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 25" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 26" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 27" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 28" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 29" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 30" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 31" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 32" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 33" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 34" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 35" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 36" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 37" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 38" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 39" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 40" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 41" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 42" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 43" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 44" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 45" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 46" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 47" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 48" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 49" -msgstr "" - -msgid "" -"xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" -"aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" -"qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String 50" -msgstr "aaa2" +#: templates/test.html:3 +msgid "Some text to translate" +msgstr "" + +#: templates/test.html:5 +#, python-format +msgid "" +"\n" +"one bottle of beer on the wall\n" +msgid_plural "" +"\n" +"%(num_bottles)s bottles of beer on the wall\n" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#~ msgid "" +#~ "0_81EhfRiLPoxAH5j3f1D2P33S_-" +#~ "Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" +#~ "kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 1" +#~ msgstr "aaa" + +#~ msgid "" +#~ "0_81EhfRiLPoxAH5j3f1D2P33S_-" +#~ "Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" +#~ "kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 2" +#~ msgstr "111" + +#~ msgid "" +#~ "0_81EhfRiLPoxAH5j3f1D2P33S_-" +#~ "Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" +#~ "kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 3" +#~ msgstr "asdasd" + +#~ msgid "" +#~ "0_81EhfRiLPoxAH5j3f1D2P33S_-" +#~ "Fe_7Mn_R_t9V8Bysr01xWAgvVEyyA190oYYTnzJCBucLBWKiqaAIjWAvQ3ZfrbCkDRe02iESoGhHEIBmmDI49SY6cQQk0AxGoB-" +#~ "kmZfloBiMsQraFOWetVEF4SRTHlxhNEPA-kCYB4LUCfl-l String 4" +#~ msgstr "aa" + +#~ msgid "" +#~ "xeXu5ur6xtXV69d2-7u7Fz5eD6TpYXyNVcFd28vjsZ7fnYIrzTTMEn__E_5ykGYGm-" +#~ "aY_7JXpx9_fXD9K-75dlH1vTvOv2w2HsZPL9zu7MdvupP-" +#~ "qNh5xo8PjfCLkR1kO4QUmB8CZHeW2BcGw2nYTjt7I7NcBLDuNM9PpbvPQt3le1Pex String " +#~ "50" +#~ msgstr "aaa2" diff --git a/testproject/settings.py b/testproject/settings.py index 9d397d4..2623962 100644 --- a/testproject/settings.py +++ b/testproject/settings.py @@ -47,10 +47,13 @@ INSTALLED_APPS = [ LANGUAGE_CODE = "en" LANGUAGES = ( - ('en', 'English'), ('ja', u'日本語'), ('xx', u'XXXXX'), + ('fr_FR.utf8', u'French (France), UTF8'), ) +LOCALE_PATHS = [ + os.path.join(PROJECT_PATH, 'locale'), +] SOUTH_TESTS_MIGRATE = False diff --git a/testproject/templates/test.html b/testproject/templates/test.html new file mode 100644 index 0000000..c2b2fa4 --- /dev/null +++ b/testproject/templates/test.html @@ -0,0 +1,9 @@ +{% load i18n %} + +{% trans "Some text to translate" %} + +{% blocktrans %} +one bottle of beer on the wall +{% plural %} +{{num_bottles}} bottles of beer on the wall +{% endblocktrans %} \ No newline at end of file