Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions specs/019-localization-language-packs/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,8 @@ description: "Task list for 019 App Localization & Community Language Packs"
- [X] T087 [US6] In the GameTemplate reconciler (`operator/internal/controller/`), validate locale layers against ids from the bundled template, write valid entries to ConfigMap `<template>-locales` (owner ref), set `LocalesValid` condition and emit a Warning event listing up to 20 problems; enforce the 900 KiB aggregate bound with reason `LocalesTooLarge` (contracts/module-locales.md §3); module install never fails on locales (FR-034); RBAC markers for ConfigMaps if missing, then `make manifests`; update `operator/specs.md`
- [X] T088 [US6] Add `GET /modules/{name}/locales/{tag}` in `api/internal/handlers/modules.go` (same RBAC as `GET /modules/{name}`, regional → base → `{}` resolution); client method in `web/src/lib/endpoints.ts`; handler tests
- [X] T089 [US6] Use module locale maps in `web/src/routes/CreateServer.tsx` and the server-settings tab (`web/src/routes/tabs/settings/**`) with fallback to template text (FR-032); tests *Done note: `useModuleText` / `useModuleTexts` and `moduleIds` in `web/src/lib/i18n/moduleText.ts` fetch `Modules.locales(name, tag, cluster)` (module name = template name) and format its ICU messages, with `~0`/`~1` id escaping as in `i18n/modlocale`; English fetches nothing and every missing id shows the template text. CreateServer translates the template cards (and search), version cards, configuration fields, Review row and preview title; `ConfigFields` takes an optional `text` accessor (labels, help text, enum choices; values unchanged); the settings tab passes `moduleText` to the Version and Game configuration sections. Hooks run only in components that already use react-query. Tests: `moduleText.test.tsx`, `ConfigFields_moduleText.test.tsx`.*
- [ ] T090 [US6] [module repo] Push locale layers in `modules/build.sh` (`locales/*.json` except `en.json`) and run `i18n-check --module` in the module repo CI; update `modules/README.md`
- [ ] T091 [US6] [module repo] Generate `locales/en.json` for `modules/minecraft-java/`, `modules/terraria/`, `modules/valheim/` with `gp-module i18n extract`; update each module's `specs.md`; open the module-repo PR; bump the root `modules` pointer only after it merges
- [X] T090 [US6] [module repo] Push locale layers in `modules/build.sh` (`locales/*.json` except `en.json`) and run `i18n-check --module` in the module repo CI; update `modules/README.md`
- [X] T091 [US6] [module repo] Generate `locales/en.json` for `modules/minecraft-java/`, `modules/terraria/`, `modules/valheim/` with `gp-module i18n extract`; update each module's `specs.md`; open the module-repo PR; bump the root `modules` pointer only after it merges

---

Expand Down
Loading