[英]Symfony - Sonata-Admin menu group translation
我在管理菜单中翻译组时遇到问题。 它翻译标签但不翻译组:
服务:sonata.admin.language:类:App\\Bundle\\LanguageBundle\\Admin\\LanguageAdmin 标签:-名称:sonata.admin manager_type:orm 组:“admin.menu.group.language” 标签:“admin.menu.group. item.languages”参数: - ~ - App\\Bundle\\LanguageBundle\\Entity\\Language - ~
sonata.admin.language_pair:
class: App\Bundle\LanguageBundle\Admin\LanguagePairAdmin
tags:
- name: sonata.admin
manager_type: orm
group: "admin.menu.group.language"
label: "admin.menu.group.item.language_pairs"
arguments:
- ~
- App\Bundle\LanguageBundle\Entity\LanguagePair
- ~
谁能帮忙???
当我添加
label_catalogue: "YourBundleName"
进入“标签”部分,它可以帮助我翻译组标签。
不幸的是,建议的答案对我不起作用:它仍然没有翻译。 这是我必须做的:
出于某种原因, label_catalogue: "messages" 甚至对 [setTranslationDomain, [messages]] 的调用都没有改变任何东西:Symfony 仍会在 SonataAdminBundle.en.yml(我使用 yml 文件)中寻找要翻译的字符串。
因此,在 app/Resources/translations/ 中创建一个文件 SonataAdminBundle.en.yml(或 xml,无论您使用哪个),并在其中添加您的组字符串:
admin: menu: group: language: Language
在 config.yml 中,在 Sonata_admin 下添加这些行:
sonata_admin: [...] dashboard: groups: admin.menu.group.language: ~
清除缓存。 重要的! 在我这样做之前,它以某种方式没有翻译它。
还可以使用 Symfony 翻译调试器来了解它在哪里寻找一些字符串。
希望这可以帮助!
菜单组标签使用 'SonataAdminBundle' 域进行翻译,但项目标签 - 使用 Admin 类中 $translationDomain 变量中定义的 'messages' 域或域。
对我来说,@Andrey 和 @Catalins 的组合回答成功了:
config/packages/sonata_admin.yaml
sonata_admin:
...
dashboard:
blocks:
-
position: left
type: sonata.admin.block.admin_list
groups:
app.admin.group.cms:
label: 'app.admin.group.cms'
label_catalogue: 'messages' # <--- this is not the bundle name, but the "translation domain" / filename of the translation file
items:
- app.admin.page
roles: ['ROLE_ADMIN']
...
并在translations/messages.en.yml
:
app:
admin:
group:
cms: CMS
pages:
label: Pages
您可以添加一个“翻译”节点:
translation: YourBundle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.