5 Stimmen

Jinja2 Übersetzung von Links

Aus einer Jinja2-Vorlage ist dies die gerenderte Zeile, die ich suche (auf Englisch):

This is the <a href="roadmap.html">roadmap</a>

Übersetzt ins Niederländische sollte das Ergebnis lauten:

Dit is de <a href="roadmap.html">planning</a>

Diese Jinja2-Zeile bringt mich -fast- ans Ziel

{{ _('This is the %(roadmap)s.', roadmap='<a href="roadmap.html">roadmap</a>'|safe) }}

Leider wird das Wort "Fahrplan" nicht übersetzt.

Wie könnte man dies mit Jinja2 bewerkstelligen? Den Link in Roadmap1 und Roadmap2 aufteilen? Ich hoffe auf etwas Gescheiteres.

1voto

alex Punkte 2450

Diese sollten funktionieren:

{{ _('This is the') }} <a href="roadmap.html">{{ _('roadmap') }}</a>

{{ _('This is the %(roadmap)s', roadmap=('<a href="roadmap.html">%s</a>' % _('roadmap'))|safe) }} 

Wenn Sie webapp2 verwenden, sollten Sie außerdem href="roadmap.html" z. B. durch Folgendes ersetzen href="{{ uri_for('roadmap') }}"

0voto

Dag Høidahl Punkte 7245

Hier ist eine Lösung, die Ihnen alles in einer einzigen übersetzbaren Zeichenfolge liefert. Normalerweise möchten Sie nicht, dass der Linktext ("Fahrplan") ein separates Übersetzungselement ist.

Es funktioniert, indem es den öffnenden und schließenden Tag in Variablen extrahiert. Diese müssen markiert werden als safe , da sie HTML-Inhalte enthalten, die andernfalls escaped werden würden.

{% trans link_start='<a href="roadmap.html">'|safe, link_end='</a>'|safe %}
This is the {{ link_start }} roadmap {{ link_end }}.
{% endtrans %}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X