نحوه ترجمه

نحوه ترجمه

دامنه‌های ترجمه

میانبرها دسترسی به ترجمه‌ها را نسبت به زمینه‌های خاص فراهم می‌کنند.

// نسبت به طرح (تگ‌های متا 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'

کش کردن

فایل‌های ترجمه حل و کش می‌شوند تا عملکرد حفظ شود.

جاوا اسکریپت

ترجمه‌ها می‌توانند به جاوا اسکریپت برای استفاده دینامیک منتقل شوند.

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