Переполнение локалей в игровом UI: запас в дизайне и QA экспорта перевода VberAI Studio
Как не допустить поломки кнопок и списков из-за немецкого или испанского текста, заложить ширину в дизайн и сравнить локали на холсте VberAI Studio до полного повторного экспорта.
- game-ui-design
- game-dev-ai
- ui-localization
- i18n
- figma-to-unity
- psd-to-unity
- vberai
- ai-studio
- unity
- godot
- cocos
- 2026
Готовый к выпуску UI часто проваливает локализацию не из-за плохого перевода, а потому что тот же макет не вмещает переведённый текст. Текст кнопки обрезается RectTransform, строки списка схлопываются с двух строк в одну, вкладки остаются тесными и показывают многоточия. Проверка в редакторе Unity с английским плейсхолдером скрывает проблему до теста на немецком или испанском — а затем правки обычно затрагивают и исходник дизайна, и Prefab.
Примеры макета и обрезки ниже используют Unity UGUI (RectTransform, Prefab и так далее). Godot Control и Cocos UI применяют те же идеи через якоря, minimum_size и префабы; критерии запаса в дизайне и переполнения работают так же.
Пункты 9–11 чек-листа передачи дизайна уже упоминают запас на длину текста и локали с одинаковой структурой. Этот пост добавляет референсные диапазоны, чек-лист со стороны дизайна, QA на холсте после перевода в VberAI Studio и критерии провала перед выпуском. Safe Area на устройстве, ассеты Release-сборки и связанные проверки остаются в пунктах 1, 5 и 6 чек-листа UI перед выпуском.
Критерии провала (любой один = не пройдено): читаемый текст обрезан или перекрывается; многоточия или бегущая строка без спецификации продукта; визуальная рамка кнопки не совпадает с областью нажатия; главный экран локали требует уникального изменения Hierarchy, чтобы показать полный текст (конфликтует с целями многоязычия при одинаковой структуре).
Расширение текста: референсные диапазоны для дизайна
Команды локализации часто оценивают рост относительно английского или исходного языка. Это не контрактные SLA — задайте внутренние пороги с учётом вашего UI-шрифта и размеров. Используйте таблицу, чтобы выбрать 2–3 стресс-локали для ревью дизайна перед передачей, а не для предсказания точной длины строк.
| Связь | Типичный паттерн (мобильные кнопки, короткие метки) | Действие в дизайне |
|---|---|---|
| DE / ES / PT против коротких китайских меток | Тот же смысл часто требует ~+25% до +40% горизонтального места (сложные слова, артикли) | Заложите в спецификацию min-width кнопки и фиксированную ширину вкладки или правила переноса |
| EN против ZH на одной кнопке | Похожая длина или EN чуть длиннее — не считайте ширину EN подтверждением для всех локалей | Проверьте DE или ES в дополнение к EN |
| FR / IT | Средне-длинные; подзаголовки списка часто требуют двух строк | Зарезервируйте вторую строку или ограничьте длину подзаголовка |
| VI / ID | Латиница, но переменная длина слов | Тот же уровень стресса, что и ES |
| AR | Длина плюс RTL и формирование цифр; зеркальный макет — отдельная тема | Этот пост предполагает LTR с одинаковой структурой; RTL требует собственного дизайна или правил зеркалирования движка |
| JA / KO | Смешение полной ширины: визуальная ширина не линейна по числу символов | Измеряйте ширину отрисованной строки при целевом размере; не считайте только символы |
Замечание по движку: Unity TextMeshPro Auto Size только уменьшает между минимальным и максимальным размерами шрифта. Если текст всё ещё переполняется при минимальном размере, это ёмкость макета, а не то, что нужно исправлять дальнейшим уменьшением — расширьте контейнер или измените текст в дизайне.

