Как перевести метки в пакете администрирования Sonata


Я использую Symfony 2.3 с пакетом администрирования Sonata. Я знаю, что могу перевести метку следующим образом:

->add('shortDescription', null, array('label'=>'shortDescriptionTranslated'))

Но это возможно только с помощью метода "Configureformfields", а не для полей DataGrid и ListFields.

Можете ли вы предоставить мне полный пример перевода меток глобальным способом? Я посмотрел здесь ( Метки в пакете администратора Sonata), но я понятия не имею, что писать в файле xliff.

Спасибо!

Author: Community, 2013-07-16

2 answers

Ознакомились ли вы с документацией по переводу с веб-сайта проекта Sonata: http://www.sonata-project.org/bundles/admin/master/doc/reference/translation.html ?

Вы можете установить глобальный каталог для каждого администратора, по умолчанию будет "сообщения". В зависимости от стратегии перевода исходный ключ будет другим, если вы получите ключ, вы можете перевести соответствующую метку как любой другой перевод из платформы Symfony с помощью файлов xliff или yaml.

 4
Author: rande, 2013-07-25 09:21:19

Это работает точно так же:

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
        ->add('id', null, array('label' => 'ID'))
        ->add('username', null, array('label' => 'Логин'))
    ;
}

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
        ->addIdentifier('id', null, array('label' => 'ID'))
        ->addIdentifier('username', null, array('label' => 'Логин'))
    ;
}

Вы можете увидеть результат здесь: http://joxi.ru/V57lUdg5CbCqHxR9UwY

Переопределение файла xliff дает вам перевод стандартных элементов пользовательского интерфейса, а не меток сущностей.

 2
Author: Hast, 2013-07-16 19:26:19