Как софтверные компании могут наладить непрерывную локализацию с помощью Smartcat и Serge: кейс Xsolla

Updated June 24, 2018
Kak softvernye kompanii mogut nastroit nepreryvnuyu lokalizatsiyu smartcat serge xsolla keys stadi - Smartcat blog
Smartcat covers all your language needs with AI translation, AI content generation and AI human workflows.

Непрерывная локализация позволяет разработчикам программного обеспечения локализовать свой контент без ущерба для процесса разработки. Вот как Xsolla добилась этого с помощью свободно доступных инструментов.

Вызов

Появление гибких методов разработки и веб-инструментов еще больше усложнило взаимоотношения между разработчиками и локализаторами. Если раньше новый контент появлялся раз в несколько месяцев, то теперь циклы выпуска могут составлять всего несколько недель. Каждый новый выпуск содержит новый контент, который необходимо локализовать в течение нескольких дней. Возьмем, к примеру, Xsolla, глобального дистрибьютора и издателя видеоигр, предоставляющего разработчикам инструменты для расширения потенциальной аудитории их игр. Компания имеет 8 ключевых продуктов, двухнедельный цикл выпуска и от 6 до 21 языка, на которые необходимо локализовать каждый продукт.

Компания исторически использовала различные онлайн-платформы для перевода, но во многих отношениях была ими недовольна. «Локализация нескольких новых строк на 20 языков требовала больше времени на управление проектом, чем на сам перевод», — говорит Наталья Павликова, инженер по локализации в Xsolla. По этой причине Xsolla начала искать альтернативное решение.

Наталья Павликова, инженер по локализации в Xsolla

Критерии

Xsolla хотела, чтобы новая платформа:

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

  2. Обеспечивала прозрачный и гибкий процесс локализации, а также

  3. Отправляла локализованный контент обратно в репозиторий кода.

Решением стала связка из двух бесплатных инструментов: Serge и Smartcat. Serge — string extraction and resource generation engine — это автономный инструмент, который обеспечивает непрерывную локализацию (см. выноску). Он автоматически собирает новый исходный материал, публикует его для перевода, получает готовые переводы и интегрирует их обратно в продукт. Serge — это проект с открытым исходным кодом, поддерживаемый Evernote. Smartcat, в свою очередь, — это платформа для перевода, на которой можно хранить проекты и переводческие памяти, находить переводчиков, назначать им документы и оплачивать их работу.

Непрерывная локализация: когда она нужна?

Непрерывная локализация лучше всего подходит для сценариев, в которых имеется большой объем контента, который постоянно обновляется, и/или в которых разработкой и локализацией занимаются разные команды. К таким случаям относятся:

  • Локализация программного обеспечения и видеоигр, в которых в каждой новой версии появляются новые строки.

  • Руководства пользователя и спецификации API, включая автоматически сгенерированные.

  • Веб-сайты и блоги, созданные с помощью генераторов статических сайтов.

  • Любые проекты, в которых создание контента вписывается в гибкую структуру.

В целом, если вы храните локализуемые строки в системе контроля версий, наиболее эффективным подходом будет непрерывная локализация. (А если вы этого не делаете, то стоит подумать об этом.) Использование унифицированного автоматизированного процесса локализации строк устраняет человеческие ошибки и значительно экономит время ваших сотрудников, освобождая его для более важных и творческих задач.

Решение

В случае Xsolla непрерывный рабочий процесс локализации выглядит следующим образом:

  1. Разработчики Xsolla обновляют файлы проекта в репозитории Git.

  2. Сергей постоянно отслеживает репозиторий в режиме реального времени и, при необходимости, извлекает строки из обновлений, создает из них файлы ресурсов PO и отправляет их в Smartcat.

  3. Менеджер по локализации Xsolla распределяет непереведенные строки между фрилансерами в своей команде.

  4. Фрилансеры переводят документы и помечают их как завершенные.

  5. Сергей берет локализованные строки, возвращает их в исходные файлы и отправляет в репозиторий Git Xsolla.

  6. Разработчики Xsolla публикуют релиз вместе с локализацией.

