Syntaxe des traductions

Syntaxe des traductions

Domaines de traduction

Des raccourcis permettent d'accéder aux traduction relatives à certains contextes

// Relatif au layout (baslises meta HTML et cadre principal de la page HTML)
{{ '@layout::meta.description' | trans }}
// Relatif a la page (corps de page / ou modale par exemple)
{{ '@page::page_title' | trans }}

Inclusions

Il est important de veiller a réduire les textes en double dans un fichier de traduction. Pour ce faire, des clés magiques permettent de faire des inclusions d'un fichier vers un autre en utilisant en interne la syntaxe @folder.file::key.sub_key.

Vous pouvez la combiner avec le mot clé %, si la clé, ou l'arborescence de clés sont les mêmes.

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

Extensions

Si une majorité de clés d'un fichier son les mêmes qu'un autre, il sera plus simple d'utiliser la syntaxe ~extends afin de réutiliser l'ensemble des, et de n'ajouter que les nouvelles.

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

Mise en cache

Les fichiers de traductions sont résolus et mis en cache pour préserver la performance.

Javascript

Il est possible de passer les traductions a Javascript pour une utilisation dynamique.

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