Repository navigation
feat: add Vietnamese locale across app, console, and stats - #307
Merged
Merged
Conversation
Adds vi as a third locale alongside en and es, translated from English: - New dictionaries: packages/app (1,126 keys), packages/console (716), packages/stats (228), packages/ui (172), packages/desktop renderer (21) - Locale registries extended with vi: app language context and entry, desktop renderer i18n, console i18n + language lib (shared by stats), enterprise app; "Tiếng Việt" label and vi accept-language detection - Console docs routing maps vi to the published /docs/vi locale - Terminology captured in .codev/glossary/vi.md: UI chrome translated, common dev terms kept in English, user addressed as "bạn" - translate-app script: vi registered; glossaryFile repointed from the stale .opencode/glossary/ to .codev/glossary/ so glossaries load - e2e locale-projection spec now also asserts the vi projection - DIVERGENCES.md rows updated + new Vietnamese row; CHANGELOG entry Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.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.
Summary
Adds Vietnamese (
vi) as a third locale alongside English and Spanish, translated from English (~2,250 strings).New dictionaries (fork-only files):
packages/app/src/i18n/vi.ts— 1,126 keys (desktop/web app)packages/console/app/src/i18n/vi.ts— 716 keyspackages/stats/app/src/i18n/vi.ts— 228 keyspackages/ui/src/i18n/vi.ts— 172 keyspackages/desktop/src/renderer/i18n/vi.ts— 21 keysWiring: every locale registry now includes
vi— app language context/entry, desktop renderer i18n, consolei18n/index.ts+lib/language.ts(shared by stats), and the enterprise app. "Tiếng Việt" shows in language pickers,vibrowser/OS languages are auto-detected, and console docs routing maps Vietnamese to the published/docs/vidocs locale.Terminology (captured in
.codev/glossary/vi.md): UI chrome translated; common dev terms (session, prompt, token, commit, branch, agent, model…) kept in English per Vietnamese dev-tool convention; user addressed as "bạn"; Vietnamese sentence casing. ~200 strings are deliberately identical to English (product names, tech labels, placeholder-only strings).Tooling:
vi/"Vietnamese" registered inscript/translate-app.ts. Also fixes a latent bug:glossaryFilestill pointed at.opencode/glossary/, which no longer exists after the config-dir rename, so glossaries were silently never loaded — now reads.codev/glossary/(test expectations updated).Bookkeeping: DIVERGENCES.md locale rows updated + a new Vietnamese row; CHANGELOG.md Unreleased entry; e2e locale-projection spec now also asserts the
viprojection ("Đã khám phá").Verification
bun script/translate-app.ts vi --check— zero drift (app, ui, desktop){{placeholder}}sets vs Englishbun typecheckclean in app, ui, desktop, console/app, stats/app, enterprisebun run test:unit); 12 translate-script tests pass/docs/vi🤖 Generated with Claude Code