refactor(i18n): bundle catalogs under assets/i18n/<locale>/ (T-462)

Move the catalogs out of lib/kernel/src/i18n/catalog/ into assets/i18n/, and
switch the layout from a `{namespace}_{locale}.json` filename to a per-locale
DIRECTORY: assets/i18n/en_us/{namespace}.json. Adding a language is now just a
new folder (assets/i18n/nl_nl/, nl_be, en_eu, …) of the same namespace files —
no renames — which is cleaner to maintain and mirrors how an external
extension ships its own catalog. AssetCatalogLoader/FileCatalogLoader resolve
`<root>/<locale>/<namespace>.json`; pubspec bundles the locale folder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-19 15:54:14 +02:00
co-authored by Claude Opus 4.8
parent 37fa255a63
commit 1bdfd1be1c
31 changed files with 40 additions and 17 deletions
+3 -1
View File
@@ -79,7 +79,9 @@ flutter:
assets:
- lib/kernel/src/theme/themes/
- lib/kernel/src/i18n/catalog/
# i18n catalogs, one folder per locale (en_us, future nl_nl, …); each holds
# <namespace>.json. Add a line per new locale folder.
- assets/i18n/en_us/
- assets/keymaps/
- assets/licenses.yaml
- assets/LICENSE