Käännössyntaksi

Käännössyntaksi

Käännösalueet

Pikanäppäimet mahdollistavat pääsyn käännöksiin tietyistä konteksteista.

// Suhteessa asetteluun (HTML-meta-tagit ja pääsivun kehys)
{{ '@layout::meta.description' | trans }}
// Suhteessa sivuun (sivun sisältö tai modaalinen ikkuna esimerkiksi)
{{ '@page::page_title' | trans }}

Sisällytykset

On tärkeää vähentää päällekkäistä tekstiä käännöstiedostossa. Taikavälineet mahdollistavat sisällytykset yhdestä tiedostosta toiseen käyttäen sisäistä syntaksia @folder.file::key.sub_key.

Voit yhdistää sen % -avaimeen, jos avain tai avainpuu on 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::%'

Laajennukset

Jos useimmat avaimet tiedostossa ovat samoja kuin toisessa, on helpompaa käyttää ~extends -syntaksia kaikkien avaimien uudelleenkäyttämiseen ja vain uusien lisäämiseen.

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

Välimuisti

Käännöstiedostot ratkaistaan ja välimuistitetaan suorituskyvyn säilyttämiseksi.

Javascript

Käännöksiä voidaan siirtää Javascriptille dynaamista käyttöä varten.

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