Conversation
Add complete Korean translation across all 7 namespaces: common, launch, editor, timeline, settings, dialogs, shortcuts. All 403 translation keys covered. Passes npm run i18n:check.
|
Warning
|
| Cohort / File(s) | Summary |
|---|---|
I18n Configuration src/i18n/config.ts |
Added ko to SUPPORTED_LOCALES array, implicitly updating the AppLocale type to include Korean as a valid locale value. |
I18n Context Registration src/contexts/I18nContext.tsx |
Imported seven Korean translation bundles and registered them in the messages object under the ko key to enable locale-aware translation resolution. |
Korean Translation Resources src/i18n/locales/ko/common.json, dialogs.json, editor.json, launch.json, settings.json, shortcuts.json, timeline.json |
Added complete Korean translation files covering UI text for app metadata, actions, errors, dialogs, editor controls, recording/launch flows, settings, keyboard shortcuts, and timeline interactions, with parameterized placeholders for dynamic content. |
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
🐰 A hop and a skip through locale so new,
Korean translations, now speaking true,
Seven files nestled, each one complete,
From dialogs to timelines, the locales now greet,
Language blooms where the config once grew! 🌸
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The PR title 'feat(i18n): add Korean (ko) locale' clearly and concisely describes the main change: adding Korean language support to the i18n system. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| Description check | ✅ Passed | The PR description covers the essential template sections: clear summary of changes, motivation (adding Korean translation support), type of change (New Feature), related changes listed, and a test plan with automated checks completed. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
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.
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/i18n/locales/ko/settings.json (1)
1-160: Ensure Korean font support is configured.Korean characters (Hangul) require proper font support for correct rendering. Verify that the application's font stack includes fonts with comprehensive Korean glyph coverage (e.g., Noto Sans KR, Malgun Gothic, or system fonts like Apple SD Gothic Neo).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/i18n/locales/ko/settings.json` around lines 1 - 160, The Korean locale requires proper font fallback so Hangul renders correctly; update the global/app font stack used by the UI (e.g., the CSS/font-family used for strings under keys like "captions.fontFamily", "effects.cursorStyle", "background.title") to include a Korean-capable font such as "Noto Sans KR" and system fallbacks ("Malgun Gothic", "Apple SD Gothic Neo", "sans-serif"), ensure the Noto Sans KR webfont is loaded (via `@import`, link, or bundler assets) and that any font-loading logic or bundler configuration includes the KR subset; also verify any default "fontFamily" usage in settings or UI components reads from the locale key "captions.fontFamily" and will fall back to the KR-capable fonts when rendering Korean strings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/i18n/config.ts`:
- Line 3: SUPPORTED_LOCALES now includes 'ko' but the UI label maps are missing
a Korean entry; update the labels object in the VideoEditor component (look for
the variable named labels in VideoEditor.tsx) and the LOCALE_LABELS object in
the LaunchWindow component (LOCALE_LABELS in LaunchWindow.tsx) to add ko: "한국어"
so Korean displays correctly instead of the locale code.
---
Nitpick comments:
In `@src/i18n/locales/ko/settings.json`:
- Around line 1-160: The Korean locale requires proper font fallback so Hangul
renders correctly; update the global/app font stack used by the UI (e.g., the
CSS/font-family used for strings under keys like "captions.fontFamily",
"effects.cursorStyle", "background.title") to include a Korean-capable font such
as "Noto Sans KR" and system fallbacks ("Malgun Gothic", "Apple SD Gothic Neo",
"sans-serif"), ensure the Noto Sans KR webfont is loaded (via `@import`, link, or
bundler assets) and that any font-loading logic or bundler configuration
includes the KR subset; also verify any default "fontFamily" usage in settings
or UI components reads from the locale key "captions.fontFamily" and will fall
back to the KR-capable fonts when rendering Korean strings.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: ba159c7a-3450-4418-b08b-4c9a73444e83
📒 Files selected for processing (9)
src/contexts/I18nContext.tsxsrc/i18n/config.tssrc/i18n/locales/ko/common.jsonsrc/i18n/locales/ko/dialogs.jsonsrc/i18n/locales/ko/editor.jsonsrc/i18n/locales/ko/launch.jsonsrc/i18n/locales/ko/settings.jsonsrc/i18n/locales/ko/shortcuts.jsonsrc/i18n/locales/ko/timeline.json
| export const DEFAULT_LOCALE = 'en' as const | ||
|
|
||
| export const SUPPORTED_LOCALES = ['en', 'es', 'zh-CN'] as const | ||
| export const SUPPORTED_LOCALES = ['en', 'es', 'ko', 'zh-CN'] as const |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Find all hard-coded locale label maps that need 'ko' entry
rg -n -C3 'LOCALE_LABELS|labels.*Record.*string.*string' --type=ts --type=tsx -g '!*.json'Repository: webadderall/Recordly
Length of output: 91
🏁 Script executed:
#!/bin/bash
# Search for locale label maps without specifying invalid file type
rg -n 'LOCALE_LABELS|labels.*Record.*string' -A 5 src/Repository: webadderall/Recordly
Length of output: 1201
🏁 Script executed:
#!/bin/bash
# Find the specific files mentioned in the review
fd -e ts -e tsx 'VideoEditor|LaunchWindow' src/Repository: webadderall/Recordly
Length of output: 146
Add ko entry to hard-coded locale label maps.
Adding 'ko' to SUPPORTED_LOCALES requires updating the corresponding label maps in UI components. Without this, Korean will display as the fallback code instead of "한국어":
src/components/video-editor/VideoEditor.tsx(lines 286-290):labelsobject needsko: "한국어"src/components/launch/LaunchWindow.tsx(lines 57-61):LOCALE_LABELSobject needsko: "한국어"
Example fixes
// VideoEditor.tsx (lines 286-290)
const labels: Record<string, string> = {
en: "EN",
es: "ES",
+ ko: "한국어",
"zh-CN": "中文",
};// LaunchWindow.tsx (lines 57-61)
const LOCALE_LABELS: Record<string, string> = {
en: "EN",
es: "ES",
+ ko: "한국어",
"zh-CN": "中文",
};🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@src/i18n/config.ts` at line 3, SUPPORTED_LOCALES now includes 'ko' but the UI
label maps are missing a Korean entry; update the labels object in the
VideoEditor component (look for the variable named labels in VideoEditor.tsx)
and the LOCALE_LABELS object in the LaunchWindow component (LOCALE_LABELS in
LaunchWindow.tsx) to add ko: "한국어" so Korean displays correctly instead of the
locale code.
Summary
npm run i18n:checkwith no missing or extra keysChanges
src/i18n/locales/ko/— 7 new locale files (common, launch, editor, timeline, settings, dialogs, shortcuts)src/i18n/config.ts— Add'ko'toSUPPORTED_LOCALESsrc/contexts/I18nContext.tsx— Import and register ko locale bundleTranslation notes
{{variable}}interpolation placeholders preservedTest plan
npm run i18n:checkpasses — all keys structurally consistent