[英]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.