Я использую Sonata Admin Bundle с Sonata User Bundle в своем приложении Symfony 2.7. У меня есть страница администратора собственности. Вот его конфигурация в моем services.yml:
// ...
mybundle.admin.property:
class: MyBundle\Admin\PropertyAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: Property, label: Properties }
arguments:
- ~
- MyBundle\Entity\Property
- 'MyBundle:PropertyAdmin'
Я добавил две настраиваемые кнопки действий в список администратора свойства. Мне пришлось добавить две строки перевода action_rooms
и action_stations
для тех двух кнопок в app/Resource/SonataAdminBundle/translations/SonataAdminBundle.en.xliff
, которые я скопировал из vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Resources/translations/SonataAdminBundle.en.xliff
. Они работают нормально.
Проблема в том, что перевод для label_type_yes
и label_type_no
в фильтре datagrid не работает, хотя они определены в SonataAdminBundle.en.xliff
. Вот скриншот списка свойств.
Я создал app/Resources/translations/MyBundle.en.xliff
с содержимым SonataAdminBundle.en.xliff
и добавил setTranslationDomain
в services.yml
для mybundle.admin.property
, но безуспешно.
calls:
- [setTranslationDomain, ['MyBundle']]
Они также не работают в списке пользователей /admin/sonata/user/user/list
, созданном Sonata User Bundle. Я заметил, что он не работал до того, как я создал app/Resource/SonataAdminBundle/translations/SonataAdminBundle.en.xliff
.
У меня включен переводчик в config.yml и parameters.yml.
// config.yml
framework:
translator: { fallbacks: ["%locale%"] }
// parameters.yml
parameters:
// ..
locale: en