[ 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:

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 (интерфейс командной строки)

(будет обновлено позже)

Серверные проекты

(будет обновлено позже)