You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maka.apache.org by "me2seeks (via GitHub)" <gi...@apache.org> on 2026/08/27 06:15:48 UTC
[I] feat(i18n): add Korean (ko) locale [maka]
me2seeks opened a new issue, #3974:
URL: https://github.com/apache/maka/issues/3974
<details open>
<summary>English</summary>
## Problem
Maka currently ships `['zh','en']` (`packages/core/src/ui-locale.ts: UI_LOCALES`). A system with `ko`/`ko-KR` falls back to `en`. There is no tracking issue that defines scope, acceptance and incremental delivery for a new locale, so work cannot be claimed, split, or reviewed by domain.
Adding a locale is not “translate a file”. Per #2672 it must use the typed `UiCatalog<T>` contract, a single Desktop locale authority, and domain-owned catalogs, without a global translation file or new i18n framework.
## Desired outcome
A typed, domain-owned `ko` locale:
- `UiLocale` includes `ko`; `resolveSystemUiLocale` recognizes `ko`/`ko-KR`/`ko_KR`; `uiLocaleToIntlLocale` maps to `ko-KR`
- Every user-facing copy domain provides `ko` via `UiCatalog<T>` (Desktop ~25 catalogs, `packages/ui`, `packages/core`, CLI human help / TUI chrome)
- Renderer and post-startup native surfaces resolve the same `preference → system → en` locale; machine-readable output, logs, protocol, JSONL, model output remain locale-independent
- No new i18n framework, no global catalog, no translation of logs/protocol/model output/user content
## Alternatives or workarounds
Keep English fallback for `ko` systems, or maintain a private fork. Both fragment review and duplicate the `zh-TW` effort in #3853.
## Background
Follows #2672 contract and reuses #3853 patterns for `zh-TW`. Existing foundation: `UiLocale`/`UiLocalePreference` in `@maka/core`, `LocaleProvider` in Renderer, `DesktopLocaleAuthority` in `apps/desktop/src/main/desktop-locale-authority.ts`.
## Scope (incremental — not one PR)
Split by domain, each a separate PR with `Fixes #<sub-issue>`:
1. `core` — locale model (`ui-locale.ts`: `UI_LOCALES`, `isUiLocale`, `resolveSystemUiLocale`, `uiLocaleToIntlLocale`) + tests
2. `desktop` slice 1 — `settings-preferences` / `onboarding` / `shell` / `permissions`
3. `desktop` slice 2 — remaining `settings-*` / `conversation` / `artifact` / `browser` / `mcp` / `plan-mode`
4. `packages/ui` + `packages/core` error copy
5. `packages/cli` — human help / TUI chrome (explicit `override` + system fallback)
6. Native — notifications, upgrade dialogs, diagnostics + `e2e/fixtures.ts` `ko` flag
Reference for catalog inventory:
`apps/desktop/src/renderer/locales/*.ts` (25 files), `apps/desktop/src/main/*copy.ts` (3), `packages/ui/src/*copy.ts` (8), `packages/core/src/connection-error-copy.ts`, `packages/cli/src/cli-ui-locale.ts`
## Non-goals
- Adopt i18next / ICU / external TMS
- Single global translation file
- Translate logs, JSONL, protocol, machine-readable CLI output
- One-shot full-repo rewrite (see #2672)
## Acceptance criteria
- `ko` selectable (Follow system / 한국어 / English / 中文), `auto` + `ko` system → `ko`
- `en` shows no Korean, `ko` shows no untranslated fallback where catalog exists
- Locale switch re-renders existing session history without rewriting stored events
- `npm run lint && npm run format:check && npm run build && npm run typecheck` green; `npm --workspace @maka/core test` and `npm --workspace @maka/ui test` with `ko` coverage; new `toolId` without `ko` entry fails typecheck (`UiCatalog<T>`)
- Each slice PR includes bilocale unit tests and screenshots for UI slices
## Task list
Sub-issues will be created from this list (GitHub Sub-issues):
- [ ] #TBD core: add `ko` to `UiLocale`
- [ ] #TBD desktop slice 1
- [ ] #TBD desktop slice 2
- [ ] #TBD ui/core copy
- [ ] #TBD cli/tui
- [ ] #TBD native + e2e
## Verification
Per-PR: bilocale tests, Storybook/Desktop screenshots at 1280 + 430, `knip` for touched workspaces. Machine-readable CLI/Runtime Host contracts unchanged.
</details>
<details>
<summary>中文</summary>
## 问题
当前仅 `zh/en`,`ko` 系统回退英文。无追踪 Issue 导致范围、验收、增量交付无法认领与分域评审。按 #2672,新增语言必须走类型化 `UiCatalog` + 统一 authority + 领域拥有文案。
## 期望结果
同英文:`UI_LOCALES` 含 `ko`,全链路 `preference → system → en` 解析一致,各域通过 `UiCatalog<T>` 提供 `ko`,不引入新框架,不翻译日志/协议/机读输出。
## 替代方案
保持英文回退或私有 fork,均割裂且重复 #3853。
(Scope / 非目标 / 验收 / 验证 同英文)
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] feat(i18n): add Korean (ko) locale [maka]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #3974:
URL: https://github.com/apache/maka/issues/3974#issuecomment-6433305389
<!-- maka-lifecycle:stale-close -->
This issue has been closed because it received no human response during the 30-day grace period. This is not a judgement on the value of the report.
If the issue still applies to the latest `main`, please comment with updated evidence so a maintainer can reopen it, or open a follow-up issue with the missing information.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] feat(i18n): add Korean (ko) locale [maka]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #3974:
URL: https://github.com/apache/maka/issues/3974#issuecomment-5852410285
<!-- maka-lifecycle:stale-warning -->
This issue has had no human activity for 30 days and has been marked stale. It will be closed in 30 days unless someone comments.
If the issue is still current, please confirm it against the latest `main` and add any information that would help move it forward. Assigned issues and issues labelled `pinned` are exempt from this policy.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org
Re: [I] feat(i18n): add Korean (ko) locale [maka]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed issue #3974: feat(i18n): add Korean (ko) locale
URL: https://github.com/apache/maka/issues/3974
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@maka.apache.org
For additional commands, e-mail: commits-help@maka.apache.org