Выпускайте патчи на всех языках, не ломая интерфейс.
Файлы Unity Localization CSV и Unreal PO читаются и записываются напрямую, без промежуточных конвертеров. Глоссарий хранит имена ваших персонажей и лор, а каждая строка измеряется относительно максимальной длины, установленной для ключа.
Имена персонажей и описание предметов меняются между сборками и у разных подрядчиков.
Единый глоссарий контролируется при записи движком и на этапе ревью, с включением до 40 терминов в каждый фрагмент.
Немецкий и русский текст не помещаются в кнопку, рассчитанную под английский.
Проверка длины измеряет каждую строку относительно максимального лимита, установленного для ключа. Начиная с плана Team, автоподтверждение или запуск QA помечает превышение для ревью.
CSV-файл проходит через таблицу, и формы множественного числа теряются.
Unity Localization CSV и Unreal PO читаются и записываются нативно, а gettext PO сохраняет формы множественного числа.
Четыре способа, которыми перевод может сломать сборку.
Подстановочные переменные
Отсутствующий или переименованный плейсхолдер отклоняется, а не угадывается. Проверяются фигурные скобки, позиционные токены и форматы printf.
Множественные числа
Должны присутствовать все категории множественного числа, объявленные целевым языком. В арабском их шесть, и проверка ожидает ровно шесть.
Глоссарий
Имена, элементы и юридические термины удерживаются. До 40 терминов включаются в каждый фрагмент, и проверка выполняется повторно на этапе ревью.
Длина
Максимальная длина, установленная для ключа, измеряется для каждой строки. Строка с превышением записывается, но не отклоняется, а начиная с плана Team автоподтверждение или запуск QA помечает ее для ревью.
Четыре проверки детерминированы. Именно поэтому битая строка не попадает в сборку, и они выполняются на любом тарифе.
FAQs
Что студия спрашивает перед следующим патчем.