如何向 SULU CMS(系统语言)添加另一种本地化?

Оле*_*аев 1 symfony sulu

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

<localizations>
    <localization language="ru" default="true"/>
</localizations>
Run Code Online (Sandbox Code Playgroud)

然后我运行了以下命令:

php bin/adminconsole sulu:document:initialize
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

在此输入图像描述

Dan*_*ter 5

Sulu 核心开发人员在这里

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

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

用户的系统语言

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

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

sulu_core:
    locales:
        en: English
        de: Deutsch
        ru: Russian
    translations:
        - en
        - de
        - ru
Run Code Online (Sandbox Code Playgroud)

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

sulu_core:
    locales:
        en: English
        de: Deutsch
        ru: Russian
    translations:
        - en
        - de
        - ru
Run Code Online (Sandbox Code Playgroud)

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

如果您确实只想将俄语标题添加到标签中,您仍然可以按照上面的方式编写 YAML 配置,当用户选择俄语作为系统语言时,您将看到它们。在这种情况下,所有其他文本将回退为英文。