rust_book_ru icon indicating copy to clipboard operation
rust_book_ru copied to clipboard

Интегрировать систему автоматизированного перевода

Open vessd opened this issue 8 years ago • 6 comments

В чате неоднократно обсуждался вопрос использования системы автоматизированного перевода, но к сожалению все предложенные варианты не подходили по тем или иным причинам. Двумя основными проблемами является интеграция с GitHub и отслеживание изменений в оригинальной книге.

Предлагаю сформулировать требования к системе перевода и составить список систем, которые удовлетворяют их.

vessd avatar Feb 02 '17 17:02 vessd

Приветствую!

Основные требования:

  • [ ] Понимание системой статуса строк (не переведена/переведена)
  • [ ] Возможность загружать туда Markdown файлы в том виде, как они есть в Rust by Example
  • [ ] Понимание системой разницы между старой и новой версией переводимых файлов (отмечание, какие строки перестали быть актуальны)
  • [ ] Возможность одобрять и отвергать перевод от участников проекта
  • [ ] Синхронизация с GitHub. По крайней мере, должна уметь взять оттуда Markdown-файлы. Экспорт оттуда обратно на GitHub может быть ручной. В идеале же двусторонняя синхронизация.

Необязательное:

  • [ ] Словарь перевода терминов

mkpankov avatar Feb 04 '17 16:02 mkpankov

Weblate На мой взгляд не подходит. Отсутствует поддержка Markdown, заявлена косвенная поддержка текстовых файлов, но данная возможность не документирована. Использует иерархию "проект -> файл -> языки" , т.е. придётся создавать отдельную сущность для каждого файла. Нам бы больше подошла иерархия "проект -> язык -> файлы". Остальные возможности не тестировались.

vessd avatar Feb 10 '17 16:02 vessd

@vessd спасибо за информацию

mkpankov avatar Feb 10 '17 21:02 mkpankov

Zanata

  • Понимает статус строк (обрабатывает файлы построчно)
  • Отсутствует поддержка Markdown, есть поддержка тестовых файлов.
  • Понимает разницу между старой и новой версией
  • Есть возможность одобрять и отвергать перевод от участников проекта (также можно назначать роли, детально не разбирался)
  • Отсутствует синхронизация с GitHub
  • Присутствует словарь перевода терминов (ещё ищет похожие фразы и предлагает перевод)

Из-за обработки файла построчно для комфортного перевода нужно будет каждый абзац помещать в одну строку. Синхронизация с GitHub также невозможно из-за отсутствия поддержки Markdown, он просто не даёт загрузить *.md файлы. Но у него есть API, преобразовывать .md в .txt и загружать их автоматически пока звучит не сложно. Правда я так и не смогу заставить их клиент на pythone загрузить .txt, только через браузер. Очень много битых ссылок на документацию. Вся документация находится здесь http://docs.zanata.org/en/release/

vessd avatar Feb 11 '17 09:02 vessd

Pootle Отсутствует поддержка Markdown. Есть свой конвертор для преобразования файлов из txt в po. Судя по содержимому выходных файлов, он обрабатывает файл блоками, а не построчно, что является для нас плюсом. К сожалению остальной функционал протестировать не удалось. Процесс создания проекта перевода происходит в полуручном режиме и мне к сожалению не удалось в нём разобраться. Судя по документации процесс перевода рассчитан на то, что в проекте только один файл.

vessd avatar Feb 14 '17 18:02 vessd

Предлагаю также оценить Transifex и CrowdIn.

mkpankov avatar Feb 15 '17 09:02 mkpankov