我已经开始使用sonata管理包了。它非常方便,易于设置和使用,但我似乎无法修改默认标签的翻译
例如link_add,link_list来了,而不是正确的英文标签。
#SonataAdmin
sonata_block:
default_contexts: [cms]
blocks:
sonata.admin.block.admin_list:
contexts: [admin]
sonata.block.service.text:
sonata.block.service.rss:
sonata_admin:
title: Sonata Project
title_logo: /bundles/sonataadmin/logo_title.png
templates:
# default global templates
layout: SonataAdminBundle::standard_layout.html.twig
ajax: SonataAdminBundle::ajax_layout.html.twig
# default actions templates, should extend a global templates
list: SonataAdminBundle:CRUD:list.html.twig
show: SonataAdminBundle:CRUD:show.html.twig
edit: SonataAdminBundle:CRUD:edit.html.twig
dashboard:
blocks:
# display a dashboard block
- { position: left, type: sonata.admin.block.admin_list }
这是我的配置文件,这些是文档提供的基本默认设置。我在这里缺少什么来为默认视图参数启用标签?任何人都可以帮忙
答案 0 :(得分:25)
用于翻译菜单和表单覆盖文件:SonataAdminBundle.[your_language].xliff
(内容来自:vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Resources/translations/SonataAdminBundle.[your_language].xliff
),将文件放入:
app/Resource/SonataAdminBundle/translations/
完整路径:
app/Resource/SonataAdminBundle/translations/SonataAdminBundle.[your_language].xliff
如果要翻译字段标签,则必须在捆绑中创建翻译文件,例如:
src/YourAlias/YourNameOfBundle/Resources/translations/YourAliasYourNameOfBundle.[your_language].xliff
如果您的Admin
班级在
src/YourAlias/YourNameOfBundle/Admin/YourClassAdmin.php
Sonata
使用FOSUserBundle
如果您想要更改用户模块的翻译,则必须在以下文件中隐藏文件:FOSUserBundle.[your_language].yml
:
app/Resource/FOSUSerBundle/translations/FOSUserBundle.[your_language].yml
类似于SonataUserBundle
我使用那个配置,一切正常!
答案 1 :(得分:10)
扩展@ mkjasinski上面的评论,Symfony Translation组件希望在请求中找到_locale
属性。如果缺少此选项,或者找不到指定语言环境的转换,则会使用回退值。但是,默认情况下,此回退值也为空,因此会查看翻译标签而不是文本。
要解决此问题,请通过将以下内容添加到config.yml
:
framework:
#...
translator:
fallback: %locale%