Как работает Serge
Serge работает как конвейер обработки файлов. Он следит за репозиторием, находит новые и измененные строки и разбирает файлы с помощью парсеров под нужный формат, например PO-файлы или XML. Затем строки передаются в систему перевода через плагин интеграции. Когда переводы подтверждены, Serge забирает их, собирает локализованные файлы с той же структурой, что и исходные, и возвращает в репозиторий.
Инструмент хранит собственную базу переводов и запускается на стороне клиента, на его серверах. Поэтому система перевода не получает доступ к закрытым репозиториям: на платформу попадают только файлы с локализуемыми строками.
Зачем нужен Serge
Главная задача Serge — убрать ручную работу из локализации по Git. Без автоматизации разработчики выгружают строки, конвертируют форматы, отправляют файлы и вручную возвращают результат. Это занимает время и приводит к ошибкам, особенно при частых релизах. Serge делает такой обмен непрерывным: обновленные ресурсы появляются в репозитории в течение минут, и сборки не падают из-за устаревших строк.
Отдельная ценность — работа с изменениями. Если исходный файл поменялся, пока предыдущая версия еще переводилась, Serge обрабатывает такие случаи самостоятельно, и инженерам не нужно вручную объединять правки. Кроме того, при повторном импорте обрабатываются только измененные строки.
Как подключить Serge к платформе перевода
Типичная схема включает несколько шагов. Сначала Serge устанавливается на сервер клиента и настраивается: указывается репозиторий, формат файлов, целевые языки и плагин для связи с платформой. Затем в проекте создаются документы для перевода. Дальше процесс идет автоматически: разработчики обновляют файлы, Serge извлекает строки и отправляет их на платформу, переводчики работают в редакторе, а готовый результат возвращается в репозиторий.
Платформа перевода поддерживает такую схему для непрерывной локализации программного обеспечения. Подробнее — на странице Платформы перевода.
Частые ошибки
Типичная проблема — запуск без проверки на тестовой ветке: сначала стоит убедиться, что цепочка «репозиторий — платформа — репозиторий» работает корректно, в том числе при создании и объединении веток. Другая ошибка — отсутствие идентификаторов строк и комментариев для переводчика, из-за чего непонятен контекст. Третья — разный формат файлов в разных ветках, который ломает разбор.
FAQ
Нужно ли открывать Платформе перевода доступ к репозиторию?
Нет. Serge работает на стороне клиента, а платформа получает только файлы с локализуемыми строками.
Какие форматы файлов он поддерживает?
Serge работает через парсеры разных форматов, в том числе PO. Конкретный набор зависит от конфигурации и установленных модулей.
Заменяет ли Serge систему перевода?
Нет. Он отвечает за обмен файлами и синхронизацию, а сам перевод выполняется на платформе.
Для каких проектов он подходит?
Для проектов, где локализуемые строки хранятся в системе контроля версий и релизы выходят часто.