Übersetzungssyntax

Ü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');