Serge: синхронизация строк локализации

Serge — это инструмент с открытым исходным кодом для автоматической синхронизации строк локализации между репозиторием и системой перевода. Он извлекает новые и измененные строки из файлов проекта, передает их на перевод, а готовые переводы возвращает в исходные файлы. Так разработчикам не приходится вручную готовить и пересылать файлы.

3 мин чтения

Как работает Serge

Serge работает как конвейер обработки файлов. Он следит за репозиторием, находит новые и измененные строки и разбирает файлы с помощью парсеров под нужный формат, например PO-файлы или XML. Затем строки передаются в систему перевода через плагин интеграции. Когда переводы подтверждены, Serge забирает их, собирает локализованные файлы с той же структурой, что и исходные, и возвращает в репозиторий.

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

Зачем нужен Serge

Главная задача Serge — убрать ручную работу из локализации по Git. Без автоматизации разработчики выгружают строки, конвертируют форматы, отправляют файлы и вручную возвращают результат. Это занимает время и приводит к ошибкам, особенно при частых релизах. Serge делает такой обмен непрерывным: обновленные ресурсы появляются в репозитории в течение минут, и сборки не падают из-за устаревших строк.

Отдельная ценность — работа с изменениями. Если исходный файл поменялся, пока предыдущая версия еще переводилась, Serge обрабатывает такие случаи самостоятельно, и инженерам не нужно вручную объединять правки. Кроме того, при повторном импорте обрабатываются только измененные строки.

Как подключить Serge к платформе перевода

Типичная схема включает несколько шагов. Сначала Serge устанавливается на сервер клиента и настраивается: указывается репозиторий, формат файлов, целевые языки и плагин для связи с платформой. Затем в проекте создаются документы для перевода. Дальше процесс идет автоматически: разработчики обновляют файлы, Serge извлекает строки и отправляет их на платформу, переводчики работают в редакторе, а готовый результат возвращается в репозиторий.

Платформа перевода поддерживает такую схему для непрерывной локализации программного обеспечения. Подробнее — на странице Платформы перевода.

Частые ошибки

Типичная проблема — запуск без проверки на тестовой ветке: сначала стоит убедиться, что цепочка «репозиторий — платформа — репозиторий» работает корректно, в том числе при создании и объединении веток. Другая ошибка — отсутствие идентификаторов строк и комментариев для переводчика, из-за чего непонятен контекст. Третья — разный формат файлов в разных ветках, который ломает разбор.

FAQ

Нужно ли открывать Платформе перевода доступ к репозиторию?

Нет. Serge работает на стороне клиента, а платформа получает только файлы с локализуемыми строками.

Какие форматы файлов он поддерживает?

Serge работает через парсеры разных форматов, в том числе PO. Конкретный набор зависит от конфигурации и установленных модулей.

Заменяет ли Serge систему перевода?

Нет. Он отвечает за обмен файлами и синхронизацию, а сам перевод выполняется на платформе.

Для каких проектов он подходит?

Для проектов, где локализуемые строки хранятся в системе контроля версий и релизы выходят часто.

Попробуйте на практике

Глоссарии, память переводов и контроль качества уже есть в Платформе перевода.