Качественная локализация увеличивает удержание на 30% в целевых рынках. Процесс начинается не с перевода текстов, а с подготовки кода и архитектуры данных.
Почему перевод — это только вершина айсберга
Многие разработчики путают перевод и локализацию. Перевод — это лингвистическая операция: замена слов одного языка на слова другого с сохранением смысла. Локализация — это комплексная инженерная и культурная адаптация продукта под конкретный регион (locale). Она включает форматы дат, чисел, валют, направление письма, правовые требования, графику, звук и геймдизайн.
Игнорирование этого различия приводит к релизам, где текст вылезает за границы кнопок, даты отображаются в американском формате для европейцев, а юмор в диалогах вызывает недоумение или оскорбление. Исправление таких ошибок после релиза стоит в порядки дороже, чем правильная архитектура на старте.
Интернационализация (i18n)
Подготовка кодовой базы: вынос строк в ресурсы, поддержка UTF-8, динамические макеты, абстракция форматов данных.
Локализация (l10n)
Адаптация контента для конкретного языка: перевод, подбор шрифтов, зеркалирование UI для RTL, замена ассетов.
Культуализация
Глубокая культурная адаптация: изменение сюжетов, персонажей, механик, цветовой символики под менталитет региона.
LQA (Localization QA)
Финальная проверка в билде: обрезки текста, контекстные ошибки, работа шрифтов, соответствие платформенным гайдлайнам.
Интернационализация: фундамент, который не виден игроку
i18n (internationalization — 18 букв между i и n) делается до появления первого переводчика. Главная цель — отделить данные от кода. Никаких хардкодных строк в логике игры. Все пользовательские сообщения, названия предметов, описания квестов должны лежать во внешних файлах (JSON, CSV, XML, YAML, .po, .resx, платформенные форматы Android/iOS).
Вынос строк в ресурсы
Каждая строка получает уникальный ключ (ID). Ключи должны быть семантичными: menu.settings.audio.volume, а не str_001. Это упрощает контекст для переводчика и поддержку.
Поддержка плюрализации и гендеров
Английский имеет две формы (один / много). Русский — три (один, два-четыре, пять-много). Арабский — шесть. Код не должен содержать if count == 1. Используйте ICU MessageFormat или аналоги: {count, plural, one {# монет} few {# монеты} many {# монет}}.
Динамические макеты UI
Немецкий текст на 30-40% длиннее английского. Китайский — короче, но выше глифы. Кнопки, панели, тултипы должны растягиваться. Используйте Auto Layout (Unity UI Toolkit, Flexbox-подобные системы), текст с переносом и масштабированием шрифта (min/max size).
Подготовка к RTL (Right-to-Left)
Для арабского, иврита, персидского интерфейс зеркалируется. Иконки «назад», прогресс-бары, карусели, позиционирование элементов — всё меняется. Движок должен поддерживать зеркалирование корневого канваса одной настройкой, без переписывания логики.
Шрифты и Fallback-цепочки
Один шрифт не покроет все языки. Настройте цепочку fallback: основной шрифт → Noto Sans (латиница/кириллица) → Noto Sans CJK (китайский/японский/корейский) → Noto Sans Arabic → Noto Color Emoji. Проверьте лицензию на встраивание в приложение.
Сбор локализационного кита (LocKit): что отдавать переводчику
LocKit — это пакет файлов и документации, который получает лингвистическая команда. Качество перевода прямо пропорционально полноте кита. «Сырые» строки без контекста дают гарантированные ошибки: неверный род персонажа, неправильный регистр обращения, потеря игрового сленга.
Обязательные компоненты LocKit
- Файлы строк в согласованном формате (CSV/JSON/XLIFF) с ключами, исходным текстом и колонками для целевых языков.
- Глоссарий (Termbase) — утвержденные переводы имен собственных, названий фракций, валюты, предметов, терминов геймдизайна. Запрещает вариативность: «Здоровье» не становится «ХП» или «Жизни» случайно.
- Style Guide — тон голоса (tone of voice), правила обращения к игроку (ты/Вы), обработка юмора, цензура, форматирование дат/чисел, запрещенные слова.
- Контекст — скриншоты UI, видеозаписи геймплея, доступ к тестовому билду, описание персонажей (пол, возраст, социальный статус, отношения между ними).
- Технические ограничения — лимиты символов в строках, запрещенные символы, правила экранирования переменных, поддержка тегов форматирования (BBCode, Rich Text, HTML).
Ловушки мобильного контента: переменные, теги и контекст
Мобильные игры живут в тесных рамках экранов и частых обновлений. Это создает специфические проблемы, редкие в ПК- или консольной разработке.
Ошибка: Конкатенация строк в коде
"You found " + itemName + "!" В русском порядок слов меняется, падеж itemName зависит от глагола «найти».
"You found {itemName}!". Переводчик пишет: "Вы нашли {itemName}!" (если предмет в винительном падеже) или меняет структуру целиком.Ошибка: Игнорирование пола игрока/НПС
Английский «You are ready»gender-neutral. Русский «Ты готов» / «Ты готова». Если пол не передается в строку, переводчик угадывает или пишет косо: «Готов(а)».
{gender, select, male {Ты готов} female {Ты готова} other {Вы готовы}}.Ошибка: Теги разметки внутри текста
<color=red>Warning</color>. Переводчик может случайно сдвинуть скобку, сломать вложенность, перевести имя тега или атрибут.
<1>. В коде — парсить форматирование отдельно от текста (Markdown-подобные парсеры, TMP в Unity).Ошибка: Отсутствие контекста для коротких строк
Строки «Start», «Back», «Attack», «Fire» — глагол или существительное? Кнопка меню или боевая команда? Без контекста переводчик выбирает случайно.
ui.menu.start, combat.cmd.attack.Инструментарий: от таблиц к системам управления переводами (TMS)
Выбор инструмента зависит от команды, бюджета и частоты обновлений. Для живого сервиса (LiveOps) ручная работа в Google Sheets становится узким горлышком через 3-5 языков и еженедельные патчи.
| Инструмент / Класс | Для чего подходит | Ограничения | Примеры |
|---|---|---|---|
| Таблицы (Sheets, Excel) | Малые проекты, 1-3 языка, редкие обновления, нет бюджета на TMS. | Нет версионирования строк, нет памяти переводов (TM), нет автоматизации сборки, высок риск человеческих ошибок при мерже. | Google Sheets + Apps Script для экспорта. |
| CAT-инструменты (Trados, MemoQ, Crowdin Editor, Lokalise Editor) | Профессиональный перевод с TM (Translation Memory), терминологией, QA-проверками, контекстом. | Требуют обучения лингвистов. Десктопные версии сложны в коллаборации. | MemoQ, Trados Studio, Crowdin, Lokalise, Phrase, Weblate. |
| TMS (Translation Management Systems) | Автоматизация пайплайна: Git/CI/CD интеграция, автозагрузка строк, распределение задач, отчетность, Over-the-Air обновления. | Стоимость подписки. Настройка интеграций требует времени девелоперов. | Crowdin, Lokalise, Phrase (Memsource), Transifex, Smartcat, OneSky. |
| Движковые решения (Unity Localization, Unreal Loc Dashboard) | Нативная работа с ассетами, превью в редакторе, адресабельная система, fallback-шрифты, плюрализация «из коробки». | Слабые возможности для управления лингвистами, нет встроенной TM/терминологии уровня TMS. Лучше связка: TMS ↔ Engine Package. | Unity Localization Package, Unreal Localization Dashboard. |
Ключевая мысль
Идеальный стек для LiveOps: TMS (Crowdin/Lokalise/Phrase) для управления процессом и работы переводчиков + Unity Localization / Unreal Loc для рантайма. Синхронизация по API / CLI в CI/CD пайплайне. Это дает мгновенную доставку переводов в билд без участия программистов.
Культуализация: когда «просто перевод» ломает игру
Культуализация (Culturalization) — это адаптация игрового опыта под культурные коды региона. Ошибки здесь не просто смешные, они убивают репутацию и доходы. Китай (App Store / Android магазины) требует лицензии (ISBN), запрещает скелеты, кровь, игральные карты, определенные политические темы. Ближний Восток требует уважения к религиозным символам, запрет алкоголя/свинины в игровой экономике, RTL-интерфейс.
Визуальные символы
Крест, свастика (даже в буддийском контексте),трехзвездия, жесты (большой палец вверх, «коза», ОК) имеют разное значение. В Японии «крестик» = отмена/нет, «галочка» = да/ок. На Западе — наоборот.
Действие: Аудит ассетов артом перед релизом в регион.
Нарратив и лор
Исторические события, мифология, фольклор. Использование реальных богов как боссов может оскорбить верующих (пример: Smite, Persona). Стереотипы наций (пьяный русский, жадный еврей, ленивый мексиканец) недопустимы.
Действие: Консультация с культурным экспертом (cultural consultant) из региона.
Механики и монетизация
Лут-боксы запрещены в Бельгии, Нидерландах, регулируются в Китае и Корее. Геймблинг-механики требуют замены на Battle Pass или прямую покупку. Цвета: красный — удача в Китае, опасность/долг на Западе. Белый — траур в Азии, чистота в Европе.
Действие: Юридический аудит монетизации под закон региона.
Социальные фичи и UGC
Чаты, ники, гильдии, пользовательский контент. Модерация должна знать местный сленг, мат, завуалированные оскорбления, политические догвистлы. Автоматические фильтры на английском не работают для морфологии русского, арабского, турецкого.
Действие: Локализованные списки стоп-слов + модераторы-носители.
LQA (Localization Quality Assurance): последняя линия обороны
LQA — это не чтение таблиц. Это прохождение игры на целевом языке в собранном билде (TestFlight, Google Play Internal Testing, APK/IPA). Лингвист-испытатель проверяет не только орфографию, а UX: вписывается ли текст, не ломается ли верстка, правильно ли склоняются имена в инвентаре, работают ли плюралы в бою, корректно ли зеркалится меню на арабском.
Чек-лист LQA-тестирования
- Текст в UI: обрезки (truncation), наложения, слишком мелкий шрифт, отсутствие глифов (тофу □).
- Грамматика в контексте: падежи переменных, роды, числа, согласование прилагательных с подставленными существительными.
- Платформенные требования: термины Apple (App Store, Face ID, «Настройки») vs Google (Play Store, Google Play Games, «Параметры»).
- Кодировка и спецсимволы: эмодзи, редкие иероглифы, диакритика (польский, вьетнамский), курсив/жирный в TMP.
- Аудио и субтитры: синхронизация, дубляж (lip-sync не обязателен, но тайминг важен), закрытые субтитры (CC) для ЗВУ.
- RTL-верстка: зеркалирование иконок навигации, порядок элементов в сетках, курсор ввода текста.
Типичные баги, которые пропускают без LQA
- Hardcoded strings: сообщения об ошибках сети, пуш-уведомления, системные алерты (разрешения камеры/микрофона) на английском в русском билде.
- Broken variables:
Player {0} won {1} gold→ «Игрок Иван выиграл 5 золото» (нужно «золота»). - Font fallback failure: китайские иероглифы отображаются квадратиками, потому что шрифт не подключен в билд или превышен лимит атласа текстур.
- Input field issues: невозможно ввести иероглифы (IME не активируется), арабский текст пишется слева направо внутри поля.
- Update mismatch: новая строка в патче не переведена, фоллбэк на английский всплывает посередине русского интерфейса.
Работа с LiveOps: непрерывная локализация (Continuous Localization)
Мобильная игра — это сервис. Каждые 2-4 недели выходит патч: новое событие, предметы, баланс, текстовые правки. Перевод не должен блокировать релиз. Процесс Continuous Localization (CL) встраивает локализацию в CI/CD.
Feature Branch → String Freeze
За 3-5 дней до код-фриза новые строки помечаются статусом «New» в TMS. Автоматически пушатся в проект переводчиков. Старые строки не меняются без крайней нужды (версионирование ключей).
Machine Translation Pre-fill (опционально)
Для низкоприоритетных текстов (описания предметов, подсказки) включается MT (DeepL, Google, Azure) с пост-эдитингом. Для нарратива — только человеческий перевод. MT экономит до 40% бюджета на больших объемах.
Авто-QA в TMS
Перед отдачей в билд запускаются автоматические проверки: наличие переменных, совпадение тегов, длина строки (warning), глоссарий, пробелы, пунктуация. Лингвист видит ошибки в редакторе до сабмита.
Pull Translations → Build
CI/CD джоба (GitHub Actions, GitLab CI, Bitrise, Codemagic) тянет актуальные файлы из TMS по API/CLI, кладет в проект, собирает билд. Никаких ручных копирований файлов. Роллбэк перевода = роллбэк коммита в TMS.
Over-the-Air (OTA) обновления текста
Для критических фиксов опечаток без релиза в стор: Unity Addressables / AssetBundles / Remote Config + TMS CDN. Игра качает свежий JSON локализации при старте. Риск: пользователь видит старый текст до рестарта. Требует умного кэширования.
Чек-лист перед отправкой билда в стор
Финальная верификация перед сабмитом в App Store Connect и Google Play Console. Пункты проверяются лид-локалайзером или продюсером.
Локализация — это продуктовый цикл, а не этап
Успешная глобальная мобильная игра строит локализацию в свою ДНК: от архитектуры строк и шрифтов до автоматизированного пайплайна доставки переводов в LiveOps-билды. Инвестиции в i18n и TMS на старте окупаются за счет скорости выхода в новые рынки, отсутствия регрессий текста и высокого LTV международных игроков. Начинайте с глоссария и Style Guide — это дешево, но задает вектор качества на годы.
История развивается так, как решаете вы ✍️
Это не книга с готовым финалом и не игра с фиксированными ответами. В нашем телеграм-боте вы сами ведёте диалог с ИИ-персонажем: задаёте тон, принимаете решения, меняете ход событий. Захотели романтики — будет романтика. Захотели интриги — сюжет повернёт туда. Каждая партия — уникальная.
Попробовать прямо сейчас 👉 https://clck.ru/3Ta8kQ
