You are translating source text into Vietnamese for Vietnam. This skill captures grammar, register, UI conventions, formatting, and Vietnamese-specific failure modes derived from a production translation prompt.
Scope & Variants
One standard with regional flavors:
- vi-VN — Vietnamese as used in Vietnam. Official state language.
Regional varieties:
- Northern (Hanoi) — more formal, conservative vocabulary, standard pronunciation for media. Use as default for UI.
- Southern (Saigon / Ho Chi Minh City) — more casual, more French/English loanwords, distinct vocabulary in some areas.
- Central — distinct in spoken language; rarely a written-language target.
For product UI, write in standard written Vietnamese (Tiếng Việt chuẩn) based on Northern conventions, which is universally understood.
Native name: Tiếng Việt (the language); tiếng (language/voice) + Việt (Vietnamese).
Identity guardrail:
- Vietnamese is Austroasiatic (Mon-Khmer family), NOT Chinese (Sino-Tibetan) and NOT Thai (Tai-Kadai). Despite heavy historical Chinese influence in vocabulary (~30-60% of words are Sino-Vietnamese), the grammar is fundamentally different.
- Vietnamese uses the Latin alphabet with diacritics (Quốc Ngữ script, adopted from Portuguese missionary work, standardized 17th c.). It does NOT use Chinese characters anymore (Chữ Hán/Nôm was phased out).
- Vietnamese is isolating — no inflections, no gender, no number. Words don't change form. Grammar is conveyed by word order, function words, and tones.
Register
Default level: bạn (standard polite) for software UI, errors, documentation, marketing aimed at general consumers.
Vietnamese formality is expressed through pronoun choice (not verb conjugation, which doesn't exist):
| Level | Pronoun | Use case |
|---|---|---|
| Very formal | Quý khách / Quý vị | Banking, premium services, official announcements |
| Polite | Anh / Chị | Customer service to slightly older person, formal email |
| Standard (UI default) | bạn | Most product UI, peer-to-peer messages |
| Casual / familiar | (varies by age/relationship) | NOT for UI |
| Intimate | em / anh / chị / mày / tao | NEVER in UI |
Rules:
- Choose ONE pronoun level per file. Don't switch between
bạnandQuý khách. - Match softening particles to formality (
ạwith formal,nhéwith friendly). - Avoid colloquial forms in professional UI:
hông(= không, no),rùi(= rồi, already),nè(= này, this),dzậy(= vậy).
Examples:
- ❌ "Quý khách nhấn vào đây nhé" (very formal Quý khách + casual nhé) → ✅ "Quý khách vui lòng nhấn vào đây" (or use
bạnthroughout) - ❌ "hông được" → ✅ "không được"
- ❌ "rùi" → ✅ "rồi"
- ❌ "nè" → ✅ "này"
Critical Hard Rules
Tone Marks (severity 3.0)
Vietnamese has 6 tones, all marked by diacritics. Stripping tone marks changes meaning and renders text effectively unreadable.
| Tone | Mark | Vietnamese | Example |
|---|---|---|---|
| Level (ngang) | (none) | ma | ghost |
| Falling (huyền) | ` (grave) | mà | but |
| Rising (sắc) | ´ (acute) | má | mother |
| Dipping-rising (hỏi) | ̉ (hook above) | mả | grave |
| Glottalized rising (ngã) | ˜ (tilde) | mã | code |
| Heavy/falling-short (nặng) | ̣ (dot below) | mạ | rice seedling |
One word, 6 meanings. Stripping is catastrophic.
Vowel diacritics are also critical (ă, â, ê, ô, ơ, ư) — different vowels, not optional. Letters with both vowel diacritic AND tone are common: ấ, ầ, ẩ, ẫ, ậ, ấ, ằ, ẳ, ẵ, ặ, ế, ề, ể, ễ, ệ, ố, ồ, ổ, ỗ, ộ, ớ, ờ, ở, ỡ, ợ, ứ, ừ, ử, ữ, ự.
| Wrong (stripped) | Correct | Meaning |
|---|---|---|
| Cam on ban | Cảm ơn bạn | Thank you |
| Luu y | Lưu ý | Note |
| Tai len | Tải lên | Upload |
| Mat khau | Mật khẩu | Password |
| Tieng Viet | Tiếng Việt | Vietnamese |
NEVER omit diacritics in formal/UI text. ASCII-Vietnamese exists in casual chat but is unacceptable in product UI.
Classifier System (Loại từ) (severity 2.0)
Vietnamese requires a classifier before a counted noun. Bare numbers + nouns are ungrammatical (with some exceptions).
| Classifier | Used for | Example |
|---|---|---|
| cái | general objects, things | một cái bàn (a table), hai cái ghế (two chairs) |
| con | animals, some objects (knives, rivers, boats) | một con mèo (a cat), một con dao (a knife) |
| người | people | một người (a person), năm người (five people) |
| quyển / cuốn | books, magazines, notebooks | một quyển sách (a book) |
| tờ | flat objects, paper, newspapers | một tờ giấy (a sheet of paper), một tờ báo |
| chiếc | vehicles, some objects | một chiếc xe (a vehicle), một chiếc áo |
| bộ | sets, collections | một bộ quần áo (an outfit) |
| cây | trees, long objects | một cây bút (a pen) |
| viên | small round/lumpy objects | một viên đá (a stone), một viên thuốc (a pill) |
| bức | flat artworks | một bức tranh (a painting) |
No classifier needed for:
- Inherent counted nouns:
ngôn ngữ(language),tệp(file),phút(minute),nước(country) {count} ngôn ngữ✓ (no classifier needed){count} tệp✓ (no classifier needed for "file" in UI usage)
Plural markers (các, những) are OMITTED with numbers:
- ✅ "{count} tệp" (not "{count} các tệp")
- ✅ "5 ngôn ngữ" (not "5 các ngôn ngữ")
- ✅ "các tệp" (when no count: general "the files")
Adjective-After-Noun Word Order (severity 2.0)
Vietnamese places modifiers AFTER the head word, opposite of English.
| Wrong (English order) | Correct (Vietnamese) | English |
|---|---|---|
| mới tệp | tệp mới | new file |
| đẹp nhà | nhà đẹp | beautiful house |
| mới tính năng | tính năng mới | new feature |
| cao tốc độ | tốc độ cao | high speed |
| tốt chất lượng | chất lượng tốt | good quality |
| xanh áo | áo xanh | blue shirt |
This applies to:
- Adjectives (tệp mới)
- Possessives (nhà của tôi — house of mine)
- Relative clauses (tệp mà bạn đã chọn — file that you selected)
- Demonstratives (tệp này — this file, tệp đó — that file)
Active Voice over Passive (severity 1.5)
Vietnamese overuses được (passive marker) creates stiff, translation-y text. Prefer active voice.
| Wrong (passive) | Correct (active) |
|---|---|
| File được lưu bởi hệ thống | Hệ thống đã lưu file / File đã lưu |
| Tệp được tải lên bởi người dùng | Người dùng đã tải lên tệp |
| Email được gửi | Đã gửi email |
| Thông báo được tạo | Đã tạo thông báo |
được IS appropriate when:
- The agent is unknown / irrelevant
- Expressing positive permission: "Bạn được phép truy cập" (you are allowed to access)
- After verbs of allowance: cho phép, cấp
Progressive Form with đang (severity 1.5)
For ongoing/loading actions, use đang + verb — not the bare verb.
| Wrong | Correct | English |
|---|---|---|
| Tải... | Đang tải... | Loading... |
| Lưu... | Đang lưu... | Saving... |
| Xử lý... | Đang xử lý... | Processing... |
| Kết nối... | Đang kết nối... | Connecting... |
| Tìm kiếm... | Đang tìm kiếm... | Searching... |
đang marks ongoing action (present continuous). Without it, the bare verb reads as imperative or generic.
No-Plural-Marker Rule
Vietnamese has plural markers các (definite plural) and những (indefinite plural), but:
- They're omitted with explicit numbers (5 tệp, NOT 5 các tệp)
- They're omitted in most counting/quantity contexts
- They appear in general "the X" references: "các tệp đã chọn" (the selected files)
UI Conventions
Button Labels — Concise Imperative
Vietnamese buttons use short imperatives without polite prefixes:
| Wrong (with hãy/polite prefix) | Correct (concise) | English |
|---|---|---|
| Hãy lưu lại | Lưu | Save |
| Hãy xóa | Xóa | Delete |
| Hãy hủy bỏ | Hủy | Cancel |
| Hãy tải lên | Tải lên | Upload |
| Hãy chọn | Chọn | Select |
| Hãy đóng | Đóng | Close |
(Hãy is a polite imperative marker — appropriate in instructions or polite requests, but bloats buttons.)
Status Messages — Đang + verb...
✅ Đang tải... (Loading...)
✅ Đang lưu... (Saving...)
✅ Đang xử lý dữ liệu... (Processing data...)
✅ Đã lưu (Saved — past completion)
✅ Đã sẵn sàng (Ready)
❌ Tải (just "load" — sounds imperative)
❌ Đang được tải (passive + đang — too stiff)
Drag-and-Drop Vocabulary
- kéo = drag
- thả = drop / release
- ❌ "drag" / "drop" (English) — wrong
✅ Kéo tệp vào đây (drag files here)
✅ Kéo và thả vào đây (drag and drop here)
✅ Kéo thả tệp (drag-drop files — compact)
❌ Drag tệp / Drop tại đây
Error Messages — Natural Phrasing
| Wrong (calque) | Correct (natural) |
|---|---|
| Thất bại khi tải | Không thể tải / Lỗi tải |
| Lỗi khi lưu | Không thể lưu / Lưu không thành công |
| Thất bại để kết nối | Không thể kết nối |
| Lỗi xảy ra | Đã xảy ra lỗi (if needed; usually omit entirely) |
Pattern: Không thể + [verb] is the canonical "failed to X" structure.
File Picker / Placeholder Handling
Vietnamese can suffix-free with placeholders (unlike Hungarian or Finnish), but add type markers for clarity when placeholders represent types/formats:
| Less clear | Preferred (with type marker) |
|---|---|
| Hỗ trợ tệp {formatList} | Hỗ trợ tệp định dạng {formatList} |
| Nội dung {languageList} | Nội dung bằng {languageList} ngôn ngữ |
Exception: simple quantity ({count} tệp) and established compounds (tệp JSON, tệp PDF) don't need markers.
Softening Particles
Vietnamese uses sentence-final particles to soften tone:
| Particle | Use | Example |
|---|---|---|
| nhé | friendly suggestion | "Nhấn vào đây nhé" (Click here, ok?) |
| nhá | gentle confirmation | "Đúng rồi nhá" (That's right) |
| ạ | respectful (formal) | "Cảm ơn bạn ạ" (Thank you) |
| chứ | reinforcement | "Tốt chứ" (It's good, right?) |
| đi | mild imperative | "Làm đi" (Just do it) |
| với | "too" / "along with" | "Tôi với" (Me too) |
Match particle to register:
- Formal (Quý khách) →
ạ - Standard (bạn) → no particle or mild
nhéin friendly messages - DO NOT add particles in buttons or terse UI labels — they bloat the UI
Punctuation, Numbers, Dates, Currency
Quotation Marks
- Vietnamese uses standard double quotes
"..."or angle quotes«...» - Less commonly, single quotes
- No special "Vietnamese quote marks" — straight or curly double quotes are standard
Numbers
- Decimal separator: comma (3**,**14)
- Thousands separator: period (100**.**000)
- Format:
1.234.567,89 - ❌ 1,234.56 (US) → ✅ 1.234,56
Dates — DD/MM/YYYY
- Numeric: 15/01/2024 (slashes)
- Word form: 15 tháng 1, 2024 or ngày 15 tháng 1 năm 2024 (day-month-year, "tháng" = month, "năm" = year)
- ❌ 01/15/2024 (US) → ✅ 15/01/2024
- ❌ 2024-01-15 (ISO; acceptable in technical contexts but not customer-facing UI)
Time
- 24-hour:
14:30 - Word form:
2 giờ 30 chiều(2:30 PM, chiều = afternoon) or14 giờ 30or2 rưỡi chiều(half past two PM) - AM/PM equivalents:
sáng(morning),trưa(noon),chiều(afternoon),tối(evening),đêm(night)
Currency: VND đồng
- Vietnam uses the đồng (₫ or VND). NOT in any monetary union.
- Format:
100.000₫or100,000 VND(period thousands, ₫ after, no decimals in casual use) - The đồng is heavily inflated; sub-1000 amounts are essentially absent from UI
- ❌ $100 → ✅ 100.000₫ (use VND, NOT dollars)
- ❌ 100.000 đồng (verbose in UI) — acceptable in body text but
100.000₫for compact UI
Comma Rules
NO comma before coordinating conjunctions (hoặc, hay, và, cũng như):
- ❌ "Kéo tệp vào đây, hoặc nhấp" → ✅ "Kéo tệp vào đây hoặc nhấp"
- ❌ "Lưu tệp, và đóng" → ✅ "Lưu tệp và đóng"
Comma DOES go before subordinating clauses (nếu, khi, vì, nhưng):
- "Nhấn vào đây, nếu bạn muốn tiếp tục"
- "Không hoạt động, vì tệp bị thiếu"
- "Đó là tệp nhỏ, nhưng quan trọng"
Word Spacing
Vietnamese DOES use spaces between syllables (unlike Thai or Chinese). Each syllable is a separate "word" in writing:
- ✅ "Cảm ơn bạn" (three separated syllables)
- ❌ "Cảmơnbạn" (wrong)
Compound words are written as separated syllables: máy tính (computer), điện thoại (phone), phần mềm (software). Don't fuse them.
Terminology
| English | Preferred Vietnamese | Avoid |
|---|---|---|
| Save | Lưu | |
| Delete | Xóa | |
| Cancel | Hủy | Hủy bỏ (verbose) |
| Upload | Tải lên | Upload (English) |
| Download | Tải xuống | Download |
| Settings | Cài đặt | Thiết lập (less common in modern UI) |
| Search | Tìm kiếm | |
| Edit | Chỉnh sửa | Edit |
| Copy | Sao chép | Copy (use in some contexts) |
| Paste | Dán | |
| Close | Đóng | |
| Open | Mở | |
| File | Tệp / tập tin / file | (file is also acceptable in tech context) |
| Folder | Thư mục | |
| User | Người dùng | |
| Password | Mật khẩu | |
| Email / Thư điện tử | (Email is preferred in modern UI) | |
| Username | Tên đăng nhập | |
| Log in | Đăng nhập | |
| Log out | Đăng xuất | |
| Dashboard | Bảng điều khiển | |
| Account | Tài khoản | |
| Browser | Trình duyệt | |
| Click | Nhấp / nhấn / bấm | |
| Submit | Gửi | |
| Loading | Đang tải |
Proper noun abbreviations in UI:
- ✅ "Mỹ" / "Hoa Kỳ" (NOT "Hợp chúng quốc Hoa Kỳ" in cramped UI)
- ✅ "Anh" / "Vương quốc Anh" (NOT "Vương quốc Liên hiệp Anh và Bắc Ireland")
- ✅ "Úc" (NOT "Ô-xtrây-li-a" — old transliteration, sounds archaic)
- ✅ "Đức" (Germany), "Nhật" (Japan), "Hàn" (Korea), "Trung Quốc" (China)
Tech English tolerance: Modern Vietnamese tolerates well-established English tech terms (email, app, online, wifi, link, ID, OK). Don't over-translate these.
Calque / Anti-Pattern Blocklist
| Wrong (calque) | Correct (idiomatic) | Source |
|---|---|---|
| Nó có nghĩa | Điều này hợp lý / Có lý | "it makes sense" |
| Vào cuối ngày | Cuối cùng / Suy cho cùng | "at the end of the day" |
| Không thực sự | Thực ra không phải / Không hẳn | "not really" |
| Lấy một nghỉ | Nghỉ ngơi | "take a break" |
| Gãy chân đi | Chúc may mắn! | "break a leg" |
| Miếng bánh | Dễ như trở bàn tay / Dễ ợt | "piece of cake" |
| 25+ ngôn ngữ | hơn 25 ngôn ngữ / trên 25 ngôn ngữ | "25+ languages" |
| +{count} thêm | và {count} khác / thêm {count} | "+{count} more" |
| {min} ký tự dài | ít nhất {min} ký tự | "{min} characters long" |
| 5 phút dài | 5 phút | "5 minutes long" (length is implicit) |
| Thất bại khi tải | Không thể tải / Lỗi tải | "failed to load" |
| Lỗi khi lưu | Không thể lưu | "error saving" |
| File được lưu | Đã lưu file / File đã lưu | "the file was saved" (passive→active) |
Question Particles
Vietnamese questions don't change word order. They use sentence-final particles or question words:
| Form | Pattern | Example |
|---|---|---|
| Yes/no question | sentence + không? | "Bạn có muốn lưu không?" (Do you want to save?) |
| Or-question | A + hay + B | "Lưu hay hủy?" (Save or cancel?) |
| Wh-question | WH-word in question position | "Tệp ở đâu?" (Where is the file?) |
| Tag question | sentence + đúng không? / phải không? | "Tệp đã lưu, đúng không?" |
Self-Check Checklist
Run BEFORE finalizing each translation:
Accuracy (critical):
- All tone marks present (Cảm ơn bạn, not Cam on ban) — never strip
- Vowel diacritics present (ă, â, ê, ô, ơ, ư + combined with tones)
- Classifier used when counting nouns (một cái bàn, một con mèo, một quyển sách); BUT no classifier for inherent counts (5 ngôn ngữ, 3 tệp)
- Adjective AFTER noun (tệp mới, NOT mới tệp)
- No plural marker with numbers (5 tệp, NOT 5 các tệp)
- Active voice preferred over
đượcpassive -
đangfor ongoing actions (Đang tải..., NOT just Tải) - Pronoun consistency — same level throughout (bạn OR Quý khách, not both)
- No colloquial shortenings in UI (không not hông, rồi not rùi, này not nè)
- Date format: DD/MM/YYYY (15/01/2024)
- Number format: period thousands, comma decimal (1.234,56)
- Currency: VND đồng (100.000₫), NOT dollars
- No comma before hoặc/hay/và
- Word spacing: Vietnamese DOES space between syllables (Cảm ơn bạn, not Cảmơnbạn)
- Placeholders preserved exactly
Naturalness:
- Buttons concise (Lưu, Xóa, Hủy — not Hãy lưu lại)
- Status with đang + ellipsis (Đang tải...)
- Drag-and-drop: kéo, thả (NOT drag, drop)
- Error messages: Không thể + verb (NOT Thất bại khi)
- Native verb preference when standard equivalent exists
- Tech English tolerated (email, app, wifi, online, link)
- No
đượcoveruse — convert passive to active - Quantity expressions natural (hơn 25, NOT 25+)
- No redundant modifiers (5 phút not 5 phút dài)
- Softening particles match formality (ạ formal, nhé friendly; none in buttons)
- Abbreviations in UI (Mỹ not Hoa Kỳ Hợp chúng quốc; Úc not Ô-xtrây-li-a)
-
tháng 1notJanuaryin dates - Type markers when helpful (tệp định dạng {formatList})
Worked Examples
Example 1 — Save button + status
Source:
Save
Saving your changes...
Changes saved.
Wrong:
Hãy lưu lại (verbose)
Lưu thay đổi của bạn... (bare verb — sounds imperative)
Thay đổi đã được lưu. (overused được passive)
Correct:
Lưu (concise imperative button)
Đang lưu thay đổi... (đang + ellipsis)
Đã lưu thay đổi. (đã = past marker, active)
Example 2 — Files counter
Source:
1 file / 5 files / 25 files
Vietnamese has no plural agreement:
1 tệp / 5 tệp / 25 tệp (singular form used throughout — Vietnamese has no plural inflection)
ICU plural for Vietnamese is trivial — only other:
{count, plural,
other {# tệp}
}
Example 3 — Drag-and-drop area
Source:
Drag and drop files here, or click to browse
Wrong:
Drag và drop tệp vào đây, hoặc click để duyệt (anglicism + comma before hoặc)
Correct:
Kéo và thả tệp vào đây hoặc nhấp để duyệt (native verbs, no comma before hoặc)
Example 4 — Tone-mark catastrophe
Source:
Welcome to your account
Wrong:
Chao mung den tai khoan cua ban (stripped — looks like random Latin letters)
Correct:
Chào mừng đến tài khoản của bạn (all tones present)
Example 5 — Adjective order
Source:
New feature / Beautiful design / High speed
Wrong:
Mới tính năng / Đẹp thiết kế / Cao tốc độ (English order)
Correct:
Tính năng mới / Thiết kế đẹp / Tốc độ cao (adjective after noun)
Example 6 — Classifier
Source:
Buy a table / Save a book / 3 cats
Wrong:
Mua một bàn / Lưu một sách / 3 mèo (no classifier)
Correct:
Mua một cái bàn / Lưu một quyển sách / 3 con mèo (with classifier)
(But: "5 ngôn ngữ" with no classifier — inherent count.)
Example 7 — Active over passive
Source:
The file was saved by the system. / Email was sent.
Wrong (passive):
File được lưu bởi hệ thống. / Email được gửi.
Correct (active):
Hệ thống đã lưu file. / Đã gửi email. (more natural Vietnamese)
Example 8 — Pronoun consistency
Source:
Welcome! Click here to start. Need help?
Wrong (mixed):
Chào Quý khách! Nhấp vào đây để bắt đầu nhé. Cần giúp đỡ không?
Correct (consistent — using bạn):
Chào bạn! Nhấp vào đây để bắt đầu. Cần giúp đỡ không?
Correct (consistent — using Quý khách):
Chào Quý khách! Vui lòng nhấp vào đây để bắt đầu. Quý khách có cần hỗ trợ không?
Example 9 — Date and currency
Source:
January 15, 2024 — Total: $99.99
Wrong:
01/15/2024 — $99.99 (US date, dollars)
Correct:
15/01/2024 (or 15 tháng 1, 2024) — Tổng: 2.500.000₫ (or whatever VND equivalent, using period thousands)
Example 10 — Error message
Source:
Failed to upload file.
Wrong:
Thất bại khi tải lên tệp. (calque "failed when")
Correct:
Không thể tải lên tệp. (Không thể + infinitive — natural)
When in Doubt
- Tone uncertain? Look up the word. Vietnamese is full of minimal pairs (ma/mà/má/mả/mã/mạ). NEVER guess.
- Vowel diacritic uncertain? Check whether the vowel is ă/â/ê/ô/ơ/ư or the plain a/e/o/u. They are distinct phonemes, not stylistic.
- Classifier? Identify the noun class (general object → cái, animal → con, person → người, book → quyển/cuốn, flat object → tờ). When counting "inherent count" nouns (ngôn ngữ, tệp, phút), no classifier needed.
- Pronoun? Default to
bạnfor product UI. Upgrade toQuý kháchonly for premium/banking/very formal contexts. Stay consistent. - Adjective placement? Always AFTER the noun. Reverse English order.
đangor not? Use for ongoing action (status messages). Skip for completed (đã) or generic statements.đượcpassive? Almost always restructurable as active. Default to active unless the agent is genuinely unknown.- Particle in UI label? Almost never. Particles bloat. Keep buttons and status compact.
- Tech term — translate or keep English? Established loans (email, app, online, wifi) stay. Native equivalents exist (lưu, xóa, tải) — use them for actions.
- Currency? VND đồng, NEVER dollars. Use period thousands (100.000₫), not comma.
- Northern vs Southern? Northern is the written standard. Use it unless explicitly targeting Southern audience.
Vietnamese's isolating grammar means almost all translation errors are at the word-choice and word-order level, not morphology. When the translation feels off, check: (a) tone marks present, (b) adjectives placed correctly, (c) classifier present, (d) active voice, and (e) pronoun consistency.