Political World — designing content that survives missing translations
✅ Source verified design 🌐 Graceful degradation
A common addon failure is to make localization mandatory for basic readability:
missing locale key → empty name / ugly error / unusable UIPolitical World’s API 1.9 creator layer deliberately supports incomplete localization.
Design goal from source
Section titled “Design goal from source”The creator API comments state:
localization must be optionalEnglish/default text must remain readable on any game languageLayered strategy
Section titled “Layered strategy”An addon definition may carry both:
NameKeyDisplayNameDescriptionKeyDescriptionThat means a creator can ship readable default text immediately and add full locale packs over time.
Resolution path
Section titled “Resolution path”A user on a translated language can receive:
native/current-language translationwhile a missing translation can fall back to:
registered English/defaultthen:
literal DisplayName/Descriptionand finally:
stable keyNo single missing translation needs to make content blank.
Why English/default is a fallback, not a forced language
Section titled “Why English/default is a fallback, not a forced language”The source only injects the English/default translation into the current locale when the current localization manager does not already have a translation.
A real current-language translation therefore has priority.
Runtime registry remains usable when LM integration fails
Section titled “Runtime registry remains usable when LM integration fails”Political World stores registered translations in its own dictionaries before attempting NML localization integration.
If the NML call fails, the API’s own ResolveLocalization(...) path can still use its registered values.
This is graceful degradation across integration boundaries.
What this does not solve
Section titled “What this does not solve”Fallback cannot guarantee:
- perfect translation quality;
- UI width;
- plural rules;
- grammar;
- right-to-left layout;
- font coverage.
It only guarantees a much better failure mode than “missing text”.
Lesson for general modding docs
Section titled “Lesson for general modding docs”Document both:
How to provide full localizationand:
What happens when localization is incompleteThe second question is where many real users encounter the system.