14

我已经开始使用奏鸣曲管理包。它非常方便且易于设置和使用,但我似乎无法为默认标签修复翻译

例如,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 }

这是我的配置文件,这些是文档提供的基本默认设置。我在这里缺少什么来启用默认视图参数的标签?谁能帮忙

4

2 回答 2

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

我使用该配置,一切正常!

于 2013-03-18T12:44:47.100 回答
10

扩展上面@mkjasinski 的评论,Symfony 翻译组件希望_locale在请求中找到一个属性。如果缺少此选项,或者找不到指定语言环境的翻译,则使用备用值。然而,这个后备值默认也是空白的,因此看到的是翻译标签而不是文本。

要解决此问题,请通过将以下内容添加到以下内容来设置默认翻译语言环境config.yml

framework:
  #...
  translator:
    fallback: %locale%
于 2014-09-10T11:41:48.277 回答