feat(i18n): add Korean (ko) translation#52
Merged
Conversation
Adds a complete Korean translation (929/929 keys, matching en.json's structure) and registers ko in the language switcher. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@moduvoice is attempting to deploy a commit to the Projects Team on Vercel. A member of the Team first needs to authorize it. |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This adds Korean (
ko) translation support — to help Korean-speaking users use thisopen-source project more comfortably in their own language.
(한국 사람들의 오픈소스 이용에 도움이 되게 하기 위해서 한글화 작업을 하였습니다.)
Changes
client-next/messages/ko.json— a complete Korean translation mirroring the exact key structure ofclient-next/messages/en.json(929/929 keys, same nesting as the existingzh-CN.json).koinclient-next/src/components/language-switcher.tsx: added{ code: "ko", label: "한국어" }to thelocaleslist, and added a"한"label for the switcher trigger button.Testing
en.jsonandko.json: 929/929 keys match exactly (no missing, no extra keys).{placeholder}token (e.g.{count},{name},{error},{provider}) is preserved identically betweenen.jsonandko.jsonfor each key — 0 mismatches.npx tsc --noEmit,npm run lint, andnpm run buildinsideclient-next/afternpm install— all completed successfully. The one pre-existing lint error touchinglanguage-switcher.tsx(document.cookieassignment) was confirmed viagit stashto already exist onmasterbefore this change.AI Assistance Disclosure
agent_name: Claude Codeagent_version: 2.1.204model_used: Claude Sonnet 5 (claude-sonnet-5)human_testing: No human manually exercised the running application UI (e.g. clicking through screens with the locale switched to Korean) for this change. The checks that were run — and were run by the AI agent, not a human — are: a script-based key-parity and placeholder-parity diff betweenen.jsonandko.json,npx tsc --noEmit,npm run lint, andnpm run build, all of which passed. Flagging this explicitly per this repo's AI disclosure policy rather than claiming testing that did not happen.contribution_summary: Added a complete Korean (ko) translation (929/929 keys) and registered it in the language switcher.Greptile Summary
This PR adds Korean locale support to the client app. The main changes are:
client-next/messages/ko.jsontranslation catalog.koregistered in the language switcher locale list.Confidence Score: 5/5
Safe to merge with minimal risk.
Changes are limited to a new translation catalog and locale registration in the existing switcher path. The message structure and placeholders align with the existing catalog. No functional issues were identified.
No files require special attention.
What T-Rex did
Important Files Changed
Sequence Diagram
%%{init: {'theme': 'neutral'}}%% sequenceDiagram participant User participant LanguageSwitcher participant BrowserCookie as Browser cookie participant NextIntl as next-intl request config participant Messages as messages/ko.json User->>LanguageSwitcher: Select 한국어 (`ko`) LanguageSwitcher->>BrowserCookie: "Set `locale=ko`" LanguageSwitcher->>NextIntl: Refresh route NextIntl->>BrowserCookie: Read `locale` NextIntl->>Messages: Import `../../messages/ko.json` Messages-->>NextIntl: Korean translations NextIntl-->>User: Render UI in Korean%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% sequenceDiagram participant User participant LanguageSwitcher participant BrowserCookie as Browser cookie participant NextIntl as next-intl request config participant Messages as messages/ko.json User->>LanguageSwitcher: Select 한국어 (`ko`) LanguageSwitcher->>BrowserCookie: "Set `locale=ko`" LanguageSwitcher->>NextIntl: Refresh route NextIntl->>BrowserCookie: Read `locale` NextIntl->>Messages: Import `../../messages/ko.json` Messages-->>NextIntl: Korean translations NextIntl-->>User: Render UI in KoreanReviews (2): Last reviewed commit: "Update client-next/src/components/langua..." | Re-trigger Greptile