i18n: add Korean (ko) translation - #2343
Merged
Merged
Conversation
Add Korean translations across both i18n surfaces of the extension: - Chrome Web Store manifest locale (src/_locales/manifest/ko) - In-app UI locale, the 8 static namespaces used by options/popup/ content pages (src/_locales/ko/*.ts): background, common, content, langcode (full ~140-language name list), menus, options, popup, wordpage - Sync service locales (Anki Connect, Eudic, Shanbay, WebDAV) - Korean translations added to all 34 per-dictionary locale files and the shared machine-translation locale defaults Also wires 'ko' into the language whitelist/type used by the i18next loaders (src/_helpers/i18n.ts, src/background/i18n-loader.ts), the app-config LangCode type and browser-UI-language auto-detection (src/app-config/index.ts), the Options page language selector (General.tsx), the VS Code locale JSON schema, and the moment.js locale-keep list in the webpack config -- mirroring exactly how zh-CN/zh-TW were previously registered, so Korean is fully wired end-to-end rather than just adding locale files. Verified with `tsc --noEmit` and `eslint` (both clean).
Contributor
There was a problem hiding this comment.
Pull request overview
Adds Korean (ko) localization across the extension UI and dictionary/provider labels, and wires ko through the app’s i18n/type/build plumbing so Korean can be selected and loaded consistently.
Changes:
- Added new Korean locale namespaces for core UI and sync-manager services, plus manifest
messages.json. - Added
koentries across dictionary/provider locale files (JSON and typed machine-locales). - Updated language wiring:
LangCode/RawLocaletypes, i18next whitelist, moment.js locale keep-list, VS Code locales schema, and the Options → General language selector.
Reviewed changes
Copilot reviewed 54 out of 54 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/options/components/Entries/General.tsx | Adds Korean option to the UI language selector. |
| src/components/dictionaries/zdic/_locales.json | Adds ko strings for ZDic provider name/options/helps. |
| src/components/dictionaries/youdaotrans/_locales.ts | Adds ko provider display name for Youdao Translate. |
| src/components/dictionaries/youdao/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/wikipedia/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/weblioejje/_locales.json | Adds ko provider name. |
| src/components/dictionaries/weblio/_locales.json | Adds ko provider name. |
| src/components/dictionaries/volc/_locales.ts | Adds ko provider display name for Volcengine Translate. |
| src/components/dictionaries/vocabulary/_locales.json | Adds ko provider name. |
| src/components/dictionaries/urban/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/tencent/_locales.ts | Adds ko provider display name for Tencent Translate. |
| src/components/dictionaries/shanbay/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/renren/_locales.json | Adds ko provider name. |
| src/components/dictionaries/oaldict/_locales.json | Adds ko provider name. |
| src/components/dictionaries/niutrans/_locales.ts | Adds ko provider display name for NiuTrans. |
| src/components/dictionaries/naver/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/mojidict/_locales.json | Adds ko provider name. |
| src/components/dictionaries/merriamwebster/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/longman/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/locales.ts | Extends machine-locales typing + adds Korean translations for common machine options/helps. |
| src/components/dictionaries/liangan/_locales.json | Adds ko provider name/options/helps strings. |
| src/components/dictionaries/hjdict/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/guoyu/_locales.json | Adds ko provider name/options/helps strings. |
| src/components/dictionaries/google/_locales.ts | Adds ko provider name/options/helps strings for Google Translate. |
| src/components/dictionaries/eudic/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/etymonline/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/deeplx/_locales.ts | Adds ko provider display name for DeepLX. |
| src/components/dictionaries/deepl/_locales.ts | Adds ko provider display name for DeepL. |
| src/components/dictionaries/cobuild/_locales.json | Adds ko provider name/options/helps strings. |
| src/components/dictionaries/cambridge/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/caiyun/_locales.ts | Adds ko provider display name for LingoCloud. |
| src/components/dictionaries/bingtrans/_locales.ts | Adds ko provider display name for Bing Translate. |
| src/components/dictionaries/bing/_locales.json | Adds ko provider name/options strings. |
| src/components/dictionaries/baidu/_locales.ts | Adds ko provider display name for Baidu Translate. |
| src/components/dictionaries/alibaba/_locales.ts | Adds ko provider display name for Alibaba Translate. |
| src/components/dictionaries/ahdict/_locales.json | Adds ko provider name/options strings. |
| src/background/sync-manager/services/webdav/_locales/ko.ts | Adds Korean locale for WebDAV sync-manager UI/errors. |
| src/background/sync-manager/services/shanbay/_locales/ko.ts | Adds Korean locale for Shanbay sync-manager UI/errors. |
| src/background/sync-manager/services/eudic/_locales/ko.ts | Adds Korean locale for Eudic sync-manager UI/errors. |
| src/background/sync-manager/services/ankiconnect/_locales/ko.ts | Adds Korean locale for AnkiConnect sync-manager UI/errors. |
| src/background/i18n-loader.ts | Adds ko to i18next language whitelist for background i18n. |
| src/app-config/index.ts | Extends LangCode and default UI-language detection to include ko. |
| src/_locales/manifest/ko/messages.json | Adds Korean Chrome/Firefox manifest strings. |
| src/_locales/ko/wordpage.ts | Adds Korean UI strings for WordPage. |
| src/_locales/ko/popup.ts | Adds Korean UI strings for popup panel. |
| src/_locales/ko/options.ts | Adds Korean UI strings for Options pages. |
| src/_locales/ko/menus.ts | Adds Korean UI strings for context/toolbar menus. |
| src/_locales/ko/langcode.ts | Adds Korean labels for language-code names. |
| src/_locales/ko/content.ts | Adds Korean UI strings for content-side UI. |
| src/_locales/ko/common.ts | Adds Korean shared/common UI strings. |
| src/_locales/ko/background.ts | Adds Korean background notification strings. |
| src/_helpers/i18n.ts | Extends LangCode/RawLocale types and adds ko to i18next whitelist. |
| scripts/create-neutrino-config.js | Ensures Moment.js ko locale is kept in the build. |
| .vscode/locales.schema.json | Updates VS Code locales schema to require/allow ko. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Owner
|
Thanks! |
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
src/_locales/ko/*.ts— 8 typed locale files for the main extension UI (background, common, content, langcode, menus, options, popup, wordpage)src/_locales/manifest/ko/messages.json— Chrome/Firefox extension manifest strings (18/18 key parity withmanifest/en)ko.tslocale files for 4 sync-manager services (ankiconnect, eudic, shanbay, webdav)kofield to_locales.{json,ts}for all 34 dictionary providersLangCode/RawLocaletypes, i18nextwhitelist,.vscode/locales.schema.json,create-neutrino-config.js(moment.js locale), and the language<Select>in Options → General now includekoTesting
npx tsc --noEmitpasses with 0 errors, confirming type-level key parity for all typed locale filesmanifest/ko/messages.jsonhas exact 18/18 key parity withmanifest/enkofield (programmatic check:kokey count matcheszh-TWkey count in every file, all JSON valid)