Political World — content, который переживает отсутствующий перевод
✅ Source verified design 🌐 Graceful degradation
Частая проблема addon:
нет locale key → пустое имя / ugly error / unusable UICreator layer API 1.9 специально допускает неполную localization.
Цель прямо из source
Заголовок раздела «Цель прямо из source»Комментарии creator API:
localization must be optionalEnglish/default text must remain readable on any game languageLayered strategy
Заголовок раздела «Layered strategy»Addon definition может иметь сразу:
NameKeyDisplayNameDescriptionKeyDescriptionТо есть creator может сразу выпустить читаемый default text, а полноценные locale packs добавить позже.
Resolution
Заголовок раздела «Resolution»Пользователь с переводом получает:
native/current-language translationПри отсутствии перевода:
registered English/defaultзатем:
literal DisplayName/Descriptionи в крайнем случае:
stable keyОдин missing translation не обязан делать content пустым.
English/default — fallback, а не forced language
Заголовок раздела «English/default — fallback, а не forced language»Source добавляет English/default в current locale только если localization manager ещё не имеет значения для key.
Настоящий current-language translation имеет приоритет.
Registry живёт даже при LM failure
Заголовок раздела «Registry живёт даже при LM failure»Political World сначала хранит registered translation в собственном registry, а потом пытается интегрироваться с NML localization.
Если NML call падает, ResolveLocalization(...) всё равно может использовать собственные registered values API.
Это graceful degradation между integration layers.
Что fallback не решает
Заголовок раздела «Что fallback не решает»Он не гарантирует:
- качество перевода;
- достаточную ширину UI;
- plural rules;
- grammar;
- right-to-left layout;
- font coverage.
Он только делает failure mode намного лучше, чем «нет текста».
Вывод для общей документации
Заголовок раздела «Вывод для общей документации»Нужно документировать оба вопроса:
Как сделать полноценную localization?и:
Что произойдёт, если localization неполная?Именно второй вопрос чаще встречает обычный пользователь.