Skip to content

Add Korean (ko) interface language - #756

Open
hwchung24 wants to merge 1 commit into
HarnessMD:mainfrom
hwchung24:add-korean-locale
Open

hwchung24 wants to merge 1 commit into
HarnessMD:mainfrom
hwchung24:add-korean-locale

Conversation

@hwchung24

Copy link
Copy Markdown

What & why

Adds Korean (ko) as a fourth interface language, following the recipe in src/renderer/src/i18n/index.ts: a full locales/ko.json with the same key tree as en.json (all 1170 strings), registered in LANGUAGES, resources and supportedLngs. Nothing changes for anyone who doesn't pick it — the app still starts in English.

Two small supporting changes:

  • Fonts: Apple SD Gothic Neo, Malgun Gothic and Noto Sans CJK KR go ahead of the SC faces in the display/ui/mono stacks (tokens.css and its mirror tokens.ts). Hangul isn't in PingFang SC, so without this macOS falls through to whatever the system picks. Still system faces only, nothing bundled.
  • Test: ko is added to LOCALES in test/i18n-god-name.test.cjs, so the "never hardcode Michael" rule covers it too.

Translation notes:

  • Sentences use 해요체 (the polite-casual register Korean desktop apps use); buttons and labels are short nouns.
  • Every {{var}} and every inline tag is preserved. I checked this with a script that applies the same rules as arabic-ui.test.cjs (key tree, variables, tags, array lengths, no copied English).
  • Korean particles change depending on whether the preceding word ends in a consonant. Since {{godName}}/{{name}} can be anything, particles after a variable use the standard neutral form, e.g. {{godName}}이(가).
  • Product names, commands, paths and the /skill mode label stay in English on purpose. So does commandCenter.logMessage, which is a pure format string.

Type of change

  • Bug fix
  • New feature
  • Refactor / cleanup
  • Docs
  • Build / CI

Evidence

Before

The language picker today has no Korean (shipped 0.5.5):

Language picker before: English, 简体中文, العربية

The floor in English:

Floor before, English

After

Settings with 한국어 selected (this branch, npm run dev):

Settings after, Korean selected

The floor in Korean:

Floor after, Korean

The "before" shots come from the shipped 0.5.5 app, because main builds as 0.4.6 and I didn't want to wipe my installed app's data to grab them from a dev run. Same machine, same window size, light theme.

How I tested it

  • OS: macOS (Darwin 25.6, x86_64)
  • Steps:
    • npm run typecheck: clean.
    • npm run test:focused: 965 tests, 964 pass, 0 fail (1 skipped).
    • npm run build: succeeds.
    • npm run dev, then Settings → General → Language → 한국어 → save. The UI switches immediately. I checked the floor, the Command Center tabs, Settings, and the agent strip.

🤖 Generated with Claude Code

Translate all 1170 UI strings, register ko in the language picker,
and put Korean system faces ahead of the SC fallbacks in the font stacks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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