Почему Серж?

Smartcat сам по себе поддерживает различные форматы файлов. Так зачем же использовать Serge в качестве прокси между исходными файлами ресурсов и сервисом перевода?

«На первый взгляд Serge может показаться конвертером форматов файлов. Но это не так», — говорит Игорь Афанасьев, директор по локализации в Evernote и создатель Serge. «Serge — это гибкий конвейер обработки и синхронизации файлов, который можно настроить для различных рабочих процессов локализации, обеспечивая по-настоящему непрерывную интеграцию. Serge гарантирует, что локализованные файлы ресурсов имеют ту же структуру, что и исходные, и обрабатывает случаи, когда исходные файлы изменяются, а их старые версии все еще находятся в процессе перевода. Это избавляет инженеров от необходимости объединять изменения и разблокирует цикл разработки. В некотором смысле, с Serge инженеры чувствуют, что «процесса локализации» вообще нет». Еще одна важная особенность Serge — он поддерживает собственную базу данных переводов и работает на стороне клиента. Это означает, что Smartcat не нужно получать доступ к частным репозиториям Git Xsolla, а файлы переводов, которые Smartcat получает от Serge, — это исправленные файлы ресурсов, не содержащие конфиденциальной информации. Наконец, поскольку Serge работает локально на сервере Xsolla в режиме нон-стоп, он получает обновленные локализованные ресурсы в течение нескольких минут. Это гарантирует, что локализованные файлы всегда актуальны и сборки не завершаются сбоем из-за устаревших ресурсов.

Игорь Афанасьев, директор по локализации в Evernote

Результаты

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

«Теперь мы можем управлять нашими строками так же, как мы управляем нашим кодом, — говорит Максим Кунгурцев, фронтенд-разработчик Xsolla. — Мы можем создавать новые ветки, объединять их, откатывать назад — и при этом быть уверенными, что пакет Serge–Smartcat выполняет всю работу в фоновом режиме, чтобы локализовать строки для этой конкретной ветки в нашем репозитории. Работает как по волшебству!» Не менее важно, что возможности Smartcat по управлению командой позволяют легче обеспечить качество локализованного контента. «У нас уже есть сплоченная команда переводчиков в Smartcat, которые следят за тем, чтобы наш голос оставался последовательным во всем», — говорит Наталья. «А для наиболее важных материалов мы можем привлечь дополнительных лингвистов в качестве корректоров для тех же материалов».

Максим Кунгурцев, фронт-енд разработчик в Xsolla

Планы на будущее

Это был первый непрерывный проект локализации для Smartcat с Сергеем, и команда тесно сотрудничает как с Xsolla, так и с Игорем Афанасьевым. Xsolla с нетерпением ждет реализации многих вещей в будущем, таких как:

  • Назначение переводчиков в один клик,

  • Поддержка множественных меток,

  • Назначение редакторов для исходных текстов,

  • Более гибкие уведомления.

Но Smartcat настроен оптимистично. «Мы будем усердно работать над реализацией запросов Xsolla», — говорит Павел Доронин, менеджер по продукту в Smartcat. «Не только потому, что они являются одним из самых высокооплачиваемых клиентов, но и для того, чтобы предоставить другим пользователям более удобные рабочие процессы для непрерывной локализации, которая, мы уверены, останется с нами надолго». В будущем мы планируем предоставить еще больше возможностей для непрерывной локализации с помощью Smartcat, включая как собственные сценарии, так и внешние интеграции, что подчеркивает наш экосистемный подход к росту. В конце концов, главное — это то, что больше всего нравится нашим пользователям, и именно на этом мы будем сосредоточиваться.

Павел Доронин, менеджер по продукту в Smartcat

Полезные ссылки

Если вы хотите настроить непрерывный рабочий процесс локализации аналогично Xsolla, вам необходимо:

  • Загрузить и установить Serge.

  • Зарегистрироваться в Smartcat.

  • Установите плагин Serge Smartcat.

💌

Подписывайтесь на нашу новостную рассылку

Электронная почта *