Çeviri sözdizimi

Çeviri sözdizimi

Çeviri alanları

Kısayollar, belirli bağlamlara göre çevirilere erişim sağlar.

// Tasarım ile ilgili (HTML meta etiketleri ve ana sayfa çerçevesi)
{{ '@layout::meta.description' | trans }}
// Sayfa ile ilgili (sayfa gövdesi veya modal gibi)
{{ '@page::page_title' | trans }}

Dahil etmeler

Bir çeviri dosyasında tekrar eden metni azaltmak önemlidir. Sihirli anahtarlar, bir dosyadan diğerine dahil etmeler yapmaya olanak tanır; iç sözdizimi @folder.file::key.sub_key kullanılır.

Eğer anahtar veya anahtar ağacı aynıysa, % anahtar kelimesi ile birleştirebilirsiniz.

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

Uzantılar

Bir dosyadaki anahtarların çoğu başka bir dosyayla aynıysa, tüm anahtarları yeniden kullanmak ve yalnızca yeni olanları eklemek için ~extends sözdizimini kullanmak daha basittir.

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

Önbellekleme

Çeviri dosyaları, performansı korumak için çözülür ve önbelleğe alınır.

Javascript

Çeviriler dinamik kullanım için Javascript'e aktarılabilir.

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