Sintaksis terjemahan

Sintaksis terjemahan

Domain terjemahan

Shortcut memungkinkan akses ke terjemahan yang terkait dengan konteks tertentu.

// Terkait dengan layout (tag meta HTML dan kerangka halaman utama)
{{ '@layout::meta.description' | trans }}
// Terkait dengan halaman (badan halaman atau modal misalnya)
{{ '@page::page_title' | trans }}

Inklusi

Penting untuk mengurangi teks duplikat dalam file terjemahan. Kunci ajaib memungkinkan inklusi dari satu file ke file lain menggunakan sintaks internal @folder.file::key.sub_key.

Anda dapat menggabungkannya dengan kata kunci % jika kunci atau pohon kunci adalah sama.

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

Ekstensi

Jika sebagian besar kunci dalam sebuah file sama dengan yang lain, lebih sederhana untuk menggunakan sintaksis ~extends untuk menggunakan kembali semua kunci dan hanya menambahkan yang baru.

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

Caching

File terjemahan diselesaikan dan disimpan untuk menjaga kinerja.

Javascript

Terjemahan dapat diteruskan ke Javascript untuk penggunaan dinamis.

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