Files
canalhandia/src
Marcos Paulo 3d263bee90 feat(i18n): Adventure GlobalTranslator foundation + Lang facade
Per-player i18n: register a TranslationStore (key canalhandia) into the
GlobalTranslator from lang/messages_{pt,en}.properties. Paper renders each
Component.translatable in the recipient's own locale at send time, so one
broadcast shows every player their own language (pt/en), Java and Bedrock
alike. defaultLocale=en; pt + pt_BR fall back to the PT bundle; unknown
locale -> en.

- I18n: loader + registry install; removeSource before addSource so
  /canalhandia reload does not stack sources.
- Lang.tr(key, args) facade over Component.translatable.
- Canalhandia.onEnable wires it; /canalhandia reload now reloadI18n().
- Proof migration: onDeath mourning lines -> Lang.tr (broadcast -> per-viewer).
- I18nTest: key parity PT/EN + per-locale render + pt_BR fallback + unknown
  -> default. 316/316 pass.

Bundles seeded with the mourning keys; bulk module-by-module migration and
per-locale number/date formatting are next, one PR each per the spec.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-12 11:53:01 -03:00
..