Мне поручено включить разные языки в Openstack Horizon.
Я работаю над страницей горизонта, построенной поверх стека разработчиков. Страница Horizon взята отсюда: https://github.com/openstack/horizon. Я хочу включить перевод на разные языки в Horizon.
Я пытался следовать этой документации: https://docs.openstack.org/horizon/latest/contributor/topics/translation.html
Это пример моего кода, я пытаюсь перевести эту фразу: «Доступ к API», найденную в панели на главной странице: Перед редактированием кода я увидел, что есть соответствующее переведенное сообщение в 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 Access):
from django.utils.translation import pgettext
import horizon
class ApiAccess(horizon.Panel):
name = pgettext("API Access","API Access")
slug = 'api_access'
Во-вторых, я запустил tox -e manage -- extract_messages в основной папке openstack/horizon.
В-третьих, я запустил tox -e manage -- update_catalog в основной папке openstack/horizon.
После того, как я запустил его, это следующее ключевое слово 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 ""
Благодарен всем, кто может помочь мне решить эту проблему с переводом.