feat(localizations): add missing vi-VN (Vietnamese) translations#8663
feat(localizations): add missing vi-VN (Vietnamese) translations#8663ANIBIT14 wants to merge 10 commits into
Conversation
🦋 Changeset detectedLatest commit: 3164a20 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
@ANIBIT14 is attempting to deploy a commit to the Clerk Production Team on Vercel. A member of the Team first needs to authorize it. |
ce2bf14 to
c3f1a76
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR adds a patch changeset and completes Vietnamese (vi-VN) localization coverage by filling previously undefined translation keys across the Clerk product: billing and checkout UI (badges, cancellation, subscription details), organization management UI, authentication forms and enterprise connection flows, password security error messaging, MFA and password reset task flows, and user menu/profile actions. Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
packages/localizations/src/vi-VN.ts (1)
63-63: ⚡ Quick winAdd/adjust localization coverage tests for the newly translated keys.
Since this PR modifies many vi-VN strings, please add or update localization snapshot/parity tests to cover these keys and placeholder rendering paths.
As per coding guidelines: "
**/*: If there are no tests added or modified as part of the PR, please suggest that tests be added to cover the changes."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/localizations/src/vi-VN.ts` at line 63, Update or add localization tests to cover the new/changed Vietnamese strings (e.g., the badge__freeTrial key in vi-VN.ts) by updating the localization snapshot/parity test suite so it imports the vi-VN translations and asserts snapshots or parity against the source (or en) bundle; include tests for placeholder rendering paths (strings with interpolation/formatting) to ensure placeholders are rendered correctly, and add the new/modified keys to the expected snapshot/fixture files so CI will detect any future regressions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/localizations/src/vi-VN.ts`:
- Line 63: Update or add localization tests to cover the new/changed Vietnamese
strings (e.g., the badge__freeTrial key in vi-VN.ts) by updating the
localization snapshot/parity test suite so it imports the vi-VN translations and
asserts snapshots or parity against the source (or en) bundle; include tests for
placeholder rendering paths (strings with interpolation/formatting) to ensure
placeholders are rendered correctly, and add the new/modified keys to the
expected snapshot/fixture files so CI will detect any future regressions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: b73df86e-48c5-4b5c-b200-4484fb93bb51
📒 Files selected for processing (2)
.changeset/vi-vn-translations.mdpackages/localizations/src/vi-VN.ts
wobsoriano
left a comment
There was a problem hiding this comment.
Thanks for your contribution! I have codex assist me to confirm the translations. Can you check if the review is legit?
| organization_domain_common: undefined, | ||
| organization_domain_exists_for_enterprise_connection: undefined, | ||
| organization_membership_quota_exceeded: undefined, | ||
| organization_membership_quota_exceeded: |
There was a problem hiding this comment.
Hi, the source of this is "You have reached your limit of {maxAllowed} organization memberships, including outstanding invitations.".
Can you confirm the translation have the same meaning?
There was a problem hiding this comment.
Confirmed — the meaning is correct, but I dropped the {maxAllowed} interpolation. I worked from packages/localizations/src/en-US.ts, which itself reads "You have reached your limit of organization memberships, including outstanding invitations." with no placeholder, so I missed it. Updating the Vietnamese to:
'Bạn đã đạt đến giới hạn {{maxAllowed}} thành viên tổ chức, bao gồm cả các lời mời đang chờ xử lý.'
| 'Thiết lập một phương thức đăng nhập mới trong ứng dụng xác thực của bạn và quét mã QR sau đây để liên kết nó với tài khoản của bạn.', | ||
| infoText__unableToScan: | ||
| 'Thiết lập một phương thức đăng nhập mới trong ứng dụng xác thực của bạn và nhập Khóa được cung cấp bên dưới.', | ||
| inputLabel__unableToScan1: |
There was a problem hiding this comment.
This reads quite literally in Vietnamese. “Mật khẩu dựa trên thời gian hoặc Mật khẩu một lần” sounds machine-translated and “mật khẩu” is awkward here; “mã” would be
more natural for TOTP/OTP. Can you rephrase this to something more idiomatic and align it with the wording already used elsewhere in the locale?
Can you confirm this review by Codex if it's legit?
There was a problem hiding this comment.
Agreed — in Vietnamese tech UI, TOTP/OTP are conventionally rendered as "mã" (code), not "mật khẩu" (password). Updating to:
'Đảm bảo rằng Mã dựa trên thời gian hoặc Mã một lần đã được bật, sau đó hoàn tất việc liên kết tài khoản của bạn.'
| }, | ||
| organizationSwitcher: { | ||
| action__closeOrganizationSwitcher: undefined, | ||
| action__closeOrganizationSwitcher: 'Đóng bộ chuyển đổi tổ chức', |
There was a problem hiding this comment.
“Bộ chuyển đổi tổ chức” is understandable, but it feels too literal for UI copy. Can you use a more natural Vietnamese label for “organization switcher” here and in
the matching open/close action below?
Can you confirm this review by Codex if it's legit?
There was a problem hiding this comment.
Agreed — "bộ chuyển đổi" is too literal. To stay consistent with the userButton.action__{open,close}UserMenu strings later in the file (which use "menu người dùng"), I'll update both to:
action__closeOrganizationSwitcher: 'Đóng menu chuyển đổi tổ chức',
action__openOrganizationSwitcher: 'Mở menu chuyển đổi tổ chức',
|
Did a self-review pass on the rest of the Vietnamese strings I added, in the same spirit as above review, and pushed a few more refinements:
Let me know if anything still reads off. |
Description
Adds missing Vietnamese (Vietnam)
vi-VNtranslations. Previously many keys inpackages/localizations/src/vi-VN.tswere set toundefined(untranslated). This PR fills in 94 of them with Vietnamese translations.Areas covered:
badge__*)billing)actionLabel__manageSubscription)unstable__errors)Notes
{{interpolation}}tokens are preserved. Date filters use thevi-VNlocale (e.g.{{ date | shortDate('vi-VN') }}).undefinedbecause they are alsoundefinedin the sourceen-US.ts(intentionally unset upstream), so there is no English string to translate from.vi-VN) is a community-maintained locale per the package README; this is a community contribution.