首页 > 解决方案 > 如何向 SULU CMS(系统语言)添加另一个本地化?

问题描述

我需要添加“ru”内容本地化。所以我改变了以下片段:

<localizations>
    <localization language="ru" default="true"/>
</localizations>

然后我运行以下命令:

php bin/adminconsole sulu:document:initialize

之后,我将config/templates/pages目录内所有 xml 文件中的“lang”属性的所有值从“en”替换为“ru”。

但是管理界面中的所有页面现在都有空标签。

我尝试将联系人权限选项卡中“系统语言”字段的值更改为“英语”。我还恢复了 config/templates/pages 目录中的所有 xml 文件(从“ru”到“en”)。从而显示这些字段。

那么如何在“系统语言”字段中添加俄语本地化来解决我的问题?

在此处输入图像描述

标签: symfonysulu

解决方案


Sulu 核心开发人员在这里

您添加的是另一种内容语言,它描述了页面、媒体、文章等可以翻译的语言。这些语言也出现在顶部工具栏最右侧的下拉列表中。

但是,这种语言仅与内容管理器填写到字段中的值有关。所有出现在 UI 中的标签、导航项和其他文本都是根据用户的系统语言显示的。每个用户都可以在配置文件叠加层中选择他们的系统语言,当在左侧导航中单击用户名时会显示该系统语言。

用户的系统语言

因此,为了查看ru您添加到页面 XML 文件的标题,用户需要选择ru语言。

不幸的是,Sulu 默认不存在这种语言。所以你可以做的是使用config/packages/sulu_admin.yaml.

sulu_core:
    locales:
        en: English
        de: Deutsch
        ru: Russian
    translations:
        - en
        - de
        - ru

sulu:admin:download-language之后,您可以使用以下命令下载语言:

bin/console sulu:admin:download-language ru

这将尝试从我们的Crowdin Project下载俄语,这是一个众包翻译平台。但我很遗憾地说,那里还没有俄语翻译。如果您想贡献它,请告诉我们,我们将创建俄语,以便您开始翻译它。

如果你真的只是想在标签中添加俄语标题,你仍然可以像上面那样编写 YAML 配置,当用户选择俄语作为他们的系统语言时,你会看到它们。在这种情况下,所有其他文本都将回退到英语。


推荐阅读