2

我已经扩展了 SonataUserBundle,我正在尝试将法语翻译放入其中。

这是我的管理服务定义:

sonata.admin.user:
    class: Application\Sonata\UserBundle\Admin\Entity\UserAdmin
    tags:
        - { name: sonata.admin, manager_type: orm, group: user, label: users }
    arguments:
        - null
        - Application\Sonata\UserBundle\Entity\User
        - SonataAdminBundle:CRUD
    calls:
        - [setTranslationDomain, [SonataUserBundle]]
        - [setUserManager, [@fos_user.user_manager]]
        - [setSecurityContext, [@security.context]]

如您所见,翻译域设置为SonataUserBundle.

我已经设置了一些标签src/Application/Sonata/UserBundle/Resources/translations/SonataUserBundle.fr.yml

#...
list:
    label_firstname: Prénom
    label_username: Nom d'utilisateur
#...

但他们没有考虑到(缓存清除)

但是,如果我删除此文件,它会侮辱我

文件“.../src/Application/Sonata/UserBundle/Resources/translations/SonataUserBundle.fr.yml”必须包含一个 YAML 数组。

修改翻译域完全没有效果。

我究竟做错了什么 ?

4

1 回答 1

4

您已在服务定义中添加 label_translator_strategy: sonata.admin.label.strategy.underscore:

  sonata.admin.user:
    class: Application\Sonata\UserBundle\Admin\TestAdmin
    tags:
        - { name: sonata.admin, manager_type: orm, group: users, label: users, label_translator_strategy: sonata.admin.label.strategy.underscore }
    arguments:
        - null
        - Application\Sonata\UserBundle\Entity\User
        - SonataAdminBundle:CRUD
    calls:
        - [setTranslationDomain, [SonataUserBundle]]
        - [setUserManager, [@fos_user.user_manager]]
        - [setSecurityContext, [@security.context]]

我已经在一个新项目中进行了测试,它工作正常。

于 2013-07-05T10:51:05.503 回答