Skip to content

feat(website): add Korean (ko-KR) translation#200

Open
moduvoice wants to merge 2 commits into
pacexy:mainfrom
moduvoice:add-korean-i18n
Open

feat(website): add Korean (ko-KR) translation#200
moduvoice wants to merge 2 commits into
pacexy:mainfrom
moduvoice:add-korean-i18n

Conversation

@moduvoice

Copy link
Copy Markdown

Korean (ko) translation PR body template

Motivation

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

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

Changes

  • Added apps/website/locales/ko-KR.json (new file), a full Korean translation of en-US.json with all 43 leaf keys present, matching its nested structure 1:1.
  • Registered 'ko-KR': '한국어' in apps/website/i18n.js's localeMap, which is the only place outside locales/ that references other locale codes — this makes ko-KR appear in the language switcher automatically (locales = Object.keys(localeMap)).
  • Locale-specific help URLs (Google Chrome, Microsoft Edge, Apple Safari, MDN) were localized following the same convention as the existing ja-JP/zh-CN locales (e.g. hl=ko, /ko-kr/, /ko/ path segments).
  • donate_url kept as https://ko-fi.com/pacexy, same as en-US/ja-JP/zh-CN (this is the project's actual donation link, not something to localize).

Scope note: this repo has a second, separate locale system at apps/reader/locales (.ts files: en-US.ts, ja-JP.ts, zh-CN.ts, de-DE.ts). It was intentionally not touched here to keep this PR focused and reviewable — it would make a good follow-up PR if maintainers are open to it.

Testing

  • Verified ko-KR.json is valid JSON and its leaf keys are an exact 1:1 match with en-US.json (43/43, no missing or extra keys) via a small script comparing recursively flattened key paths.
  • Confirmed apps/website/i18n.js needed and now has the ko-KR entry, and that it is the only non-locales/ file referencing other locale codes (grep -rl "ja-JP" apps/website ... outside locales/ returns only i18n.js).
  • Manually reviewed every translated string against en-US.json and cross-checked phrasing/URL conventions against ja-JP.json for naturalness and consistency.

Add ko-KR.json locale matching the en-US structure and register
ko-KR in the website's localeMap so it appears in the language
switcher.
"다시 정의하다" is a verb infinitive, which reads awkwardly as an
isolated heading fragment paired with "ePub 리더" below it. Use the
noun form "재정의" instead, consistent with the ja-JP locale's use
of "再定義" for the same string.
@vercel

vercel Bot commented Jul 11, 2026

Copy link
Copy Markdown

@moduvoice is attempting to deploy a commit to the pacexy Team on Vercel.

A member of the Team first needs to authorize it.

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