[ English | English (United Kingdom) | 한국어 (대한민국) | 中文 (简体, 中国) | Deutsch | Indonesia | 日本語 | русский ]
Как проверять переводы¶
It is important to validate your translations by applying them in a real situation where they are rendered and visualized. This page describes how to check your translations.
Примечание
translation check
refers to build OpenStack artifacts with translated
strings and check how the translated strings are shown on an actual screen
as part of the translation process.
Документация¶
Translated documents are available at the OpenStack Documentation site. It is updated daily. Most contents are linked from:
https://docs.openstack.org/<lang> contains released documents. Follow «Languages» in https://docs.openstack.org/.
The documents are maintained in the doc
directory using reStructuredText and built by Sphinx. Translated strings are stored as Gettext PO
file format
in locale/<lang>/LC_MESSAGES
directory.
Documents on openstack-manuals¶
For OpenStack documentation, openstack-manuals git repository hosts essential OpenStack documents such as Installation Guide, and Virtual Machine Image Guide.
To build a translated document on this repository, you need to update the file
doc-tools-check-languages.conf
in each repository, and
add an entry to BOOKS
like ["ja"]="install-guide"
.
Для документов в стабильной ветке, например для руководства по установке Liberty, вам потребуется обновить файл doc-tools-check-languages.conf
непосредственно в нужной вам ветке.
You can check a generated document for a specified branch on
https://docs.openstack.org/<branch>/<language>/<document>
.
For example, the link of Japanese Ubuntu Installation Guide for Liberty is
https://docs.openstack.org/liberty/ja/install-guide-ubuntu/.
Чтобы добавить ссылку на сгенерированный документ, вам нужно будет обновить файл www/<lang>/index.html
в master
ветке репозитория openstack-manuals
. Обратите внимание, что веб странички публикуются из ветки master
, которая содержит страницы для всех релизов, например, для Liberty. Таким образом, вам нет необходимости обновлять файл www/<lang>/index.html
в стабильной ветке.
Так же вы можете посмотреть информацию по следующим ссылкам:
OpenStack project documentation¶
Currently, we support translations for small set of OpenStack project
documentations like Horizon, OpenStack-Ansible, and OpenStack-Helm upon
requests and available bandwidth. Top-level directory structure on
doc/source/
follows with Documentation Contributor Guide - Project guide
setup and
the corresponding generated documents for master
branch are available at
https://docs.openstack.org/<project>/latest/<language>/<document>
URL.
For project team documents in stable branch, you can check the documents with
https://docs.openstack.org/<project>/<branch>/<language>/<document>
URL.
Here are sample document links as examples:
Панель управления OpenStack¶
Работа с OpenStack-Ansible¶
Проект OpenStack-Ansible (OSA) предоставляет плейбуки и роли Ansible для развёртывания и настройки сред OpenStack. Как часть этого проекта был разработан сервис «Сайт проверки переводов» («Translation Check Site»). Инстанс OSA загружает полежащие переводу строки платформы переводов, компилирует их, и делает их доступными для просмотра в Horizon. Для запуска OSA вам понадобится компьютер с двумя или четырьмя процессорными ядрами, как минимум 8ГБ оперативной памяти, и жёстким диском на 70ГБ.
$ BRANCH=master
$ git clone -b ${BRANCH} https://github.com/openstack/openstack-ansible /opt/openstack-ansible
$ cd /opt/openstack-ansible
$ ./scripts/gate-check-commit.sh translations
Вы можете настроить компоненты вашей инсталляции AIO в файле tests/vars/bootstrap-aio-vars.yml
. В зависимости от среды, инсталляция займёт 1-2 часа. Дополнительную информацию о настройке AIO вы можете посмотреть в Документации OSA AIO.
Для регулярного обновления переведённых файлов, запускайте эту команду вручную, или через cron:
$ cd /opt/openstack-ansible/playbooks; \
openstack-ansible os-horizon-install.yml \
-e horizon_translations_update=True \
-e horizon_translations_project_version=master \
--tags "horizon-config"
Запуск DevStack¶
Другим удобным способом проверить перевод панелей управления - это запустить DevStack в вашей локальной среде. Чтобы запустить DevStack, вам нужно будет подготовить файл local.conf
, что сделать совсем не сложно. Несколько разных файлов local.conf
можно найти в Интернете, и минималистичный пример приведён ниже. По нашему опыту, для запуска DevStack вам понадобится компьютер с двумя или четырьмя процесорными ядрами, 8 ГБ оперативной памяти и 20 ГБ жёстким диском. Если вы запускаете только основные компоненты OpenStack, то компьютеру может быть достаточно 2~4 ГБ оперативной памяти.
$ BRANCH=master
$ git clone https://opendev.org/openstack/devstack.git
$ cd devstack
$ git checkout $BRANCH
<prepare local.conf>
$ ./stack.sh
<wait and wait... it takes 20 or 30 minutes>
Замените $BRANCH
именем нужной вам ветки, например master
, stable/newton
или stable/mitaka
.
Ниже приведён пример файла local.conf
для релиза Newton, в котором запускаются основные компоненты (keystone, nova, glance, neutron, cinder), horizon, swift и heat. Выбраны компоненты, которые поддерживаются основным кодом horizon.
[[local|localrc]]
BRANCH=stable/newton
# NOTE: We need to specify a branch explicitly until DevStack stable branch
# is prepared. At now, swift has no stable/newton branch.
CINDER_BRANCH=$BRANCH
GLANCE_BRANCH=$BRANCH
HEAT_BRANCH=$BRANCH
HORIZON_BRANCH=$BRANCH
KEYSTONE_BRANCH=$BRANCH
NEUTRON_BRANCH=$BRANCH
NOVA_BRANCH=$BRANCH
SWIFT_BRANCH=master
# When OS_CLOUD envvar is set, DevStack will be confused.
unset OS_CLOUD
# Ensure to fetch the latest repository when rerunning DevStack
RECLONE=True
# Translation check site usually does not use tempest.
disable_service tempest
enable_service heat h-api h-api-cfn h-api-cw h-eng
enable_service s-proxy s-object s-container s-account
enable_plugin neutron https://git.openstack.org/openstack/neutron $BRANCH
enable_service q-qos
enable_plugin neutron-vpnaas https://git.openstack.org/openstack/neutron-vpnaas $BRANCH
LOGFILE=$DEST/logs/devstack.log
SCREEN_HARDSTATUS="%{= rw} %H %{= wk} %L=%-w%{= bw}%30L> %n%f %t*%{= wk}%+Lw%-17< %-=%{= gk} %y/%m /%d %c"
LOGDAYS=2
IDENTITY_API_VERSION=3
ADMIN_PASSWORD=change_me
MYSQL_PASSWORD=change_me
RABBIT_PASSWORD=change_me
SERVICE_PASSWORD=change_me
Импортируйте последние выполненные переводы¶
Переводы импортируются в репозитории проектов ежедневно, таким образом, в большинстве случаев, вам нет необходимости загружать переводы с Zanata вручную. Всё, что вам нужно сделать, так это загрузить свежий код панели управления Horizon.
Если у вас есть компьютер, на котором работает DevStack, то у вас есть два варианта действий.
Первый вариант - это обновлять только код панели управления Horizon. Нижеприведённый Shell скрипт загружает свежий код панели управления Horizon, выполняет компиляцию каталогов переводов, и перезагружает веб-сервер Apache httpd. Замените $BRANCH
названием нужной вам ветки, например, master
, stable/newton
или stable/mitaka
.
#!/bin/bash
# Target branch: master, stable/pike, ...
BRANCH=stable/pike
cd /opt/stack/horizon
# Remove stale compiled python files
find horizon -name '*.pyc' | xargs rm
find openstack_dashboard -name '*.pyc' | xargs rm
# Fetch the latest code from git
git checkout $BRANCH
git remote update origin
git merge origin/$BRANCH
python manage.py compilemessages
python manage.py collectstatic --noinput
python manage.py compress --force
sudo service apache2 reload
Другой способ - это перезапустить DevStack. Убедитесь, что вы включили параметр RECLONE=True
в ваш файл local.conf
до повторного запуска stack.sh
, и тогда DevStack загрузит свежий код панели управления Horizon и других проектов.
$ cd devstack
$ ./unstack.sh
<Ensure RECLONE=True in your local.conf>
$ ./stack.sh
<It takes 10 or 15 minutes>
CLI (интерфейс командной строки)¶
(будет обновлено позже)
Серверные проекты¶
(будет обновлено позже)