Превод на Symfony2 с помощта на trans_default_domain

Бих искал да преведа част от моя twig шаблон, който не е в моя trans_default_domain

Например:

{% trans_default_domain 'FOSUserBundle' %}
{{ 'test.trans'|trans({}, 'ProjectMainBundle') }}

Така че test.trans се превежда в ProjectMainBundle, но винаги имам test.trans в моя текст.

Редактиране:

test.trans is in src/Project/MainBundle/Resources/translations/messages.en

Работи навсякъде, но не работи, когато се опитвам да си взема транс с trans_default_domain


person Ajouve    schedule 09.10.2013    source източник
comment
1) изчистихте ли кеша си? 2) къде точно и в какъв формат се съхраняват вашите преводи за test.trans - може да искате да добавите тази информация към въпроса. от гледна точка на синтаксиса това ми изглежда добре.   -  person Nicolai Fröhlich    schedule 10.10.2013
comment
Редактирам, моят транс е в MainBundle   -  person Ajouve    schedule 10.10.2013
comment
хехе предположението ми беше правилно - вижте отговора ми, моля :)   -  person Nicolai Fröhlich    schedule 10.10.2013


Отговори (1)


Вие съхранявате превода във файл, наречен messages.en.yml, което означава според конвенции за именуване на преводи тези преводи имат домейн messages, а не ProjectMainBundle.

Следователно преводачът не намира превод, ако се опитвате да използвате домейна ProjectMainBundle и връща самия низ.

Всеки файл със съобщения трябва да бъде именуван според следния път: domain.locale.loader

Вашите преводи трябва да се съхраняват в @AcmeYourBundle/Resources/translations/<domain>.<locale>.yml (или php, xliff, ...).

Не забравяйте да изчистите кеша след преименуване.

person Nicolai Fröhlich    schedule 09.10.2013
comment
радвам се да чуя - приятно кодиране :-) - person Nicolai Fröhlich; 10.10.2013
comment
Не забравяйте да изчистите кеша след преименуване. - Това е важно. Благодаря ти много. - person Spomsoree; 26.11.2019