Перейти к содержимому

Political World — localization key как owned content

✅ Source verified 🌐 Collision prevention

Localization выглядит безобидно:

key → translated string

Но в addon ecosystem key — глобальная identity.

Два addons с одинаковым generic key могут перезаписать или запутать данные друг друга.

RegisterLocalization(...) требует, чтобы key принадлежал зарегистрированному addon.

API дополнительно хранит:

localization key → owner addon ID

Если другой addon уже владеет key, новая registration отклоняется, а framework записывает:

PWDIAG190
government.name
menu.title
description

Слишком легко получить collision.

YourName.MyAddon.government.technocracy.name
YourName.MyAddon.action.reform.description

Сам key уже показывает ownership.

Тот же принцип нужен для:

  • actions;
  • ideologies;
  • governments;
  • rare events;
  • save-data keys;
  • tags;
  • UI routes;
  • settings.

Если content имеет global address, ему нужна global-safe identity.

Внутренний 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.