如何在 Openstack Horizo​​n 中启用其他语言的翻译?

问题描述

我的任务是在 Openstack Horizo​​n 中启用不同的语言。

我正在开发一个构建在开发堆栈之上的地平线页面。 Horizo​​n 页面从这里拉出:https://github.com/openstack/horizon。 我想在 Horizo​​n 中启用不同语言的翻译。

我尝试遵循此文档:https://docs.openstack.org/horizon/latest/contributor/topics/translation.html

这是我的代码示例,我正在尝试翻译主页面面板中的“API Access”: 在编辑代码之前,看到openstack_dashboard/locale/zh_CN/LC_MESSAGES/django.po中有对应的翻译信息:

msgid "API Access"
msgstr "访问API"

这就是我所做的:

首先,在 openstack_dashboard/dashboards/project/api_access/panel.py 中,我将 name = _("API Access") 编辑为 name=pgettext("API Access"," API 访问权限")

from django.utils.translation import pgettext
import horizon

class ApiAccess(horizon.Panel):
     name = pgettext("API Access","API Access")
     slug = 'api_access'

其次,我在主 openstack/horizo​​n 文件夹中运行 tox -e manage --extract_messages

第三,我在主 openstack/horizo​​n 文件夹中运行 tox -e manage -- update_catalog

运行后,下面的关键字“API Access”仍未翻译。 (即我启动了horizo​​n,进入设置,将语言更改为zh-cn。但是“API Access”这个词仍然是英文。)

不确定这是否有帮助: 在 openstack_dashboard/locale/Django.pot 中,我看到了这个:

#: openstack_dashboard.dashboards/project/api_access/panel.py:22
msgctxt "API Access"
msgid "API Access"
msgstr ""

感谢任何能帮助我解决这个翻译问题的人。

解决方法

没关系,我设法通过切换到干净的分支并按照文档进行修复!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...