symfony - 如何向 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”)。从而显示这些字段。
那么如何在“系统语言”字段中添加俄语本地化来解决我的问题?
解决方案
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 配置,当用户选择俄语作为他们的系统语言时,你会看到它们。在这种情况下,所有其他文本都将回退到英语。
推荐阅读
- jquery - 如何在一页上使用多个Tabbar
- c++ - 使用 createComponent 动态创建 QML 对象
- python - 如何加快python执行速度?多处理不起作用
- java - Java 详细 GC 日志配置 - 未创建文件
- javascript - ipcRenderer.send 和 sendSync 从 preload 到 main 不起作用
- android - 如何在安装在 vmware 中的 android 设备中运行或测试我的 ionic 应用程序
- flutter - 在 Xcode 中构建应用程序时出现 Flutter pods 错误
- firebase - 如果我选择使用我当前的测试数据库启动我的应用程序?
- javascript - scrollIntoView() 不适用于有角度的材料 Mat-Menu-Item
- javascript - 使用 ReactJS 时如何获取 div 的宽度?