Это очень краткое руководство для начала работы.

Как переводить веб-сайт

Перевод веб-сайта выполняется в файлах .po. До сих пор самый простой способ перевода веб-сайта - получить аккаунт на Transifex и присоединиться к команде переводчиков. Или можно переводить "по старинке", как описано ниже.

  1. Подготовка
    1. Зайдите на #i2p-dev в IRC и поговорите с людьми. Запросите язык - Чтобы бы уверенными, что ваши соратники не затрут файлы, над которыми вы работаете, пожалуйста, обновляйте статус перевода на этой wiki-страничке.
    2. Следуйте руководству нового разработчика, включая перевод monotone, извлеките ветку i2p.www и сгенерируйте ваши собственные ключи monotone. Вам не требуется подписывать соглашение разработчика.
  2. Создайте файлы: Если файла для вашего языка еще нет:
    1. Выполните "./extract-messages.sh", чтобы сгенерировать messages.pot в основной директории. Отредактируйте заголовок файла, затем выполните "./init-new-po.sh locale" чтобы сгенерировать файл i2p2www/translations/locale/LC_MESSAGES/messages.po. "mtn add" этот файл.
    2. Отредактируйте i2p2www/pages/global/lang.html и добавьте строку для вашего языка (скопируйте какую-нибудь строку).
    3. Добавьте файл с изображением флага в i2p2www/static/images/flags/ для меню (скопируйте из маршрутизатора).
  3. Отредактируйте файлы: Отредактируйте i2p2www/translations/locale/LC_MESSAGES/messages.po. Чтобы эффективно работать с файлами .po, возможно, вы захотите использовать POEdit
  4. Разместите: "mtn pull", "mtn update". Затем выполните размещение "mtn ci -k yourname@mail.i2p file1 file2 ..." Так вы соберете информацию по различиям в измененных вами файлах по вашему локальному репозиторию. Затем "mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p i2p.i2p". Так вы синхронизируете ваш локальный репозиторий с репозиторием на целевом компьютере.
  5. Повторите. Размещайте чаще. Не ждите пока оно станет совершенным.

Как Переводить Консоль Маршрутизатора

До сих пор самый простой способ перевода консоли маршрутизатора - получить аккаунт на Transifex и присоединиться к команде переводчиков. Или можно переводить "по старинке", как описано ниже.

  1. Подготовка
    1. Зайдите на #i2p-dev в IRC и поговорите с людьми. Запросите язык - Чтобы бы уверенными, что ваши соратники не затрут файлы, над которыми вы работаете, пожалуйста, обновляйте статус перевода на этой wiki-страничке.
    2. Следуйте руководству нового разработчика, включая установку monotone and средств gettext, извлеките ветку i2p.i2p и сгенерируйте свои собственные ключи monotone.
    3. Сгенерируйте ваш собственный gpg ключ и подпишите соглашение разработчика.
  2. До начала перевода консоли маршрутизатора помогите перевести несколько веб-страниц i2p. Хотя бы домашнюю страницу i2p на ваш язык, это было бы здорово.
  3. Что переводить: Есть около 15 файлов в ветке i2p.i2p, которые нужно перевести:
    • installer/resources/readme/readme_xx.html
    • installer/resources/initialNews/initialNews_xx.xml
    • apps/routerconsole/locale/messages_xx.po
    • installer/resources/proxy/*_xx.ht (about 9 files)
    • apps/routerconsole/jsp/help_xx.jsp
    • installer/resources/I2P Site.help/help/index_xx.html
    • apps/i2ptunnel/locale/messages_xx.po
    • apps/i2psnark/locale/messages_xx.po
    • apps/susidns/locale/messages_xx.po
    Где xx - это код вашего языка, как fr/de/ch/zh/... Файл с кодом вашего языка может быть, может, и нет. Если его нет, вы можете его создать, скопировав файл другого известного вам языка и переименовав его в код вашего языка.
  4. Создайте файлы: Если файла для вашего языка еще нет, скопируйте файл другого языка в новый файл foo_xx.bar для вашего языка. Затем "mtn add" файл. После создания файла .po, отредактируйте заголовки. Затем выполните "ant distclean poupdate".
  5. Начните работу: Отредактируйте файлы HTML в любом текстовом редакторе. Не нужно использовать редакторы в режиме HTML, которые отформатируют весь текст. Для более эффективной работы с файлами .po, вы, возможно, захотите использовать POEdit
  6. Разместите: "mtn pull", "mtn update". Затем выполните размещение "mtn ci -k yourname@mail.i2p file1 file2 ..." Так вы соберете информацию по различиям в измененных вами файлах по вашему локальному репозиторию. Затем "mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p i2p.i2p". Так вы синхронизируете ваш локальный репозиторий с репозиторием на целевом компьютере.
  7. Повторите. Размещайте чаще. Не ждите пока оно станет совершенным.

Как вы видите, это не так сложно. Если у вас есть вопросы на счет значения терминов в консоли, спросите в #i2p-dev в IRC.

FAQ

В: Зачем мне нужно устанавливать monotone, Java, jsp, знать о файлах .po и html и т.д.? Почему я не могу просто переводить и отправлять все вам на почту?

О: Несколько причин:

  • Возможно, вы заинтересуетесь переводом через Transifex. Присоединитесь к команде переводчиков тут.
  • У нас нет людей, у которых есть время для приема помощи вручную и размещения в системе контроля версий от вашего имени. Даже если бы и были, это плохо масштабируется.
  • Может, вы думаете, что перевод это одношаговый процесс. Это не так. Вы не сможете выполнить его за один раз. Вы будете совершать ошибки. Вам нужно его протестировать и сделать его верным до того, как вы его утвердите. Разработчики обновляют или добавляют Английский текст, поэтому требуется обновление перевода.
  • Наличие переводчиков, использующих систему контроля версий, увязано с аутентификацией и отчетностью - мы знаем, кто что делает, и мы можем отследить изменения, и отменить их в случае необходимости.
  • в файлах .po нет ничего сложного. Если вы не хотите работать непосредственно с ними, мы рекомендуем 'poedit'.
  • В файлах HTML нет ничего сложного. Просто игнорируйте все тэги и переводите текст.
  • Установка и использование monotone не так сложны. Несколько переводчиков и других помощников I2P не являются программистами и они регулярно используют monotone. Monotone - это просто система контроля версий, в нем нет ничего "программистского".
  • Наша единица перевода - это не "документ". Это файлы html и .po, в определенном формате и с кодировкой символов (UTF-8), это нужно поддерживать и не поломать при отправке по почте или другими методами передачи.
  • Мы рассматриваем 'pootle' в качестве фронт-энда для переводчиков. Он работает не так, как нужно, нуждается в администрировании, и pootle-подобный процесс страдает от ряда вышеописанных недостатков.

В итоге: Да, мы знаем, что у начинающих есть преграды. Это действительно единственный способ. Попробуйте, это на самом деле не так сложно.

Больше информации

Канал #i2p-dev в IRC, или форум перевода на zzz.i2p.