Sintaxe de tradução
Sintaxe de tradução
Domínios de tradução
Atalhos permitem acessar traduções relativas a certos contextos.
// Relativo ao layout (meta tags HTML e estrutura principal da página)
{{ '@layout::meta.description' | trans }}
// Relativo à página (corpo da página ou modal, por exemplo)
{{ '@page::page_title' | trans }}
Inclusões
É importante reduzir texto duplicado em um arquivo de tradução. Chaves mágicas permitem inclusões de um arquivo para outro usando a sintaxe interna @folder.file::key.sub_key.
Você pode combiná-la com a palavra-chave % se a chave ou a árvore de chaves for a mesma.
# 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::%'
Extensões
Se a maioria das chaves em um arquivo forem as mesmas de outro, é mais simples usar a sintaxe ~extends para reutilizar todas as chaves e apenas adicionar as novas.
# translation-file-two.en.yml
~extends: '@translation-file-one'
Cache
Arquivos de tradução são resolvidos e armazenados em cache para preservar o desempenho.
Javascript
Traduções podem ser passadas para o Javascript para uso dinâmico.
// template.html.twig
trans_js('@page::javascript.*')
// Hello Javascript!
app.layout.page.trans('@page::javascript.demo_text');