12 проверок дизайна с фокусом на переполнение (чек-лист)
В дополнение к общему списку передачи из 12 пунктов отметьте эти для локалей:
| # | Проверка | Стандарт прохождения |
|---|---|---|
| 1 | Текст основной кнопки — это текстовый слой, а не растровый набор | Заменяемые строки; перечислите нелокализуемый набор в спецификации |
| 2 | Контейнер кнопки имеет min-width (Figma Auto Layout или фиксированную ширину) | DE/ES псевдолокаль или реальные строки не переполняются |
| 3 | Вкладка / нижняя панель: фиксированная ячейка или явное разрешение на две строки | Никаких «выглядит как одна строка, а на деле обрезано» |
| 4 | Строки списка: заголовок и подзаголовок на отдельных строках; у подзаголовка есть максимум строк | Если две строки не проходят, сократите текст или расширьте список |
| 5 | Числа, валюта, таймеры и единицы — отдельные поля | Никакого растрового целого предложения; форматы живут в таблицах строк |
| 6 | Иконка + текст: ширина текста независима от иконки | Более длинный текст не сжимает иконку |
| 7 | Отступы nine-slice панели и отступы контента достаточны | См. пункт 6 передачи; растягиваемая область не прилегает к тексту |
| 8 | Заголовок диалога, тело, основная/вторичная кнопки — отдельные слои | Спецификация для переноса или на один шаг меньшего кегля при длинном заголовке |
| 9 | Бейджи событий и короткий текст рядом с красными точками имеют максимальную длину | Операционный текст сверх лимита возвращается на правку — а не экстренно сжимается |
| 10 | Многоязычные варианты: одинаковая структура Frame, только текст | Никаких контролов только для локали, если спецификация не разрешает |
| 11 | Заметки об экспорте перечисляют, какие стресс-локали были проверены | Инженеры / QA знают базовую линию приёмки |
| 12 | Полноэкранный концепт всё ещё имеет читаемый текст | Разделите текстовые слои или примите повторный экспорт перед движком (срез на месте) |
Figma Auto Layout hug/fill, min/max width и truncate текста должны совпадать с договорённостью с инженерами — если продукт запрещает многоточия, не принимайте макет только с truncate.
Путь VberAI Studio: перевод → сравнение → полный повторный экспорт дерева
VberAI Studio (AI Studio, ≠ Google AI Studio) перевод в один клик нацелен на изменение только читаемого текста — геометрия и иерархия остаются прежними. Это согласуется с работой в движке, где меняются только CSV / таблицы строк, а структура Prefab остаётся — разные этапы одного конвейера локализации: AI Studio владеет многоязычным визуальным дизайном и экспортом; TMP и таблицы строк владеют переключением во время выполнения.
Рекомендуемый порядок (тот же, что холст → Prefab):
| Шаг | Действие | Приёмка |
|---|---|---|
| 1 | Зафиксируйте основной макет на холсте или в Figma/PSD | Текстовые слои и границы кнопок ясны |
| 2 | Запустите перевод в один клик для каждого экрана (по партии локалей выпуска или мультилокально) | Иерархия слоёв и имена узлов не изменились |
| 3 | На холсте сравните 2–3 локали с самым длинным текстом рядом или переключением (включите DE или ES + основную локаль выпуска) | Нет переполнения, нет перекрытия |
| 4 | Проверьте машинно-переведённые строки, которые слишком длинны | Отредактируйте текст или измените размер в рамках спецификации; человеческое подтверждение юридических/брендовых строк |
| 5 | Полный повторный экспорт дерева Prefab (Unity UGUI / Godot Control / Cocos UI) | Совпадает с холстом; не редактируйте только Text в проекте без синхронизации исходника дизайна |
| 6 | Согласуйте таблицы строк с текстом по умолчанию в Prefab в проекте | Переключение локали в Play mode совпадает с холстом |
Одинаковый макет, только смена темы: reskin. После reskin, если вы добавляете новые локали выпуска, всё равно переведите и экспортируйте — избегайте ручного редактирования Text в Scene, пока Prefab в репозитории расходятся (пункт 6 перед выпуском).


