Skip to content

feat: add Korean (ko) translation - #148

Merged
RoderickQiu merged 1 commit into
RoderickQiu:masterfrom
moduvoice:i18n/add-korean
Jul 14, 2026
Merged

RoderickQiu merged 1 commit into
RoderickQiu:masterfrom
moduvoice:i18n/add-korean

Conversation

@moduvoice

Copy link
Copy Markdown
Contributor

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 locales/ko.json (new file, 502/502 keys — full parity with locales/en.json, identical key order, no missing/extra keys)
  • Followed the 4-step process documented in locales/README.md:
    1. Added ko.json to locales/
    2. Added 'ko' to languageList[] and '한국어' to languageNameList[] in supporter.js
    3. Added 'ko' to languageCodeList[] in main.js
    4. Added 'ko-KR' (NSIS/electron-builder culture code, matching the existing zh-CN/zh-TW convention) to nsis.installerLanguages[] in res/builder/nsis.js

Two other files reference zh-CN/zh-TW but were intentionally left untouched as they are outside the scope of the locales/README.md guide:

  • update.json — per-release announcement text (would require translating historical release notes rather than the app UI)
  • res/builder/output/nsis.js — a separate, unused build config (package.json's nsis script points at res/builder/nsis.js, not this file); it also predates and lacks the arm64 support already present in res/builder/nsis.js

Testing

  • Validated locales/ko.json with both python -c "import json" and node -e "JSON.parse(...)" — no syntax errors
  • Compared every key against locales/en.json: 502/502 keys present, identical key order, 0 missing/extra
  • Verified \r line-break escapes and %-style placeholders are preserved correctly in all translated strings
  • Ran node --check on all 3 edited JS files (main.js, supporter.js, res/builder/nsis.js) — all pass (no lint/test scripts exist in this repo)
  • Spot-checked ~47 translated strings across the file (UI labels, notifications, dialogs, statistics, WebDAV sync, locker/lock-mode settings, tour guide) for natural phrasing and consistent formal register appropriate for a desktop timer/productivity app

@RoderickQiu

Copy link
Copy Markdown
Owner

Hi, I highly appreciate your effort! It looks nice and I will be adding that for the next version that would be released within this month.

@RoderickQiu
RoderickQiu merged commit a139590 into RoderickQiu:master Jul 14, 2026
3 checks passed
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.

2 participants