Перевод Symfony2 с использованием trans_default_domain

Я хотел бы перевести часть моего шаблона ветки, которой нет в моем 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