翻译语法
翻译语法
翻译域
快捷方式可以访问相对于某些上下文的翻译。
// 相对于布局(HTML元标签和主页面框架)
{{ '@layout::meta.description' | trans }}
// 相对于页面(例如页面主体或模态)
{{ '@page::page_title' | trans }}
包含
减少翻译文件中的重复文本很重要。魔法键允许使用内部语法@folder.file::key.sub_key从一个文件包含到另一个文件。
如果键或键树相同,您可以将其与%关键字结合使用。
# 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::%'
扩展
如果文件中的大多数键与另一个相同,使用~extends语法重用所有键并仅添加新键会更简单。
# translation-file-two.en.yml
~extends: '@translation-file-one'
缓存
翻译文件被解析并缓存以保持性能。
Javascript
翻译可以传递给Javascript以供动态使用。
// template.html.twig
trans_js('@page::javascript.*')
// Hello Javascript!
app.layout.page.trans('@page::javascript.demo_text');