问题描述
我的任务是在 Openstack Horizon 中启用不同的语言。
我正在开发一个构建在开发堆栈之上的地平线页面。 Horizon 页面从这里拉出:https://github.com/openstack/horizon。 我想在 Horizon 中启用不同语言的翻译。
我尝试遵循此文档: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/horizon 文件夹中运行 tox -e manage --extract_messages
第三,我在主 openstack/horizon 文件夹中运行 tox -e manage -- update_catalog
运行后,下面的关键字“API Access”仍未翻译。 (即我启动了horizon,进入设置,将语言更改为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 ""
感谢任何能帮助我解决这个翻译问题的人。
解决方法
没关系,我设法通过切换到干净的分支并按照文档进行修复!