Скрипт для разделения текущих переводов openedu на те, что уже есть в edx, и на собственные дополнения и перезаписи.
Требует polib
.
В папках собраны текущие .po файлы edx и текущие npoed переводы. Для прокторинга также добавлен фрагмент из platform/django.po, т.к. у нас там часть переводов. Раздел Использование. не обязателен: можно перейти сразу к Добавление в edx.
python transform_translations.py separate
Разделяет старые переводы и складывает их в папку
collected/
виде файлов*_add
и*_over
для каждого приложения. Можно посмотреть over файлы и решить, нужны ли такие перезаписи.python transform_translations.py compile
Создает общий файл переводов django(js).po в
collected/
. Предупреждает о наличии неуникальных msgid. Если есть предупреждения - их необходимо исправить до использования в edx, иначе edx выдаст ошибку при компиляции .po файлов. Перед вызовом можно добавить вcollected/
другие .po файлы переводов, они будут добавлены в общий файл переводов.(Опционально)
python transform_translations.py fixИсправляет файлы
django(js).po
: делает неуникальные msgid уникальными, выбрасывая все значения, кроме одного (произвольного).
В репозитории хранятся старые файлы переводов (в папке data
) и они же в новой форме в папке collected
. Если необходимо добавить дополнительные переводы, нужно добавить их .po файлы в collected
, вызвать python transform_translations.py compile
. См Использование.
1. В /edx/app/edxapp/edx-platform выполняем git clone репозитория 3. Добавляем путь до "npoed_translations" в LOCALE_PATHS первым:
LOCALE_PATHS = (REPO_ROOT + "/npoed_translations", ) + LOCALE_PATHS
- (Опционально, т.к. переводы уже собраны)Вызываем
python manage.py lms compilemessages --settings=ENV
. В выводе команды отображаются все файлы, которые были использованы для составления переводов, смотрим, что там есть наша папка. - (Опционально, т.к. djangojs.js уже собраны в edx-platform)Вызываем
python manage.py lms compilejsi18n --settings=ENV
. Повторяем команду для cms (т.к. два одинаковых djangojs.js храятся для lms и cms).