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

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

Перевод веб-сайта выполняется в файлах .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/eepsite.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.