Sintaxis de traducción

Sintaxis de traducción

Dominios de traducción

Los atajos permiten acceder a traducciones relativas a ciertos contextos.

// Relativo al diseño (metaetiquetas HTML y marco de la página principal)
{{ '@layout::meta.description' | trans }}
// Relativo a la página (cuerpo de la página o modal por ejemplo)
{{ '@page::page_title' | trans }}

Inclusiones

Es importante reducir el texto duplicado en un archivo de traducción. Las claves mágicas permiten inclusiones de un archivo a otro utilizando la sintaxis interna @folder.file::key.sub_key.

Puedes combinarlo con la palabra clave % si la clave o árbol de claves es el mismo.

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

Extensiones

Si la mayoría de las claves en un archivo son las mismas que en otro, es más simple usar la sintaxis ~extends para reutilizar todas las claves y solo agregar las nuevas.

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

Caché

Los archivos de traducción se resuelven y se almacenan en caché para preservar el rendimiento.

Javascript

Las traducciones se pueden pasar a Javascript para uso dinámico.

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