翻訳構文

翻訳構文

翻訳ドメイン

ショートカットを使用すると、特定のコンテキストに関連する翻訳にアクセスできます。

// レイアウトに関連(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');