feat(i18n): add Korean (ko) translation#268
Conversation
Adds full Korean translation for the app (src/client, 1608 keys, matching the plural-less convention used by ja-JP/zh-CN/id-ID) and for the docs website's UI chrome (theme/navbar/footer/sidebar/blog strings), and registers `ko` in both locale lists.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR adds Korean locale support across the client app and Docusaurus website by extending locale configuration and adding Korean translation resources. ChangesKorean Locale Support
Estimated code review effort: 1 (Trivial) | ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/client/public/locales/ko/translation.json`:
- Line 86: The Korean translation for k1e4399ab is incorrect in the locale JSON.
Update the existing entry in the translation file so the value accurately
renders “Too Early” in Korean, and keep the same key while replacing the current
malformed text with the correct translation.
- Around line 1-1610: The Korean translation locale is missing singular
pluralization entries, causing runtime fallback for those strings. Add the
missing keys k34d05d70_one, k6245e2e0_one, k8f89f13d_one, and kcbb3a64f_one in
translation.json, matching the existing plural patterns and keeping the same
placeholder variables as the corresponding _other entries.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 5694a23e-23f5-45a3-8364-27fded29889b
⛔ Files ignored due to path filters (1)
src/client/public/locales/ko/flag.pngis excluded by!**/*.png
📒 Files selected for processing (9)
src/client/i18next-toolkit.config.cjssrc/client/public/locales/ko/translation.jsonsrc/client/utils/i18n.tswebsite/docusaurus.config.tswebsite/i18n/ko/code.jsonwebsite/i18n/ko/docusaurus-plugin-content-blog/options.jsonwebsite/i18n/ko/docusaurus-plugin-content-docs/current.jsonwebsite/i18n/ko/docusaurus-theme-classic/footer.jsonwebsite/i18n/ko/docusaurus-theme-classic/navbar.json
Addresses CodeRabbit review: k1e4399ab was garbled, and 4 keys were missing _one plural variants (i18next requires both one/other even when the target language has no grammatical plural).
Motivation
This adds Korean (
ko) translation support — to help Korean-speaking users use thisopen-source project more comfortably in their own language.
(한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.)
Changes
src/client/public/locales/ko/translation.json: full Korean translation of the app UI (1608 keys, translated from all 1612 English keys — the 4_oneplural-form keys are intentionally omitted, matching the existing convention for languages without singular/plural distinction such asja-JP,zh-CN, andid-ID).src/client/public/locales/ko/flag.png: Korean flag icon (70x47 PNG, same format as the other locale folders), generated from the flag-icons project (MIT licensed) to match the existing asset convention.src/client/utils/i18n.ts: registeredko(한국어) in thelanguageslist.src/client/i18next-toolkit.config.cjs: registeredkoin thelocaleslist.website/docusaurus.config.ts: registeredkoin the docs site'si18n.localeslist.website/i18n/ko/**: Korean translation of the docs website's Docusaurus UI chrome (theme strings, navbar, footer, sidebar category labels, blog options) — this covers the UI framework text only, not the doc page content itself.Testing
src/client/public/locales/ko/translation.jsonis valid JSON and parses with both Python and Node.kokeys ==enkeys minus the 4_oneplural keys (1608 == 1612 - 4), with 0 missing/extra keys.{{placeholder}}token and the one<1></1>interpolation tag in the source strings is preserved unchanged in the Korean translation.website/i18n/ko/**files are valid JSON with key parity against theirencounterparts (e.g.code.json: 78/78).Summary by CodeRabbit
ko) as a supported language in both the app and the documentation site.