Skip to content

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

stkang
Copy link

@stkang stkang commented Jun 9, 2025

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.

@Copilot Copilot AI review requested due to automatic review settings June 9, 2025 07:44
@stkang stkang requested a review from a team as a code owner June 9, 2025 07:44
Copy link

cla-bot bot commented Jun 9, 2025

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.

Copy link
Contributor

@Copilot Copilot AI left a 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": {
Copy link
Preview

Copilot AI Jun 9, 2025

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.

Suggested change
"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") {
Copy link
Preview

Copilot AI Jun 9, 2025

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",
Copy link
Preview

Copilot AI Jun 9, 2025

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.

@stkang
Copy link
Author

stkang commented Jun 9, 2025

How long do I have to wait after submitting the form?

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.

2 participants