示例#1
0
    def testtranschoiceValidLocale(self):
        for locale, in self.getValidLocalesTests():
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource('dict', {'foo': 'foofoo'}, 'en')

            translator.transchoice('foo', 1, {}, '', locale)
    def testtranschoiceValidLocale(self):
        for locale, in self.getValidLocalesTests():
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource('dict', {'foo': 'foofoo'}, 'en')

            translator.transchoice('foo', 1, {}, '', locale)
示例#3
0
    def testtranschoiceInvalidLocale(self):
        for locale, in self.getInvalidLocalesTests():
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource('dict', {'foo': 'foofoo'}, 'en')

            self.assertRaises(
                ValueError,
                lambda: translator.transchoice('foo', 1, {}, '', locale))
示例#4
0
    def testtranschoiceFallbackWithNoTranslation(self):
        translator = Translator('ru')
        translator.set_fallback_locales(['en'])
        translator.add_loader('dict', loaders.DictLoader())

        # consistent behavior with Translator::trans(), which returns the string
        # unchanged if it can't be found
        self.assertEquals(
            'some_message2',
            translator.transchoice('some_message2', 10, {'count': 10}))
示例#5
0
    def testtranschoiceFallbackBis(self):
        translator = Translator('ru')
        translator.set_fallback_locales(['en_US', 'en'])
        translator.add_loader('dict', loaders.DictLoader())
        translator.add_resource('dict',
                                {'some_message2': 'one thing|{count} things'},
                                'en_US')

        self.assertEquals(
            '10 things',
            translator.transchoice('some_message2', 10, {'count': 10}))
示例#6
0
    def testtranschoice(self):
        for expected, id, translation, number, parameters, locale, domain in self.gettranschoiceTests(
        ):
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource('dict', {str(id): translation}, locale,
                                    domain)

            self.assertEquals(
                expected,
                translator.transchoice(id, number, parameters, domain, locale))
    def testtranschoiceFallbackWithNoTranslation(self):
        translator = Translator('ru')
        translator.set_fallback_locales(['en'])
        translator.add_loader('dict', loaders.DictLoader())

        # consistent behavior with Translator::trans(), which returns the string
        # unchanged if it can't be found
        self.assertEquals(
            'some_message2', translator.transchoice(
                'some_message2', 10, {
                    'count': 10}))
    def testtranschoiceFallbackBis(self):
        translator = Translator('ru')
        translator.set_fallback_locales(['en_US', 'en'])
        translator.add_loader('dict', loaders.DictLoader())
        translator.add_resource(
            'dict', {
                'some_message2': 'one thing|{count} things'}, 'en_US')

        self.assertEquals(
            '10 things', translator.transchoice(
                'some_message2', 10, {
                    'count': 10}))
    def testtranschoiceInvalidLocale(self):
        for locale, in self.getInvalidLocalesTests():
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource('dict', {'foo': 'foofoo'}, 'en')

            self.assertRaises(
                ValueError,
                lambda: translator.transchoice(
                    'foo',
                    1,
                    {},
                    '',
                    locale))
示例#10
0
    def testtranschoice(self):
        for expected, id, translation, number, parameters, locale, domain in self.gettranschoiceTests(
        ):
            translator = Translator('en')
            translator.add_loader('dict', loaders.DictLoader())
            translator.add_resource(
                'dict', {
                    str(id): translation}, locale, domain)

            self.assertEquals(
                expected,
                translator.transchoice(
                    id,
                    number,
                    parameters,
                    domain,
                    locale))