2013-07-05 3 views
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 배열이 포함되어야합니다.

번역 도메인을 수정해도 아무런 효과가 없습니다.

내가 뭘 잘못하고 있니? 서비스 정의에 sonata.admin.label.strategy.underscore :

+0

SonataUserBundle는 이미 번역되었습니다. 매개 변수 및 config 파일에서 로켈을 변경 했습니까? – Picoss

+0

로케일은 이미 프랑스어로 설정되어 있으며, 다른 관리자는 잘 작동합니다. 사실 거기에는 UserAdmin 부분 만 있습니다 (랩핑 SonataAdmin은 프랑스어로되어 있습니다). 내 관리 서비스가 뭔가를 놓칠 것 같아. –

답변

4

당신은 label_translator_strategy를 추가해야 나는 새로운 프로젝트에 테스트 한

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]] 

, 그리고 그것을 잘 작동합니다.

+0

감사합니다. –