Y
Yandex for Frontend
@yandex4frontend10.8K подп.
1.4Kпросмотров
12.6%от подписчиков
30 марта 2026 г.
📷 ФотоScore: 1.5K
⏮ Трудности перевода: как мы автоматизировали локализацию Привет, это Ирина Туманова, разработчик интерфейсов в Яндекс Go. Я работаю в Диспетчерской — это команда, которая помогает таксопаркам и водителям из разных стран пользоваться нашим приложением. Сегодня расскажу о сложностях с переводом Диспетчерской на языки местных рынков и о том, как наша команда их преодолела. 🈶 Давайте разбираться с терминами 🟡 Интернационализация — подготовка продукта к тому, что в него можно будет добавлять новые языки (и не только, но об этом в другой раз) 🟡 Локализация — перенос интерфейса и текстов на другие языки 🟡 Translation Management System — админка, где все тексты хранятся в виде ключей Для полноценной интернационализации обычно мы заводим либу для вывода текста и TMS для хранения ключей. Благодаря этой системе не нужно переписывать тысячи строк при запуске в новой стране. Достаточно добавить к ключу ещё один вариант на нужном языке — и интерфейс автоматически подхватит перевод. На первый взгляд всё выглядит просто: добавляем в админку новую локаль и файл со строками, и всё готово. Но что происходит, когда в репозитории появляются новые элементы интерфейса, для которых ещё нет ключей? В этом случае разработчику приходится: 🟡 Запускать скрипт, который находит новые ключи в коде и отправляет их в TMS 🟡 Вручную создавать задачи для переводчиков 🟡 Отдельно следить за тем, чтобы готовые переводы из TMS вовремя возвращались в проект 🈶 Теперь поговорим про ключи и числа В какой-то момент мы решили узнать, сколько строк теряется в процессе ручной постановки задач, и написали для этого специальный скрипт. Вот результаты аналитики: 🟡 Всего в Диспетчерской было 9,5 тысячи ключей 🟡 Около 3,5 тысячи перевели не на все языки 🟡 Из них около 3,3 тысячи вообще не имели задач на перевод 🟡 Получается, в среднем по языкам около 37% текстов оказывались частично непереведёнными 🈶 Мы решили, что так больше жить нельзя И принялись автоматизировать процессы. Что получили в итоге: 🟡 Новые ключи автоматически отправляются в TMS. После мёрджа скрипт ищет изменения в диффе и сразу передаёт найденные ключи в систему переводов 🟡 Задачи на перевод создаются автоматически. Как только ключ появляется в TMS, система заводит тикет для переводчиков 🟡 Готовые переводы регулярно подтягиваются в код. Каждый день примерно в 05:00 CI скачивает обновления из TMS и добавляет их в проект 🔜 Результат: всего за две недели количество ключей без задач на перевод упало с 3,3 тысячи до 170 штук! 💻 Этот пост я написала, опираясь на своё выступление на Я.Субботнике по разработке интерфейсов. Смотрите запись доклада на ютубе и в VK Видео — там будут технические подробности и мемы по мотивам истории. Примеры кода и графики с результатами найдёте в презентации, прикрепила её ниже. Думаю, что тема заинтересует не только локализаторов и переводчиков, а всех, кто хочет расширить узкие горлышки в своих продуктах и автоматизировать процессы в командах. ➡️ Все доклады с Я.Субботника ищите в плейлистах на ютубе и в VK Видео. Подписывайтесь: 💬 @Yandex4Frontend
1.4K
просмотров
3067
символов
Да
эмодзи
Да
медиа

Другие посты @yandex4frontend

Все посты канала →
⏮ Трудности перевода: как мы автоматизировали локализацию Пр — @yandex4frontend | PostSniper