-
Notifications
You must be signed in to change notification settings - Fork 833
feat: add Korean language support and localization files #16449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
We require contributors to sign our Contributor License Agreement, and we don't have yours on file. In order for us to review and merge your code, please sign CLA and add your name to contributors list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces Korean (ko-KR) language support by adding locale entries and updating language selection lists.
- Adds Korean option to language dropdowns in AuthFooter and ProfileDropdown components
- Updates valid locales and normalization logic in i18n plugin
- Supplies complete Korean translation files under
locales
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
frontend/src/views/auth/AuthFooter.vue | Added Korean option to languageList and localeLabel |
frontend/src/components/ProfileDropdown.vue | Added Korean option to languageOptions |
frontend/src/plugins/i18n.ts | Added ko-KR to validLocaleList and normalization |
frontend/src/locales/subscription/ko-KR.json | New file: Korean translations for subscription UI |
frontend/src/locales/dynamic/ko-KR.json | New file: Korean translations for dynamic content |
frontend/i18n.ts | Added ko-KR to TARGET_LANGS for translation script |
Comments suppressed due to low confidence (2)
frontend/src/views/auth/AuthFooter.vue:48
- [nitpick] Hard-coding language options in multiple components can lead to duplication; consider centralizing the language list and label mappings in a shared constant.
{ label: "한국어",
frontend/src/components/ProfileDropdown.vue:136
- [nitpick] This Korean language option duplicates the list in AuthFooter.vue. Extracting a shared language configuration will reduce duplication and keep additions in sync.
{ label: "한국어",
"title": "인스턴스 SSH 연결", | ||
"desc": "SSH를 통해 인스턴스에 연결합니다." | ||
}, | ||
"bb.feature.custom-instance-synchronization": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The translation key uses a dot (bb.feature.custom-instance-synchronization
) but the rest of the keys follow the hyphen pattern (bb-feature-*
). This mismatch will break lookup and should be renamed to bb-feature-custom-instance-synchronization
.
"bb.feature.custom-instance-synchronization": { | |
"bb-feature-custom-instance-synchronization": { |
Copilot uses AI. Check for mistakes.
@@ -47,6 +47,9 @@ const getValidLocale = () => { | |||
if (locale === "vi") { | |||
locale = "vi-VN"; | |||
} | |||
if (locale === "ko") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Sequential if
statements for locale normalization scale poorly. Consider using a mapping object (e.g., { ko: 'ko-KR', vi: 'vi-VN', ... }
) to drive normalization logic.
Copilot uses AI. Check for mistakes.
@@ -15,6 +15,7 @@ const TARGET_LANGS = process.env.npm_config_target?.split(".") ?? [ | |||
"ja-JP", | |||
"zh-CN", | |||
"vi-VN", | |||
"ko-KR", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This console.log
will run in all environments and may clutter logs; consider removing it or using a debug logger that can be disabled in production.
Copilot uses AI. Check for mistakes.
How long do I have to wait after submitting the form? |
This PR adds Korean language support to the Bytebase project. The update improves accessibility and user experience for Korean-speaking users by providing a complete, context-aware translation of the user interface.
ps. With the help of AI.