نحوه ترجمه
نحوه ترجمه
دامنههای ترجمه
میانبرها دسترسی به ترجمهها را نسبت به زمینههای خاص فراهم میکنند.
// نسبت به طرح (تگهای متا 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');