Как включить перевод на другие языки в Openstack Horizon?

Мне поручено включить разные языки в 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 ""

Благодарен всем, кто может помочь мне решить эту проблему с переводом.


person siri    schedule 21.01.2021    source источник


Ответы (1)


Ничего, мне удалось исправить это, переключившись на чистую ветку и просто следуя документации!

person siri    schedule 26.01.2021