Składnia tłumaczeń

Składnia tłumaczeń

Domeny tłumaczeń

Skróty umożliwiają dostęp do tłumaczeń w określonych kontekstach.

// W odniesieniu do układu (tagi meta HTML i główny szkielet strony)
{{ '@layout::meta.description' | trans }}
// W odniesieniu do strony (treść strony lub modal, na przykład)
{{ '@page::page_title' | trans }}

Inkluzje

Ważne jest, aby zredukować powielony tekst w pliku tłumaczeń. Klucze magiczne pozwalają na inkluzje z jednego pliku do drugiego, używając wewnętrznej składni @folder.file::key.sub_key.

Możesz połączyć to z kluczem %, jeśli klucz lub struktura kluczy są takie same.

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

Rozszerzenia

Jeśli większość kluczy w pliku jest taka sama jak w innym, łatwiej jest użyć składni ~extends, aby ponownie wykorzystać wszystkie klucze i tylko dodać nowe.

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

Buforowanie

Pliki tłumaczeń są rozwiązywane i buforowane w celu zachowania wydajności.

Javascript

Tłumaczenia mogą być przekazywane do Javascriptu do dynamicznego użycia.

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