feat: add Korean (ko) translation support#1144
Open
moduvoice wants to merge 1 commit into
Open
Conversation
Add full Korean UI translation (messages/ko.json, messages/common/ko.json) and register the ko locale in src/i18n/config.ts and the language selector, following the same pattern used for existing locales (en/zh/zh-TW/ja/pt-BR).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This adds Korean (
ko) translation support — to help Korean-speaking users use thisopen-source project more comfortably in their own language.
(한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.)
Changes
messages/ko.jsonwith a complete Korean translation of every key inmessages/en.json(2341 keys, full parity), covering settings, records, chat/agent, editor, sync, and mobile UI strings.messages/common/ko.jsonwith Korean translations for the sharedcommonnamespace (39 keys).koinSUPPORTED_LOCALESinsrc/i18n/config.tsso it is recognized byisSupportedLocale/normalizeLocaleand loaded vialoadMessagesWithFallback.src/app/core/setting/general/interface-settings/language.tsx.dayjs/locale/ko) mapping insrc/components/sync-confirm-dialog.tsxso relative commit timestamps also render in Korean when the app locale isko(mirroring the existing zh/ja/pt-BR handling).{count},{name},{provider}) were preserved exactly. For the few plural-form strings in the English source, Korean has no grammatical plural, so they were translated as plain{count}-based strings, matching the existing convention used byja.json/zh-TW.jsonfor the same keys.Testing
messages/ko.jsonandmessages/common/ko.jsonare valid JSON and have exact leaf-key parity withmessages/en.json/messages/common/en.json(no missing or extra keys) via a Python script.next lint(viaeslint) on the changed TypeScript files — no errors.tsc --noEmit— no type errors.next build --turbopackproduction build — completed successfully with all 52 routes generated, confirming the new locale files are picked up correctly by the dynamicimport(\../../messages/${locale}.json`)` loader with no build-time issues.Disclosure: this translation was produced with AI assistance (Claude) and reviewed for key parity and placeholder correctness before submitting.