Переводы

Переводы умножают влияние, которое может оказать Elgg, делая его доступным для большего процента населения мира.

Сообщество всегда будет благодарно тем из вас, кто усердно работает над предоставлением высококачественных переводов для интерфейса и документации Elgg.

Transifex

Все переводы для проекта Elgg организованы через Transifex.

https://www.transifex.com/organization/elgg

Авторы плагинов также поощряются к координации переводов через Transifex, чтобы всё сообщество могло объединиться и сделать действительно лёгким для переводчиков вклад в любой плагин в экосистеме Elgg.

Получение переводов

Переводы, сделанные в Transifex, необходимо периодически получать в репозиторий кода Elgg. Это можно сделать с помощью скрипта .scripts/languages.php, входящего в исходный код Elgg.

Предварительные требования для запуска скрипта:
Скрипт выполнит следующие шаги:
  1. Создать новую ветку git с именем {branch}_i18n_{timestamp}

  2. Получить переводы для всех языков, у которых переведено 95% строк

  3. Удалить возможные недопустимые коды языков

  4. Закоммитить изменения в ветку

После этого вы должны отправить ветку на 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.

Процесс настройки новой мажорной версии:

  1. Получить последние переводы из Transifex для предыдущей мажорной версии

  2. Слить ветку git предыдущей версии с новой, чтобы убедиться, что все последние ключи перевода присутствуют

  3. Создать новый проект Transifex на https://app.transifex.com/elgg/

  4. Обновить файл .tx/config в ветке разработки новой мажорной версии

    • Обновить конфигурацию для указания на новый проект Transifex

    • Удалить конфигурацию удалённых плагинов

    • Добавить конфигурацию для новых плагинов

  5. Отправить исходные файлы переводов в новый проект Transifex с помощью команды:

    tx push -s -f
    
  6. Временно скопируйте новый конфигурационный файл (не коммитьте) в предыдущую мажорную версию и отправьте существующие переводы из него в новый проект:

    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-адреса источников автообновления не придётся обновлять каждый раз при создании новой минорной ветки.