Skip to content

feat(app): add Korean (ko) locale support - #896

Open
moduvoice wants to merge 1 commit into
cam-inc:developfrom
moduvoice:i18n-add-korean
Open

feat(app): add Korean (ko) locale support#896
moduvoice wants to merge 1 commit into
cam-inc:developfrom
moduvoice:i18n-add-korean

Conversation

@moduvoice

Copy link
Copy Markdown

Motivation

This adds Korean (ko) translation support — to help Korean-speaking users use this
open-source project more comfortably in their own language.

한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.

Changes

  • packages/app/gatsby-config.js: registered ko in the gatsby-plugin-react-i18next languages array (['en', 'ja', 'ko'])
  • packages/app/src/locales/ko/common.json (new): full Korean translation, 83/83 keys, 1:1 parity with en/ja (all {{version}} interpolation tokens, $t(...) cross-references, and <br>/<br /> tags preserved in position and count)
  • packages/app/src/locales/en/common.json and packages/app/src/locales/ja/common.json: added "ko": "한국어" to the language display-name map
  • .changeset/warm-lions-add.md: changeset for @viron/app (minor), following the repo's existing changeset convention

No changes were needed in the language switcher component (packages/app/src/components/app-sidebar.tsx) — it renders language options dynamically from the languages array provided by the i18n hook, so registering ko in gatsby-config.js plus the language.ko key is sufficient for it to appear automatically.

Scope note: example/nodejs/src/locales (a small demo backend locale, unrelated to the admin-dashboard UI i18n registry) and packages/website/i18n (the separate Docusaurus documentation site, ~35 files) were intentionally left untouched, since this PR focuses on the admin-dashboard UI. Happy to follow up with either as a separate PR if maintainers want it.

Testing

  • Programmatic key-parity check: 83/83 keys present in ko/common.json, 0 missing/extra vs both en and ja; all {{version}} tokens, $t(...) references, and <br>/<br /> tags verified byte-identical in position/count.
  • Ran npx gatsby build (Node 22, per packages/app's engines field) end-to-end: build succeeded, and the output under public/ko/* contains a full set of statically generated Korean routes (index, 404, endpoints, endpointimport, oauthredirect, oidcredirect, dashboard/endpoints, dashboard/groups, endpoints/[endpointId] — matching the existing /ja/* route count 1:1). public/index.html's language switcher <select> renders <option value="ko">한국어</option> alongside en/ja, confirming the new locale is genuinely reachable in the built UI.
  • eslint (workspace's own npm run lint in packages/app): 0 errors, 112 warnings (pre-existing, unrelated to this change).
  • prettier --check on all changed files: passes.

@changeset-bot

changeset-bot Bot commented Jul 11, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4241448

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@viron/app Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant