Symfony2 — Сбой трансляции операторов фильтра Sonata Datagrid для поля doctrine_orm_class

В моем проекте Symfony (2.5.7) я использую Sonata Admin Bundle 2.3. В классе Admin я указал свой DataGridForm следующим образом:

protected function configureDatagridFilters(DatagridMapper $datagrid)
{
$datagrid
->add('name')
->add('created_by_user');
}

куда name это текст и created_by_user отношение один ко многим к пользовательскому классу.
В результате у меня есть красивые фильтры, но операторы на created_by_user поля, которые являются label_type_equals и label_type_not_equals, не переводятся.
Переводы предоставляются для другой области: name: label_type_contains, label_type_not_contains, label_type_equals, что хорошо.

В моем app / config / config.yml я установил:

framework:
translator: { fallback: "pl" }

Переводы предоставляются SonataAdminBundle в SonataAdminBundle.pl.xliff, расположенном в vendor / sonata-project / admin-bundle / Resources / translations.

Любой другой ярлык переводится. Только те, которые связаны с типом doctrine_orm_class, не являются.

Пожалуйста, дайте мне некоторую идею, чтобы решить эту проблему.
Благодарю.

3

Решение

Файл перевода для SonataAdminBundle для «внутренних глобальных» сообщений.

Вы можете добавить свои переводы в файл по умолчанию, который должен находиться по адресу Ресурсы / переводы / messages.pl.yml файл для добавления переводов.

Но рекомендуемый способ — создать отдельный файл для одного пакета или даже для одного файла администратора:
https://sonata-project.org/bundles/admin/2-3/doc/reference/getting_started.html#step-3-create-an-admin-service

С использованием TranslationDomain Вы можете добавить глобальный файл, например «YourBundle.pl.yml» или «MyAdmin.pl.yml»:

# Acme/DemoBundle/Resources/config/admin.yml
services:
sonata.admin.post:
class: Acme\DemoBundle\Admin\PostAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "Content", label: "Post" }
arguments:
- ~
- Acme\DemoBundle\Entity\Post
- ~
calls:
- [ setTranslationDomain, [AcmeDemoBundle]]
0

Другие решения

Когда я обновил пакеты, произошли недостающие переводы. Я повысил до
SonataAdminBundle 2.3.3, но я не настолько уверен, что это было решением. Тем не менее я не могу повторить эту проблему.

0

По вопросам рекламы [email protected]