Political World — localization key как owned content
✅ Source verified 🌐 Collision prevention
Localization выглядит безобидно:
key → translated stringНо в addon ecosystem key — глобальная identity.
Два addons с одинаковым generic key могут перезаписать или запутать данные друг друга.
Подход Political World
Заголовок раздела «Подход Political World»RegisterLocalization(...) требует, чтобы key принадлежал зарегистрированному addon.
API дополнительно хранит:
localization key → owner addon IDЕсли другой addon уже владеет key, новая registration отклоняется, а framework записывает:
PWDIAG190Плохие keys
Заголовок раздела «Плохие keys»government.namemenu.titledescriptionСлишком легко получить collision.
YourName.MyAddon.government.technocracy.nameYourName.MyAddon.action.reform.descriptionСам key уже показывает ownership.
Это относится не только к localization
Заголовок раздела «Это относится не только к localization»Тот же принцип нужен для:
- actions;
- ideologies;
- governments;
- rare events;
- save-data keys;
- tags;
- UI routes;
- settings.
Если content имеет global address, ему нужна global-safe identity.
Fallback не обходит ownership
Заголовок раздела «Fallback не обходит ownership»Внутренний helper Political World может seed’ить English fallback из DisplayName/Description, но только если:
- addon зарегистрирован;
- localization key задан;
- fallback непустой;
- key принадлежит addon.
Convenience helper не должен отключать ownership rules.
Localization не стоит считать отдельной бесконтрольной таблицей.
Localization keys — часть public content namespace, поэтому им нужны:
- ownership;
- collision detection;
- stable naming;
- migration discipline;
- diagnostics.