Skip to content

feat(i18n): add Korean (ko-KR) localization#407

Merged
siddharthvaddem merged 2 commits intosiddharthvaddem:mainfrom
kwakseongjae:feat/i18n-ko-KR
Apr 11, 2026
Merged

feat(i18n): add Korean (ko-KR) localization#407
siddharthvaddem merged 2 commits intosiddharthvaddem:mainfrom
kwakseongjae:feat/i18n-ko-KR

Conversation

@kwakseongjae
Copy link
Copy Markdown
Contributor

@kwakseongjae kwakseongjae commented Apr 10, 2026

Description

Adds complete Korean (ko-KR) locale support across all 7 i18n namespaces.

Motivation

Korean is one of the most widely used languages in developer and creator communities, yet OpenScreen currently has no Korean support. This PR brings Korean-speaking users a fully native experience.

Type of Change

  • New Feature

Related Issue(s)

Closes #406

Changes

Namespace Keys Content
common 19 Actions, playback controls, locale metadata
launch 26 HUD tooltips, audio/webcam controls, source selector
editor 18 Error messages, export, project, recording permissions
dialogs 38 Export progress, trim tutorial, unsaved changes, file dialogs
settings 89 All panels (zoom, effects, background, annotations, fonts, audio)
shortcuts 22 Keyboard shortcuts panel and all actions
timeline 27 Toolbar, hints, labels, errors, success messages

Config changes

  • Added "ko-KR" to SUPPORTED_LOCALES in src/i18n/config.ts
  • Added "ko-KR" to validation script scripts/i18n-check.mjs

Test plan

  • All translation keys match the English baseline 1:1 (verified via npm run i18n:check)
  • Launch app → language selector → select "한국어"
  • Verify HUD labels, tooltips, and editor UI render in Korean
  • Switch back to English → verify no broken keys

References

This PR follows the same pattern as the merged Turkish (#375) and French (#380) locale PRs.


First and foremost — genuine respect and gratitude to @siddharthvaddem and all contributors for building such a thoughtful, well-structured open-source tool. The codebase made this contribution straightforward and enjoyable to work on. Thank you for making this freely available to everyone.

Summary by CodeRabbit

  • New Features
    • Korean (ko-KR) language support added — the entire app UI is now available in Korean, including editor controls, dialogs, settings, launch/recording flows, timeline, keyboard shortcuts, playback/export controls, and common actions. Supported locales updated so Korean appears in language selections and is integrated across the interface.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e0c8523b-a765-4465-bd0e-84c3253efd4c

📥 Commits

Reviewing files that changed from the base of the PR and between 8af22e9 and d512f59.

📒 Files selected for processing (9)
  • scripts/i18n-check.mjs
  • src/i18n/config.ts
  • src/i18n/locales/ko-KR/common.json
  • src/i18n/locales/ko-KR/dialogs.json
  • src/i18n/locales/ko-KR/editor.json
  • src/i18n/locales/ko-KR/launch.json
  • src/i18n/locales/ko-KR/settings.json
  • src/i18n/locales/ko-KR/shortcuts.json
  • src/i18n/locales/ko-KR/timeline.json
✅ Files skipped from review due to trivial changes (7)
  • src/i18n/locales/ko-KR/shortcuts.json
  • src/i18n/locales/ko-KR/launch.json
  • src/i18n/locales/ko-KR/dialogs.json
  • src/i18n/locales/ko-KR/common.json
  • src/i18n/locales/ko-KR/editor.json
  • src/i18n/locales/ko-KR/timeline.json
  • src/i18n/locales/ko-KR/settings.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/i18n/config.ts
  • scripts/i18n-check.mjs

📝 Walkthrough

Walkthrough

Adds Korean (ko-KR) localization: registers ko-KR in i18n config, extends the i18n-check script to compare ko-KR against en, and adds seven new ko-KR locale JSON files covering all i18n namespaces.

Changes

Cohort / File(s) Summary
I18n config & validation
scripts/i18n-check.mjs, src/i18n/config.ts
Added ko-KR to COMPARE_LOCALES and SUPPORTED_LOCALES so ko-KR is validated against the en baseline and included in exported Locale type.
Korean locale files
src/i18n/locales/ko-KR/common.json, src/i18n/locales/ko-KR/dialogs.json, src/i18n/locales/ko-KR/editor.json, src/i18n/locales/ko-KR/launch.json, src/i18n/locales/ko-KR/settings.json, src/i18n/locales/ko-KR/shortcuts.json, src/i18n/locales/ko-KR/timeline.json
Adds seven new JSON translation files implementing Korean strings for actions, dialogs, editor, launch UI, settings, shortcuts, and timeline namespaces.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • siddharthvaddem

Poem

korean lands, polite and bold
seven files, neatly rolled
keys aligned, the checks now sing
en → ko-KR, welcome spring 🌱✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed Title clearly and concisely describes the main change: adding Korean localization support.
Linked Issues check ✅ Passed All coding requirements from issue #406 are met: ko-KR translations added to all 7 namespaces, ko-KR registered in SUPPORTED_LOCALES and validation script, key parity verified.
Out of Scope Changes check ✅ Passed All changes are directly scoped to adding Korean localization. No unrelated modifications to unrelated files or features.
Description check ✅ Passed PR description comprehensively covers purpose, motivation, change type, related issue, detailed breakdown of all 7 namespaces with key counts, config changes, and test plan.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8af22e96a5

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/i18n-check.mjs`:
- Line 14: COMPARE_LOCALES currently omits the French locale causing
`i18n:check` to skip parity validation for French; update the COMPARE_LOCALES
array (the constant named COMPARE_LOCALES in scripts/i18n-check.mjs) to include
"fr" alongside the other locales so French keys are validated for parity the
same as the other entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7f1117c8-64ea-45fd-93cd-8c1c454c1c77

📥 Commits

Reviewing files that changed from the base of the PR and between e7d5f51 and 8af22e9.

📒 Files selected for processing (9)
  • scripts/i18n-check.mjs
  • src/i18n/config.ts
  • src/i18n/locales/ko-KR/common.json
  • src/i18n/locales/ko-KR/dialogs.json
  • src/i18n/locales/ko-KR/editor.json
  • src/i18n/locales/ko-KR/launch.json
  • src/i18n/locales/ko-KR/settings.json
  • src/i18n/locales/ko-KR/shortcuts.json
  • src/i18n/locales/ko-KR/timeline.json

- Add complete Korean locale across all 7 i18n namespaces
- All translation keys match the English baseline 1:1
- Register ko-KR in SUPPORTED_LOCALES and i18n-check validation

Refs siddharthvaddem#406
@siddharthvaddem siddharthvaddem merged commit 26c2439 into siddharthvaddem:main Apr 11, 2026
5 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Apr 13, 2026
4 tasks
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.

[Feature]: Add Korean (ko-KR) localization

2 participants