Локализация
Эта страница посвящена языкам собственного интерфейса продукта. Локализация текста вашей игры — ключи, переводы, StringTable Unity Localization — это отдельная тема со своей страницей: Таблицы локализации.
Пользовательский интерфейс продукта — меню, окно авторинга, инспекторы, диалоги, отчёты, подсказки — поставляется на 10 языках:
English (по умолчанию) · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Русский
Точная граница, включая то, какие фрагменты отчётов остаются на английском, описана ниже в разделе «Граница локализации».
Смена языка
- При первом запуске язык интерфейса устанавливается автоматически из языка ОС вашего редактора. Девять языков отображаются напрямую; для всех остальных остаётся английский. Строка в консоли отмечает этот выбор. Измените его в любой момент, как описано ниже — явно выбранный язык никогда не переопределяется.
- Edit ▸ Preferences ▸ SheetForge → всплывающее меню выбора языка, либо поле «Editor language» в верхней части инспектора настроек импорта (оба читают/записывают одно и то же значение).
- Язык — это настройка для каждого пользователя (EditorPrefs) — каждый участник команды использует свой язык, и это никак не затрагивает систему контроля версий (ноль изменений в VCS).
Меню тоже локализованы
Подписи [MenuItem] — это статические атрибуты, которые не могут изменяться во время выполнения. Поэтому SheetForge перегенерирует тонкий файл меню (Assets/SheetForge/Editor/Generated/, исключён из Git) на выбранном языке. Смена языка вызывает одну короткую перекомпиляцию — без циклов, и идентичное содержимое никогда не перезаписывается.
Если папка отсутствует или язык не совпадает (например, сразу после клонирования), она самовосстанавливается автоматически. Корень Tools/SheetForge — это фиксированная константа бренда; конечные подписи следуют выбранному языку.
Смена языка заблокирована, пока выполняется импорт/экспорт/отправка — перекомпиляция при перегенерации меню не должна нарушить работающий конвейер. Меняйте язык уже после завершения.
Граница локализации
Полностью локализовано на всех 10 языках:
- Интерфейс, отрисовываемый редактором: меню, окно авторинга, инспектор, диалоги, кнопки, подсказки.
- Каркас отчёта и предложения «почему»/«как» для каждой ошибки.
Встроенный английский текст (внутри локализованного каркаса):
- Фрагменты деталей отчёта — некорректное значение, предложения ближайшего совпадения и другие фрагменты, подставляемые во время выполнения, которые не могут существовать как ключи в языковой таблице.
- Низкоуровневые исключения и логи для разработчиков (
[SheetForge]).
Один пробел, который пока остаётся честно озвученным: примерно 345–360 из 1,043 ключей всё ещё содержат свой английский текст в восьми языках, отличных от английского и корейского. Эти ключи — 227 ключей ui.studio.* из Data Studio, плюс настройка темы и самые новые строки диалогов и логов.
Каждый ключ существует в каждом файле, а паритет ключей обеспечивается тестами, поэтому ничего не откатывается к сырому ключу. Это скорее ожидающий выполнения перевод, а не структурный пробел. См. Возможности и ограничения ▸ Границы локализации.
Защитный тест в обоих тестовых наборах проверяет, что исходный код продукта не содержит захардкоженных строк на корейском языке — язык разработки никогда не просачивается в интерфейс. (Единственное исключение — данные: собственное название каждого языка, например 한국어, в переключателе языка.)
Добавление и исправление переводов
Каждый язык — это ровно один файл: Assets/SheetForge/Core/Tooling/Localization/Lang/Lang{Language}.cs. Это чистый статический словарь, поэтому переводчики работают параллельно, без конфликтов слияния между языками.
- Английский (
LangEn) — это канонический список ключей. Каждый другой язык должен покрывать те же ключи. - Тест на паритет мгновенно обнаруживает отсутствующий ключ, лишний ключ или повреждённый плейсхолдер (
{name}) в любом языке. - Чтобы поправить перевод: отредактируйте файл языка, сохраните плейсхолдеры нетронутыми, запустите тесты.
Похожие страницы
- Начало работы — где меню появляются во время настройки
- Таблицы локализации — локализация текста вашей игры с помощью таблиц
- Возможности и ограничения — пункт о границах локализации в списке ограничений