翻訳構文
翻訳構文
翻訳ドメイン
ショートカットを使用すると、特定のコンテキストに関連する翻訳にアクセスできます。
// レイアウトに関連(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');