Sonata Admin Bundle 中的标签
Posted
技术标签:
【中文标题】Sonata Admin Bundle 中的标签【英文标题】:Labels in Sonata Admin Bundle 【发布时间】:2013-03-06 18:46:54 【问题描述】:我已经开始使用奏鸣曲管理包。它非常方便且易于设置和使用,但我似乎无法为默认标签修复翻译
例如 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
这是我的配置文件,这些是文档提供的基本默认设置。我在这里缺少什么来启用默认视图参数的标签?谁能帮忙
【问题讨论】:
【参考方案1】:对于翻译菜单和表单覆盖文件: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
并且如果您想更改用户模块的翻译,您必须 ovverride 文件:FOSUserBundle.[your_language].yml
in:
app/Resource/FOSUSerBundle/translations/FOSUserBundle.[your_language].yml
同样适用于SonataUserBundle
我使用该配置,一切正常!
【讨论】:
但是如何从 sonata admin bundle 已经拥有的翻译文件中启用默认翻译。奏鸣曲捆绑生成的标签不起作用。他们正在显示默认的树枝参数。有什么建议吗? 在config.yml
: framework: # ... translator: fallback: %locale%
和paramaters: locale: [your_laguage]
在parameters.yml
。
感谢@mkjasinski 的帮助。谢谢
你好@mkjasinski,我覆盖了 app/Resource/SonataAdminBundle/translations/SonataAdminBundle.es.xliff 和关于面包屑的新翻译。这是我的代码,但不起作用:<trans-unit id="breadcrumb.link_categorias_list"> <source>breadcrumb.link_categorias_list</source> <target>Listado Categorias</target> </trans-unit>
你能帮帮我吗?
感谢@mkjasinski,我做到了,但我仍然出现类别列表,什么时候应该出现“Listado Categorias”【参考方案2】:
扩展上面@mkjasinski 的评论,Symfony 翻译组件期望在请求中找到_locale
属性。如果缺少此选项,或者找不到指定语言环境的翻译,则使用备用值。然而,这个后备值默认也是空白的,因此看到的是翻译标签而不是文本。
要解决此问题,请通过将以下内容添加到 config.yml
来设置 default translation locale:
framework:
#...
translator:
fallback: %locale%
【讨论】:
以上是关于Sonata Admin Bundle 中的标签的主要内容,如果未能解决你的问题,请参考以下文章
Sonata mongodb admin bundle filter by reference
Sonata Admin Bundle:如何将表单中的“删除”按钮添加到嵌套实体列表中的实体?
Sonata Admin Bundle + Sonata User Bundle:覆盖登录表单