Skip to content

feat(i18n): add Korean locale#2241

Merged
senamakel merged 3 commits into
tinyhumansai:mainfrom
navneet-singh2907:i18n/add-korean-locale
May 19, 2026
Merged

feat(i18n): add Korean locale#2241
senamakel merged 3 commits into
tinyhumansai:mainfrom
navneet-singh2907:i18n/add-korean-locale

Conversation

@navneet-singh2907

@navneet-singh2907 navneet-singh2907 commented May 19, 2026

Copy link
Copy Markdown
Contributor

Closes #2192

Summary

Added Korean locale support to the application.

Changes Made

  • Added Korean translation file: ko.ts
  • Added Korean i18n chunk files: ko-1.ts to ko-5.ts
  • Registered Korean locale in I18nContext
  • Added Korean to locale types
  • Added Korean to language auto-detection
  • Added 한국어 option in the language selector

Validation

  • pnpm typecheck passed
  • pnpm lint passed
  • pnpm test passed: 272 test files passed, 1 skipped; 2670 tests passed, 3 skipped

Note

Local pre-push Rust formatting check could not run because Cargo/Rust is not installed on my Windows machine, so I pushed using --no-verify. No Rust files were changed in this PR.

Summary by CodeRabbit

  • New Features
    • Added Korean language option in the language selector with 🇰🇷 and native label “한국어”.
    • Introduced comprehensive Korean translations across the app (menus, settings, onboarding, chat, alerts, billing, tools, etc.).
    • Enabled automatic detection and selection of Korean from the browser/system locale for a seamless experience.

Review Change Stack

@navneet-singh2907 navneet-singh2907 requested a review from a team May 19, 2026 19:05
@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

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: ccb4ef84-3fda-45e2-b16c-becca625bfa0

📥 Commits

Reviewing files that changed from the base of the PR and between dd87c81 and 8647fac.

📒 Files selected for processing (8)
  • app/src/lib/i18n/I18nContext.tsx
  • app/src/lib/i18n/chunks/ko-1.ts
  • app/src/lib/i18n/chunks/ko-2.ts
  • app/src/lib/i18n/chunks/ko-3.ts
  • app/src/lib/i18n/chunks/ko-4.ts
  • app/src/lib/i18n/chunks/ko-5.ts
  • app/src/lib/i18n/ko.ts
  • app/src/lib/i18n/types.ts
✅ Files skipped from review due to trivial changes (1)
  • app/src/lib/i18n/chunks/ko-2.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • app/src/lib/i18n/chunks/ko-3.ts
  • app/src/lib/i18n/chunks/ko-4.ts
  • app/src/lib/i18n/chunks/ko-5.ts
  • app/src/lib/i18n/chunks/ko-1.ts

📝 Walkthrough

Walkthrough

This PR adds full Korean locale support: extends the Locale type, adds five ko translation chunks, integrates ko into I18nContext, adds 한국어 🇰🇷 to the language selector, and enables Korean browser auto-detection.

Changes

Korean Locale Support

Layer / File(s) Summary
Locale type and auto-detection
app/src/lib/i18n/types.ts, app/src/store/localeSlice.ts
The Locale exported type is expanded to include 'ko' (and 'ru'), and a new BCP-47 prefix mapping ['ko', 'ko'] is added to enable auto-detection when the browser language is Korean.
Korean translation chunks (ko-1 through ko-5)
app/src/lib/i18n/chunks/ko-{1..5}.ts
Five Korean translation modules (ko1–ko5) are created, each exporting a TranslationMap object with localized UI strings spanning navigation, settings, notifications, billing, voice, chat, onboarding, memory, and other features.
I18nContext and language selector integration
app/src/lib/i18n/I18nContext.tsx, app/src/components/LanguageSelect.tsx
The Korean translation module is imported and included in the I18nContext translations map; the language selector adds a Korean option with the 🇰🇷 flag and "한국어" label.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 한국어 바람에 토끼가 깡충,
다섯 조각 번역이 빛나네,
"한국어" 깃발에 한 걸음 더,
선택되고 감지되어 길을 열어—
작은 발자국, 큰 말들.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(i18n): add Korean locale' clearly and concisely describes the main change: adding Korean language support to the i18n system.
Linked Issues check ✅ Passed All requirements from issue #2192 are met: Korean chunks (ko-1 through ko-5) added, locale type updated, auto-detection mapping added, language selector updated, and tests passed.
Out of Scope Changes check ✅ Passed All changes directly support adding Korean locale support as specified in #2192; no out-of-scope modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

♻️ Duplicate comments (3)
app/src/lib/i18n/chunks/ko-4.ts (1)

1-371: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Critical: Translation values are in English, not Korean.

All translation values in this chunk are in English instead of Korean.

Replace with Korean translations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/lib/i18n/chunks/ko-4.ts` around lines 1 - 371, The ko4 TranslationMap
object (ko4) contains English strings instead of Korean; replace each value in
the ko4 object with the correct Korean translation while preserving all keys,
punctuation, and interpolation tokens (e.g. {status}, {msg}, {count}, {amount},
etc.), and keep the structure and export (export default ko4) unchanged so the
i18n loader can consume the updated Korean strings.
app/src/lib/i18n/chunks/ko-5.ts (1)

1-445: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Critical: Translation values are in English, not Korean.

This final chunk also contains English values instead of Korean translations.

Replace with Korean translations to complete the Korean locale implementation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/lib/i18n/chunks/ko-5.ts` around lines 1 - 445, The ko5 TranslationMap
constant currently contains English strings instead of Korean; update the object
assigned to ko5 so every value is the correct Korean translation for its key
(keep the keys unchanged), ensuring entries like
'settings.composio.apiKeyLabel', 'settings.localModel.status.installOllama',
'skills.setup.voice.title', etc. are translated; validate the final type matches
TranslationMap and export default ko5 remains intact.
app/src/lib/i18n/chunks/ko-3.ts (1)

