【问题标题】:Labels in Sonata Admin BundleSonata 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 }

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

【问题讨论】:

    标签: php symfony sonata-admin


    【解决方案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%
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-03
      • 2016-04-20
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2017-05-18
      • 2016-04-24
      • 2013-04-24
      相关资源
      最近更新 更多