Esempio n. 1
0
 def test_translate_with_translations_object(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="" i18n:comment="As in foo bar">Foo</p>
     </html>""")
     translator = Translator(DummyTranslations({'Foo': 'Voh'}))
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p>Voh</p>
     </html>""", tmpl.generate().render())
Esempio n. 2
0
 def test_translate_i18n_msg_with_comment(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="" i18n:comment="As in foo bar">Foo</p>
     </html>""")
     gettext = lambda s: u"Voh"
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p>Voh</p>
     </html>""", tmpl.generate().render())
Esempio n. 3
0
 def test_translate_i18n_msg_with_attribute_param(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="">
         Hello, <a href="#${anchor}">dude</a>!
       </p>
     </html>""")
     gettext = lambda s: u"Sei gegrüßt, [1:Alter]!"
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p>Sei gegrüßt, <a href="#42">Alter</a>!</p>
     </html>""", tmpl.generate(anchor='42').render())
Esempio n. 4
0
 def test_translate_i18n_msg_with_param_reordered(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="name">
         Hello, ${user.name}!
       </p>
     </html>""")
     gettext = lambda s: u"%(name)s, sei gegrüßt!"
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p>Jim, sei gegrüßt!</p>
     </html>""", tmpl.generate(user=dict(name='Jim')).render())
Esempio n. 5
0
 def test_translate_i18n_msg_multiple_empty(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="">
         Show me <input type="text" name="num" /> entries per page, starting at page <input type="text" name="num" />.
       </p>
     </html>""")
     gettext = lambda s: u"[1:] Einträge pro Seite, beginnend auf Seite [2:]."
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p><input type="text" name="num"/> Eintr\xc3\xa4ge pro Seite, beginnend auf Seite <input type="text" name="num"/>.</p>
     </html>""", tmpl.generate().render())
Esempio n. 6
0
 def test_translate_i18n_msg_multiple(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="">
         Please see <a href="help.html">Help</a> for <em>details</em>.
       </p>
     </html>""")
     gettext = lambda s: u"Für [2:Details] siehe bitte [1:Hilfe]."
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p>Für <em>Details</em> siehe bitte <a href="help.html">Hilfe</a>.</p>
     </html>""", tmpl.generate().render())
Esempio n. 7
0
 def test_translate_i18n_msg_with_attr(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="" title="Foo bar">Foo</p>
     </html>""")
     gettext = lambda s: u"Voh"
     translator = Translator(DummyTranslations({
         'Foo': u'Voh',
         'Foo bar': u'Voh bär'
     }))
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     self.assertEqual("""<html>
       <p title="Voh bär">Voh</p>
     </html>""", tmpl.generate().render())
Esempio n. 8
0
 def test_translate_i18n_msg_with_two_params(self):
     tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
         xmlns:i18n="http://genshi.edgewall.org/i18n">
       <p i18n:msg="name, time">
         Written by ${entry.author} at ${entry.time.strftime('%H:%M')}
       </p>
     </html>""")
     gettext = lambda s: u"%(name)s schrieb dies um %(time)s"
     translator = Translator(gettext)
     tmpl.filters.insert(0, translator)
     tmpl.add_directives(Translator.NAMESPACE, translator)
     entry = {
         'author': 'Jim',
         'time': datetime(2008, 4, 1, 14, 30)
     }
     self.assertEqual("""<html>
       <p>Jim schrieb dies um 14:30</p>
     </html>""", tmpl.generate(entry=entry).render())