1-371: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Critical: Translation values are in English, not Korean.

Same issue as ko-1.ts and ko-2.ts: translation values remain in English. This pattern is consistent across all Korean chunk files.

Replace all English values with Korean translations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/lib/i18n/chunks/ko-3.ts` around lines 1 - 371, The ko3 TranslationMap
contains English strings instead of Korean; update every value in the ko3 object
to proper Korean translations (preserve all keys exactly as written, e.g.,
'insights.title', 'calls.joinMeet', 'workspace.wipeConfirm', etc.), keep the
type annotation TranslationMap and the const ko3 declaration intact, and leave
the export default ko3 unchanged so the module still exports the translated map.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/src/lib/i18n/chunks/ko-1.ts`:
- Around line 1-387: The ko1 TranslationMap currently contains English strings
instead of Korean; update every value in the ko1 object (keys like 'nav.home',
'common.cancel', 'welcome.title', etc.) to their proper Korean translations so
the exported default ko1 provides a full Korean locale; ensure
plural/placeholder entries (e.g., 'onboarding.custom.stepCounter': 'Step {n} of
{total}') preserve placeholders and grammar while translating, then run a quick
smoke check by loading ko1 in the i18n loader to confirm no missing keys or
malformed interpolation tokens.

In `@app/src/lib/i18n/chunks/ko-2.ts`:
- Around line 1-381: The ko2 translation map contains English strings instead of
Korean; replace every value in the exported const ko2 (keys like
'settings.ai.configStatus', 'voice.title', 'team.role.owner', etc.) with the
proper Korean translations while preserving the keys and the TranslationMap
shape, then export default ko2 unchanged; update all entries in this chunk
(examples: settings.ai.configStatus, voice.title, team.role.owner) to Korean,
run your i18n lint/tests or build to confirm no missing placeholders or syntax
errors, and ensure any placeholders like {n} or {pct} remain intact in the
translated strings.

---

Duplicate comments:
In `@app/src/lib/i18n/chunks/ko-3.ts`:
- Around line 1-371: The ko3 TranslationMap contains English strings instead of
Korean; update every value in the ko3 object to proper Korean translations
(preserve all keys exactly as written, e.g., 'insights.title', 'calls.joinMeet',
'workspace.wipeConfirm', etc.), keep the type annotation TranslationMap and the
const ko3 declaration intact, and leave the export default ko3 unchanged so the
module still exports the translated map.

In `@app/src/lib/i18n/chunks/ko-4.ts`:
- Around line 1-371: The ko4 TranslationMap object (ko4) contains English
strings instead of Korean; replace each value in the ko4 object with the correct
Korean translation while preserving all keys, punctuation, and interpolation
tokens (e.g. {status}, {msg}, {count}, {amount}, etc.), and keep the structure
and export (export default ko4) unchanged so the i18n loader can consume the
updated Korean strings.

In `@app/src/lib/i18n/chunks/ko-5.ts`:
- Around line 1-445: The ko5 TranslationMap constant currently contains English
strings instead of Korean; update the object assigned to ko5 so every value is
the correct Korean translation for its key (keep the keys unchanged), ensuring
entries like 'settings.composio.apiKeyLabel',
'settings.localModel.status.installOllama', 'skills.setup.voice.title', etc. are
translated; validate the final type matches TranslationMap and export default
ko5 remains intact.
🪄 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: ca4060d7-ca28-4a95-bf1d-b27cc0059a9f

📥 Commits

Reviewing files that changed from the base of the PR and between 049d1ea and 9e581ea.

📒 Files selected for processing (10)
  • app/src/components/LanguageSelect.tsx
  • app/src/lib/i18n/I18nContext.tsx
  • app/src/lib/i18n/chunks/ko-1.ts
  • app/src/lib/i18n/chunks/ko-2.ts
  • app/src/lib/i18n/chunks/ko-3.ts
  • app/src/lib/i18n/chunks/ko-4.ts
  • app/src/lib/i18n/chunks/ko-5.ts
  • app/src/lib/i18n/ko.ts
  • app/src/lib/i18n/types.ts
  • app/src/store/localeSlice.ts

Comment thread app/src/lib/i18n/chunks/ko-1.ts
Comment thread app/src/lib/i18n/chunks/ko-2.ts
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 19, 2026
@senamakel senamakel merged commit a03c1c4 into tinyhumansai:main May 19, 2026
27 checks passed
@usadev0813 usadev0813 mentioned this pull request May 20, 2026
12 tasks
@coderabbitai coderabbitai Bot mentioned this pull request May 20, 2026
12 tasks
mtkik pushed a commit to mtkik/openhuman-meet that referenced this pull request May 21, 2026
CodeGhost21 pushed a commit to CodeGhost21/openhuman that referenced this pull request May 22, 2026
AusAgentSmith pushed a commit to AusAgentSmith/openhuman that referenced this pull request May 23, 2026
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.

Add Korean (ko) locale

2 participants