feat: add Korean locale core support#266
feat: add Korean locale core support#266VoidLight00 wants to merge 2 commits intoOpenCoworkAI:mainfrom
Conversation
Add ko locale registration, desktop language selection, locale exports, and regression coverage so Korean can ship as a first-class upstream UI language. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add English fallback registry entries for ko in template demos and examples so locale-core type expansion passes the workspace pre-push checks. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Review mode: initial
Findings
-
[Minor] Korean locale falls back to English demo/example content in
packages/templates— theexamples/index.tsandindex.tsregistries mapkoto English demos and examples. This means the starter prompts and demo list will appear in English when the UI is set to Korean, which may confuse users expecting a fully localized experience. Consider adding Korean translations for these as follow‑up.
Suggested fix: replace the English fallback with actual Korean text, or clearly document the limitation. -
[Nit] The new
ko.jsonlocale file contains several untranslated English strings (e.g.,toast.error.report, allloading.stage.*keys, sidebar labels). While the PR intentionally limits scope to core registration, the resulting mixed‑language UI on Korean can be jarring. Highlight the remaining English strings in a tracking issue for future translation efforts. -
[Nit] The
packages/i18n/package.jsonexports are being corrected forpt-BRalongside the addition ofko. This is a necessary fix, but the PR description only mentions Korean — the inclusion ofpt-BRexport may be overlooked. It would be clearer to call out the fix separately or add a note.
Questions
No blocking questions.
Summary
The PR cleanly adds Korean locale registration, runtime support, and desktop language‑selection integration. All core constraints (no new dependencies, no hardcoded UI values, no direct provider imports) are respected. Tests cover locale normalization and key translation. The only actionable improvements are around starter content and translation completeness, which can be addressed in follow‑ups.
Testing
- Unit tests for
packages/i18nalready validate Korean normalization, fallback, and live locale switching. - No Playwright tests were added; however, the UI toggle and settings picker follow existing patterns, so manual verification should suffice.
Open-CoDesign Bot
|
Thanks for putting this together. The locale plumbing itself looks structurally good: I do not think we should merge this as a public Korean language option as-is yet, though. I checked the locale coverage: That makes this closer to “Korean locale skeleton / core plumbing” than a user-ready Korean UI. Since the PR adds Could you please take one of these paths?
A tiny extra: please mention in the PR summary that this also adds the previously missing Once the public UI scope matches the actual translation coverage, I’d be comfortable taking another pass for merge. |
PR Draft — Add Korean locale core support
Title
feat: add Korean locale core support
Summary
This PR adds the core plumbing needed to ship Korean as a first-class UI language in Open CoDesign.
koin the shared i18n runtime and locale normalizationWhy
Open CoDesign already has multilingual UI support, but Korean was not a selectable or normalized locale. This made it impossible to test or ship a coherent Korean UX without fork-only overrides.
This change keeps the scope intentionally small and upstream-safe: it adds locale registration, selection, exports, and test coverage only.
Scope
Included:
packages/i18n/src/index.tspackages/i18n/src/i18n.test.tspackages/i18n/package.jsonpackages/i18n/src/locales/ko.jsonpackages/i18n/src/locales/{en,pt-BR,zh-CN}.jsonapps/desktop/src/renderer/src/components/LanguageToggle.tsxapps/desktop/src/renderer/src/components/Settings.tsx@open-codesign/i18nand@open-codesign/desktopExcluded on purpose:
Testing
Passed locally:
pnpm --dir /Users/voidlight/projects/claude-design/upstream --filter @open-codesign/i18n testpnpm --dir /Users/voidlight/projects/claude-design/upstream --filter @open-codesign/desktop testNotes for reviewers
ko.jsonis intentionally added as a full locale file so the runtime can switch coherently.settings.appearance.langKolabel.