Переводы
Переводы умножают влияние, которое может оказать Elgg, делая его доступным для большего процента населения мира.
Сообщество всегда будет благодарно тем из вас, кто усердно работает над предоставлением высококачественных переводов для интерфейса и документации Elgg.
Transifex
Все переводы для проекта Elgg организованы через Transifex.
https://www.transifex.com/organization/elgg
Авторы плагинов также поощряются к координации переводов через Transifex, чтобы всё сообщество могло объединиться и сделать действительно лёгким для переводчиков вклад в любой плагин в экосистеме Elgg.
Получение переводов
Переводы, сделанные в Transifex, необходимо периодически получать в репозиторий кода Elgg. Это можно сделать с помощью скрипта .scripts/languages.php, входящего в исходный код Elgg.
- Предварительные требования для запуска скрипта:
Доступ к командной строке
- Скрипт выполнит следующие шаги:
Создать новую ветку git с именем
{branch}_i18n_{timestamp}Получить переводы для всех языков, у которых переведено 95% строк
Удалить возможные недопустимые коды языков
Закоммитить изменения в ветку
После этого вы должны отправить ветку на GitHub и создать новый запрос на слияние.
Например, если вы хотите получить переводы для ветки 3.x, выполните следующие команды:
php .scripts/languages.php 3.x
git push -u your_fork 3.x_i18n_1515151617
Запустите команду без параметров для получения более подробной информации об использовании.
Конфигурация Transifex
Конфигурацию для Transifex можно найти в исходном коде Elgg в файле .tx/config.
- Этот файл определяет:
Проект Transifex, связанный с мажорной версией Elgg
Расположение всех файлов, содержащих переводимый контент
Прочтите документацию Transifex для получения более подробной информации.
Новая мажорная версия Elgg
Каждая мажорная версия Elgg должна иметь свой собственный проект в Transifex. Таким образом мы можем убедиться, что строки, добавленные и удалённые между версиями, не конфликтуют друг с другом. Например, ключ перевода, удалённый в Elgg 3, не должен удаляться из переводов, сделанных для Elgg 2. Соответственно, новая строка, добавленная только в Elgg 3, не должна включаться в переводы, предназначенные для Elgg 2.
Процесс настройки новой мажорной версии:
Получить последние переводы из Transifex для предыдущей мажорной версии
Слить ветку git предыдущей версии с новой, чтобы убедиться, что все последние ключи перевода присутствуют
Создать новый проект Transifex на https://app.transifex.com/elgg/
Обновить файл
.tx/configв ветке разработки новой мажорной версии
Обновить конфигурацию для указания на новый проект Transifex
Удалить конфигурацию удалённых плагинов
Добавить конфигурацию для новых плагинов
Отправить исходные файлы переводов в новый проект Transifex с помощью команды:
tx push -s -fВременно скопируйте новый конфигурационный файл (не коммитьте) в предыдущую мажорную версию и отправьте существующие переводы из него в новый проект:
tx push -t -a --skip
Позже, после создания выделенной ветки (например, 3.x) для мажорной версии, настройте Transifex для автоматического получения новых ключей перевода из неё на странице https://app.transifex.com/elgg/elgg-core-3/content/. Таким образом вам не придётся повторять шаг 5 вручную каждый раз при добавлении новых ключей перевода.
Важно всегда иметь ветку n.x помимо веток, предназначенных для конкретных минорных версий (n.1, n.2 и т.д.). Таким образом URL-адреса источников автообновления не придётся обновлять каждый раз при создании новой минорной ветки.