gettext in string.templates
Verfasst: Montag 19. Februar 2018, 09:43
Guten Tag miteinander
Nun, ich bin ein ziemlicher Anfänger und versuche mich gerade in Python einzuarbeiten.
Von daher bin ich nur etwas am rumspielen und testen. Für die meisten Stolpersteine gibt es ja genügend Hinweise im Netz unter anderem in diesem Forum, danke dafür
Nun bin ich auf ein Problem gestossen das ich einfach nicht lösen kann.
Um die Sprache zu lernen, versuche ich, etwas von Grund auf selbst zu machen, auch wenn es dafür sicher einfachere Lösungen gäbe. So bin ich im Moment dabei über "string templates" HTML Templates einzulesen. Ein Ausschnitt aus dem Code, zum hoffentlich besseren Verständnis.
Nun möchte ich im Template hinterlegte Texte mit gettext Übersetzen. Die Übersetzung funktioniert, mit im Python-Script hinterlegten Strings.
Kann mir jemand einen Tipp geben, wie ich die im Template hinterlegten, zu übersetzenden Textteile übersetzen kann? Ich komme da einfach nicht weiter.
Dieses Template sieht z.B. so aus
Ich hoffe ich konnte verständlich machen wo ich anstehe und würde mich über Tipps freuen.
Beste Grüsse
Kurt
Nun, ich bin ein ziemlicher Anfänger und versuche mich gerade in Python einzuarbeiten.
Von daher bin ich nur etwas am rumspielen und testen. Für die meisten Stolpersteine gibt es ja genügend Hinweise im Netz unter anderem in diesem Forum, danke dafür

Um die Sprache zu lernen, versuche ich, etwas von Grund auf selbst zu machen, auch wenn es dafür sicher einfachere Lösungen gäbe. So bin ich im Moment dabei über "string templates" HTML Templates einzulesen. Ein Ausschnitt aus dem Code, zum hoffentlich besseren Verständnis.
Code: Alles auswählen
from string import Template
...
indexTemplate = open(path + "/templates/frame.html", "r", encoding='UTF-8')
indexInhalt = indexTemplate.read()
template = Template(indexInhalt)
...
para = {}
...
return [template.safe_substitute(para).encode()]
Code: Alles auswählen
encoding = "utf-8"
locale_path = path+'/locale/'
language = gettext.translation ('register', locale_path, ['de_DE'])
_=language.gettext
mb = btm(_('Dieser Text wird übersetzt'))
Dieses Template sieht z.B. so aus
Code: Alles auswählen
<div>
<h5 class="mt-2">_('Beta-Test')</h5>
</div>
Beste Grüsse
Kurt