Приёмка перед выпуском: связь с чек-листом тестирования
Пункт 2 чек-листа перед выпуском требует каждую живую локаль на домашнем экране и ключевых попапах. Рекомендуемое выполнение:
| Пункт | Практика |
|---|---|
| Приоритет локалей | Перед полным проходом локалей прогоните стресс-локаль + основную локаль выпуска |
| Область | Основной HUD, частые попапы, экраны оплаты/возраста/юридических длинных текстов |
| Окружение | Переключение локали в Unity Editor не заменяет проверки отрисовки шрифтов на устройстве (особенно смешение CJK + латиница) |
| Прохождение | Нет обрезки, нет незаявленных многоточий, области нажатия совпадают с визуалом |
Если строки меняются только в движке, а макет не менялся, но переполнение сохраняется → считайте это недостаточным запасом в дизайне или отсутствием QA холста по стресс-локали, затем исправляйте по таблице ниже — а не постоянным глобальным уменьшением шрифта в Prefab.
Маршрутизация исправлений
| Симптом | Вероятная причина | Действие | Владелец |
|---|---|---|---|
| Переполнение одной кнопки или метки | min-width слишком мал; набор использован как основной текст | Расширьте дизайн или сократите текст; переведите в текстовый слой | Дизайн |
| Много переполнений на одном экране | Основной макет слишком тесный; нет проверки стресс-локали | Figma/холст Auto Layout → повторный перевод в AI Studio → полный повторный экспорт дерева | Дизайн + инженерия |
| В Unity Editor OK, одна локаль падает на устройстве | Fallback-шрифт шире; DPI | Перетестируйте на устройстве; настройте Font Asset / контейнер | Инженерия |
| Список в две строки только в одной локали | Перевод подзаголовка слишком длинный | Локализация сокращает или высота строки увеличивается (повторный экспорт при изменении структуры) | Локализация + дизайн |
| Переключение во время выполнения падает, холст OK | Несовпадение таблицы строк и Prefab | Согласуйте таблицу и Text по умолчанию; проверьте переносы строк | Инженерия |
| После reskin события локаль всё ещё показывает старый макет | Reskin заменил только арт, без повторного экспорта Prefab | После reskin повторно запустите перевод + экспорт для каждой локали | Дизайн |
Правило решения: если структура остаётся прежней → предпочитайте текст, min-width и QA холста в VberAI Studio, затем повторный экспорт. Если нужно добавить/удалить узлы или изменить число вкладок → изменение макета — обновите основной макет и спецификации всех локалей; не патчите Prefab только одной локали.
Разделение труда против «только таблицы строк»
| Подход | Подходит | Не подходит |
|---|---|---|
| Таблица строк движка / TMP | Макет проверен; только переключение локали во время выполнения | Первый импорт UI без QA стресс-локали |
| Перевод + экспорт VberAI Studio | На основе дизайна; многоязычный визуальный паритет; исходник Figma/PSD | Замена юридической проверки или проверки соответствия платежей |
| Ручное редактирование Text в Prefab | Экстренный хотфикс для одной-двух строк | Долгосрочная многоязычная поддержка (расхождение Scene) |
Полная цепочка: запас в дизайне → многоязычный макет в VberAI Studio → экспорт Prefab → согласование таблицы строк и значений по умолчанию → прогон всех локалей перед выпуском. Привязка и QA в Play после импорта: чек-лист движка + MCP.
Часто задаваемые вопросы
TMP Auto Size на минимуме всё ещё переполняется — это баг инженерии?
Обычно нет. Auto Size масштабирует только внутри контейнера. Если ширина была зафиксирована при передаче, расширьте дизайн или измените текст, либо разрешите две строки по спецификации.
Макет «теоретически не изменился» после перевода — всё равно повторно экспортировать Prefab?
Если UI пришёл из экспорта VberAI Studio, полный повторный экспорт дерева после финализации текста сохраняет Prefab в репозитории согласованными с холстом. Правки только Text в проекте без синхронизации холста теряются при следующем reskin или повторном экспорте.
Может ли RTL (арабский и т. д.) использовать этот чек-лист одинаковой структуры?
Правила ширины для LTR с одинаковой структурой всё равно помогают. RTL также требует зеркального макета и направления цифр — не предполагайте, что строк только перевода достаточно для выпуска.
Нужно ли повторно переводить при reskin события?
Если reskin не меняет текст, нет. Если текст события меняется вместе со скином, а имена узлов остаются прежними, перепроверьте стресс-локали на холсте, затем повторно экспортируйте.
Немецкий длинный — можно уменьшить размер шрифта только для этой локали?
Только если спецификация продукта определяет глобальный «−1 шаг» для этой локали. Иначе предпочитайте min-width и более короткий текст, чтобы читаемость оставалась согласованной между кнопками.
VberAI Studio — то же самое, что Google AI Studio?
Нет. VberAI Studio — это холст игрового UI, перевод и мультидвижковый экспорт; Google AI Studio — общая среда разработки ИИ от Google. См. сравнение.
Читайте дальше
Другие статьи, которые могут вам понравиться
Как мы создали MCP-сервер реального времени для Godot
Архитектура Godot MCP от VberAI: как сервер Model Context Protocol в реальном времени связывает редактор Godot с AI-клиентами без заморозки дерева сцены.
- vberai
- godot
- mcp
- architecture
Генерация игрового трейлера и sequence-кадров через ИИ в Unity / Godot / Cocos
Генерация игрового трейлера через ИИ и sequence-кадры (VFX, скиллы): VberAI Studio — видео на канвасе, разбор кадров, экспорт в Unity, Godot, Cocos. Не замена Timeline.
- ai-studio
- game-video
- sequence-frames
- sprite-frames
Перевод текста в Figma и UI: однокликовый перевод VberAI Studio
Перевод всех текстовых значений в Figma/PSD и игровом UI: VberAI Studio меняет только текст, макет и иерархия без изменений. ≠ Google AI Studio.
- vberai
- ai-studio
- ui-translate
- ui-translation