rust_book_ru
rust_book_ru copied to clipboard
Интегрировать систему автоматизированного перевода
В чате неоднократно обсуждался вопрос использования системы автоматизированного перевода, но к сожалению все предложенные варианты не подходили по тем или иным причинам. Двумя основными проблемами является интеграция с GitHub и отслеживание изменений в оригинальной книге.
Предлагаю сформулировать требования к системе перевода и составить список систем, которые удовлетворяют их.
Приветствую!
Основные требования:
- [ ] Понимание системой статуса строк (не переведена/переведена)
- [ ] Возможность загружать туда Markdown файлы в том виде, как они есть в Rust by Example
- [ ] Понимание системой разницы между старой и новой версией переводимых файлов (отмечание, какие строки перестали быть актуальны)
- [ ] Возможность одобрять и отвергать перевод от участников проекта
- [ ] Синхронизация с GitHub. По крайней мере, должна уметь взять оттуда Markdown-файлы. Экспорт оттуда обратно на GitHub может быть ручной. В идеале же двусторонняя синхронизация.
Необязательное:
- [ ] Словарь перевода терминов
Weblate На мой взгляд не подходит. Отсутствует поддержка Markdown, заявлена косвенная поддержка текстовых файлов, но данная возможность не документирована. Использует иерархию "проект -> файл -> языки" , т.е. придётся создавать отдельную сущность для каждого файла. Нам бы больше подошла иерархия "проект -> язык -> файлы". Остальные возможности не тестировались.
@vessd спасибо за информацию
- Понимает статус строк (обрабатывает файлы построчно)
- Отсутствует поддержка Markdown, есть поддержка тестовых файлов.
- Понимает разницу между старой и новой версией
- Есть возможность одобрять и отвергать перевод от участников проекта (также можно назначать роли, детально не разбирался)
- Отсутствует синхронизация с GitHub
- Присутствует словарь перевода терминов (ещё ищет похожие фразы и предлагает перевод)
Из-за обработки файла построчно для комфортного перевода нужно будет каждый абзац помещать в одну строку. Синхронизация с GitHub также невозможно из-за отсутствия поддержки Markdown, он просто не даёт загрузить *.md файлы. Но у него есть API, преобразовывать .md в .txt и загружать их автоматически пока звучит не сложно. Правда я так и не смогу заставить их клиент на pythone загрузить .txt, только через браузер. Очень много битых ссылок на документацию. Вся документация находится здесь http://docs.zanata.org/en/release/
Pootle Отсутствует поддержка Markdown. Есть свой конвертор для преобразования файлов из txt в po. Судя по содержимому выходных файлов, он обрабатывает файл блоками, а не построчно, что является для нас плюсом. К сожалению остальной функционал протестировать не удалось. Процесс создания проекта перевода происходит в полуручном режиме и мне к сожалению не удалось в нём разобраться. Судя по документации процесс перевода рассчитан на то, что в проекте только один файл.
Предлагаю также оценить Transifex и CrowdIn.