Overview
dsh-ko-locale
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **The overlay is internal-facing.** It depends on `LocaleRuntime`'s method names (`lookup`, `register`, `localeList`, `resolveActive`, `publish`). A DSH release that renames them disables the pack with a console error rather than corrupting anything — the pack logs `dsh-ko-locale: unrecognized locale runtime` and does nothing. `npm run probe:api` measures which parts the public API already covers; the next release moves the pack onto it ([docs/mechanism-review.md](docs/mechanism-review.md)). - **One namespace is out of scope by decision.** `deepseek-model-label-1017` holds a single model badge in a namespace stamped per model release. It stays English and [`data/scope.json`](data/scope.json) records why; a future build ships a differently named namespace and `drift` reports it. - **The plugin market's content is not UI copy.** The Discover page is translated, but each listed plugin's title, description and readme come from its own manifest/registry, so those stay in whatever language the publisher wrote. - **No plural rules.** Like the shipped locales, the pack is a flat dictionary; Korean plurals are handled by phrasing, not by the locale registry. - **Host-side copy is out of scope.** Some strings live in the Node half (tool descriptions, CLI output, window chrome). This pack translates the browser client, which is what the desktop GUI renders. - **Package metadata stays English.** The Plugin list renders each installed plugin's title and description through `ctx.locale.resolveText`, which reads a `LocalizedText` map authored inside that plugin's own manifest. Manifests ship only `en`/`zh`, and a client language pack cannot add entries to them, so those rows keep their authored language. - **Text captured at registration time** (for example a command description registered once outside the slot render path) keeps the language it was registered under until re-registration — a limitation of the locale service itself, not of this pack.
