예제 #1
0
    def test_translator_with_interpolation(self):
        translations = self._makeTranslations()
        from translationstring import Translator
        from translationstring import dugettext_policy
        from translationstring import TranslationString

        translator = Translator(translations, dugettext_policy)

        tstring = TranslationString('Visit ${url}', mapping={'url': 'url'})

        result = translator(tstring)
        self.assertEqual(result, 'Besuchen url')
예제 #2
0
    def test_translator_dugettext_policy(self):
        translations = self._makeTranslations()
        from translationstring import Translator
        from translationstring import dugettext_policy
        from translationstring import TranslationString

        translator = Translator(translations, dugettext_policy)

        tstring = TranslationString(
            'Enter a comma separated list of user names.')

        result = translator(tstring)
        self.assertEqual(result, 'Eine kommagetrennte Liste von Benutzernamen.')
예제 #3
0
    def test_translator_with_interpolation_partially_overridden_in_translate(self):
        translations = self._makeTranslations()
        from translationstring import Translator
        from translationstring import dugettext_policy
        from translationstring import TranslationString

        translator = Translator(translations, dugettext_policy)

        # Partial initial mapping
        tstring = TranslationString('${one} ${two} ${three}', mapping={
            'one': 'yksi', 'two': 'kaksi'})

        # Partial override
        result = translator(tstring, mapping={'two': 'kakkonen'})
        self.assertEqual(result, 'yksi kakkonen ${three}')

        # Make sure original mapping is not touched
        self.assertEqual(tstring.mapping, {'one': 'yksi', 'two': 'kaksi'})