Skip to content

feat: add Korean (ko) localization#582

Open
nethippo wants to merge 1 commit into
fathah:mainfrom
nethippo:feature/korean-localization
Open

feat: add Korean (ko) localization#582
nethippo wants to merge 1 commit into
fathah:mainfrom
nethippo:feature/korean-localization

Conversation

@nethippo

@nethippo nethippo commented Jun 7, 2026

Copy link
Copy Markdown

변경 사항

  • 한국어 로케일 24개 파일 추가 (src/shared/i18n/locales/ko/)
  • config.ts에 'ko' 추가
  • types.ts에 'ko' 추가
  • Settings.tsx 언어 선택 UI에 한국어 옵션 추가
  • README-KO.md 추가
  • PLAN.md, Test.md, phase1-5.md 진행 기록 추가

테스트 결과

  • 타입 체크: 통과
  • 테스트: 1002개 통과 (2개 기존 Gateway 테스트 실패, 한국어 현지화와 무관)
  • 번역 품질: 자연스러운 한국어 (하십시오체)

- Add 24 Korean locale files in src/shared/i18n/locales/ko/
- Add 'ko' to config.ts APP_LOCALES and types.ts AppLocale
- Add Korean language option to Settings.tsx LANGUAGE_NATIVE_NAMES
- Add README-KO.md (Korean README)
- Add PLAN.md, Test.md, and phase1-5.md progress tracking files
@greptile-apps

greptile-apps Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a full Korean (ko) localization with 24 translation files covering every namespace, and wires the locale into types.ts, config.ts, and Settings.tsx. However, src/shared/i18n/index.ts — the central file that imports every locale module and registers it in the i18next resources object — was not updated, so the Korean translations are never loaded and the UI silently falls back to English when "한국어" is selected.

  • 24 Korean locale files added under src/shared/i18n/locales/ko/ with complete, natural-sounding translations.
  • ko registered in AppLocale type, APP_LOCALES array, and the Settings language-picker display name map.
  • src/shared/i18n/index.ts missing the ~25 import statements and the ko: resources block required to make the locale functional; several planning/process documents (PLAN.md, Test.md, phase1-5.md) are committed to the repo root.

Confidence Score: 3/5

Not safe to merge as-is — selecting Korean in the UI will silently display English for every string

The 24 Korean translation files are well-written and complete, and the type/config/UI wiring is correct. But the locale registration step in index.ts was skipped entirely, meaning no Korean string will ever reach the user. Additionally, several planning documents are committed to the repo root.

src/shared/i18n/index.ts needs ~25 import statements and a ko resources block added, matching the pattern used by every other locale

Important Files Changed

Filename Overview
src/shared/i18n/index.ts Not updated — missing all Korean imports and the ko resources block, so the new locale is unreachable at runtime
src/shared/i18n/config.ts Correctly adds ko to the APP_LOCALES array
src/shared/i18n/types.ts Correctly extends the AppLocale union type with ko
src/renderer/src/screens/Settings/Settings.tsx Correctly adds 한국어 to the LANGUAGE_NATIVE_NAMES map for display in the UI
src/shared/i18n/locales/ko/constants.ts Large constants file with all 220+ keys translated into Korean; translation quality looks correct
PLAN.md Personal planning document that should not be committed to the repository
package-lock.json Minor peer-dependency metadata shuffle; appears to be an npm version normalisation artifact, not a meaningful dependency change

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User selects Korean in Settings] --> B[setLocale called with ko]
    B --> C[i18next.changeLanguage ko]
    C --> D{resources ko exists?}
    D -- YES after fix --> E[Korean translations served]
    D -- NO current state --> F[resources ko is undefined]
    F --> G[t falls back to English]
    G --> H[UI displays English strings]

    subgraph Missing from index.ts
        I[import commonKo]
        J[import chatKo]
        K[23 more module imports]
        L[ko resources block registration]
    end
Loading

Reviews (1): Last reviewed commit: "feat: add Korean (ko) localization" | Re-trigger Greptile

Comment thread PLAN.md
@@ -0,0 +1,65 @@
# hermes-desktop 한국어 현지화 계획

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.

P2 Development process files committed to repository

PLAN.md, Test.md, phase1.mdphase5.md appear to be personal planning and progress-tracking documents for this PR. Committing them to the repo root adds noise to the project history and may confuse future contributors. Consider removing them before merging, or moving them out of the repo entirely.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

yep. my mistake. I will make it removed before merging.

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