Sintassi della traduzione

Sintassi della traduzione

Domini di traduzione

Le scorciatoie consentono di accedere alle traduzioni relative a determinati contesti.

// Relativo al layout (meta tag HTML e frame principale della pagina)
{{ '@layout::meta.description' | trans }}
// Relativo alla pagina (corpo della pagina o modale, ad esempio)
{{ '@page::page_title' | trans }}

Inclusioni

È importante ridurre il testo duplicato in un file di traduzione. Le chiavi magiche consentono inclusioni da un file a un altro utilizzando la sintassi interna @folder.file::key.sub_key.

Puoi combinarlo con la parola chiave % se la chiave o l'albero delle chiavi è lo stesso.

# 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::%'

Estensioni

Se la maggior parte delle chiavi in un file sono le stesse di un altro, è più semplice usare la sintassi ~extends per riutilizzare tutte le chiavi e aggiungere solo quelle nuove.

# translation-file-two.en.yml
~extends: '@translation-file-one'

Caching

I file di traduzione vengono risolti e memorizzati nella cache per preservare le prestazioni.

Javascript

Le traduzioni possono essere passate a Javascript per un uso dinamico.

// template.html.twig
trans_js('@page::javascript.*')
// Hello Javascript!
app.layout.page.trans('@page::javascript.demo_text');