i18n: add Korean (ko) locale support#9210
Conversation
Adds a complete Korean locale for the WebUI dashboard's i18n system, mirroring the existing en-US/zh-CN/ru-RU structure across all core, feature, and message modules (37 JSON files, ~3,600 translated strings). Registers ko-KR in the central translation map (translations.ts) and the language switcher / available-locales list (composables.ts).
Use "서브 에이전트" (with space) consistently, matching the term used throughout ko-KR/features/subagent.json, instead of "서브에이전트".
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- Given that
validator.tsis already out of sync withru-RU, consider either updating itssupportedLocalesto includeko-KRor removing/clearly deprecating it to avoid future confusion for contributors adding locales. - The large block of manual
ko-KRimports and mapping intranslations.tsmirrorsru-RUbut is quite verbose; consider extracting a small helper or using a consistent factory pattern for locale registration to reduce duplication and make future locale additions less error-prone.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Given that `validator.ts` is already out of sync with `ru-RU`, consider either updating its `supportedLocales` to include `ko-KR` or removing/clearly deprecating it to avoid future confusion for contributors adding locales.
- The large block of manual `ko-KR` imports and mapping in `translations.ts` mirrors `ru-RU` but is quite verbose; consider extracting a small helper or using a consistent factory pattern for locale registration to reduce duplication and make future locale additions less error-prone.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive Korean (ko-KR) localization support to the dashboard by adding translation files and registering them in the i18n configuration. The reviewer identified a critical issue where the allowed locales list in the setupI18n function was not updated, which would cause the application to fall back to 'zh-CN' on startup. Additionally, several translation strings in platform.json, extension.json, and settings.json were flagged for missing {count} placeholders.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
|
||
| // 获取可用语言列表 | ||
| const availableLocales: Locale[] = ['zh-CN', 'en-US', 'ru-RU']; | ||
| const availableLocales: Locale[] = ['zh-CN', 'en-US', 'ru-RU', 'ko-KR']; |
There was a problem hiding this comment.
When adding 'ko-KR' to availableLocales, please also update the setupI18n function (around line 225) to include 'ko-KR' in its allowed list of locales. Currently, it only checks ['zh-CN', 'en-US', 'ru-RU'], which will cause the application to fall back to 'zh-CN' on startup if 'ko-KR' is stored in localStorage.
| "pending": "대기 중", | ||
| "stopped": "중지됨", | ||
| "unknown": "알 수 없음", | ||
| "errors": "개 오류" |
| "status": { | ||
| "hasUpdate": "새 버전 있음", | ||
| "disabled": "이 플러그인은 사용 안 함 상태입니다", | ||
| "handlersCount": " 개 핸들러", |
| "checking": "백업 파일을 확인하는 중...", | ||
| "invalidBackup": "유효하지 않은 백업 파일입니다", | ||
| "backupContents": "백업 내용", | ||
| "tables": "개 테이블", |
Motivation
This adds Korean (
ko) translation support — to help Korean-speaking users use thisopen-source project more comfortably in their own language.
한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.
Changes
ko-KR) locale for the dashboard: 37 new JSON files underdashboard/src/i18n/locales/ko-KR/covering allcore/,features/, andmessages/modules (chat, auth, platform, provider, persona, knowledge-base, extension, session-management, config-metadata, stats, subagent, welcome, errors/success/validation, etc.) — 3,636 leaf keys total.ru-RUpattern exactly:dashboard/src/i18n/composables.ts: adds'ko-KR'toavailableLocalesand adds the한국어/ 🇰🇷 entry tolanguageOptions.dashboard/src/i18n/translations.ts: imports all 37ko-KRJSON files and assembles the'ko-KR'block undertranslations, with the same nested shape (core/features/messages) asru-RU.dashboard/src/i18n/validator.tswas intentionally left untouched — it's a stale, unused dev-only checker (only exported viadashboard/src/i18n/tools/index.ts, not referenced anywhere else) whose hardcodedsupportedLocaleslist doesn't even includeru-RU, so it's out of scope for this change.Testing
ko-KRfiles and its correspondingen-USfile: 37/37 files match exactly (3,636 leaf keys on both sides, same key paths, same value types).{placeholder}interpolation variables match exactly (same set, sorted) betweenen-USandko-KRacross all 37 files: 0 mismatches.config-metadata.jsonfor consistency withsubagent.json.composables.ts/translations.tsdiff contains no unrelated changes and structurally mirrors the existingru-RUregistration line-for-line.pnpm installsuccessfully and a TypeScript check on the two modified.tsfiles — no errors attributable to the i18n change (the pre-existing.vuemodule-resolution errors from running baretscoutside the Vue toolchain are present identically onmasterand are unrelated to this change).Summary by Sourcery
Add full Korean (ko-KR) locale support to the dashboard and expose it in the language selector.
New Features: