Übersetzungssyntax
Übersetzungsdomänen
Abkürzungen ermöglichen den Zugriff auf Übersetzungen in bestimmten Kontexten.
// In Bezug auf das Layout (HTML-Meta-Tags und Hauptseitenrahmen)
{{ '@layout::meta.description' | trans }}
// In Bezug auf die Seite (Seiteninhalt oder Modal beispielsweise)
{{ '@page::page_title' | trans }}
Inklusionen
Es ist wichtig, duplizierten Text in einer Übersetzungsdatei zu reduzieren. Magische Schlüssel ermöglichen Inklusionen von einer Datei in eine andere unter Verwendung der internen Syntax @folder.file::key.sub_key.
Sie können dies mit dem % Schlüsselwort kombinieren, wenn der Schlüssel oder der Schlüsselbaum derselbe ist.
# translation-file-one.en.yml
example_key:
example_sub_key: Translation string
# translation-file-two.en.yml
example_key:
# Using this key resolves to the first file
# using the same key "example_key.example_sub_key"
example_sub_key: '@translation-file-one::%'
Erweiterungen
Wenn die meisten Schlüssel in einer Datei denselben wie in einer anderen entsprechen, ist es einfacher, die ~extends Syntax zu verwenden, um alle Schlüssel wiederzuverwenden und nur die neuen hinzuzufügen.
# translation-file-two.en.yml
~extends: '@translation-file-one'
Caching
Übersetzungsdateien werden aufgelöst und zwischengespeichert, um die Leistung zu erhalten.
Javascript
Übersetzungen können für die dynamische Verwendung an Javascript übergeben werden.
// template.html.twig
trans_js('@page::javascript.*')
// Hello Javascript!
app.layout.page.trans('@page::javascript.demo_text');