Vietnamese localization guide¶
Use these rules with the localization principles, Qt interface rules and Vietnamese language guide. Examples tagged FB, CT, FF or MS are quoted from Font Book, CoreText, FontForge or Microsoft's Vietnamese style guide and help; the others are constructed. Glyphs, Illustrator and Qt have no Vietnamese interface: macOS and Windows are the models.
Locale and register¶
- Vietnamese for Vietnam, Qt locale
vi_VN, northern standard words (MS). - Address the reader as bạn, lowercase, and omit it when the verb is enough: Kiểm tra kết nối mạng và thử lại sau. (FB, "Check network connection and try again later."). Never anh, chị, quý vị. Drop của bạn ("your") unless ownership matters.
- Tone: plain and neutral. Vui lòng only where the source says "please"; no Xin, no chúng tôi for the product. Hãy belongs to help prose after an opening clause (Để lưu, hãy chọn…), never to a label.
Grammar of interface strings¶
| String | Form | Example |
|---|---|---|
| Menu command, button, step | Bare verb, then object | Xuất phông chữ (FB, "Export Fonts") |
| Checkbox, option | Bare verb or noun phrase | Hiển thị thanh bộ lọc (FB, "Show filter bar") |
| Panel or dialog title | Noun phrase; bare verb for "-ing", "-tion" | Hỗ trợ ngôn ngữ (FB, "Language Support") |
| Status, in progress | Đang, verb, ellipsis | Đang xác thực phông chữ… (FB, "Validating fonts…") |
| Success, result | Đã, verb, object; no subject | Đã đặt lại cảnh báo (FB, "Warnings Reset") |
| "Cannot", "Could not", "Failed to", "… failed" | Không thể, verb, object | Không thể xóa phông chữ (FB, "Cannot Remove Font") |
| Confirmation | Bạn có chắc chắn muốn … không? or a bare question | Tiếp tục đặt lại phông chữ? (FB) |
| Empty state | Không có … nào | Không có phông chữ nào được chọn (FB, "No Fonts Selected") |
| Tooltip | Bare verb, no subject | Đặt lại mẫu đã sửa… (FB, "Resets the edited sample…") |
- A command never takes Hãy, Đang or Đã: Lưu, Mở…, Thêm ngôn ngữ… (FB).
- A verb also names its action: "Font Validation" is Xác thực phông chữ (FB), never Sự xác thực.
- One action, four strings: Lưu tệp, Đang lưu tệp…, Đã lưu tệp, Không thể lưu tệp. Never Lưu tệp thất bại, Tệp đã được lưu.
- Prefer an active clause without a subject to a passive. Bị only for damage (bị hỏng, bị thiếu). Never được … bởi (FB được quản lý bởi): write do … quản lý.
- Sentence case: capitalize the first syllable of the label and proper names only, also in a translated feature name: Bộ sưu tập thông minh (FB, "Smart Collections"). Never Chọn Tất Cả (MS).
- Standard commands, the same at Apple and Microsoft: Mở, Lưu, Đóng,
In, Hủy (Cancel), Hoàn tác (Undo), Làm lại (Redo), Cắt, Sao
chép, Dán, Xóa, Chọn tất cả, Thoát. Qt has no
qtbase_vicatalog, so framework strings need these words too. - Platform words: tệp and thư mục (Apple, Microsoft, Google); tải xuống (Microsoft, Google; Apple says tải về); cài đặt for Settings and for Install (all three), thiết lập for "set up", tùy chọn for an option; bấm for click (Apple, Microsoft), nhấn for a key.
Compact labels¶
- No article (một only where "a" means one) and no plural marker: Xuất phông chữ, not Xuất các phông chữ.
- No của between nouns that read clearly side by side: Tên phông chữ (FB, "Font name"), not Tên của phông chữ.
- Head first, modifiers after, the English stack reversed as a whole: Tiêu chí bộ sưu tập thông minh (FB, "Smart Collection Criteria").
- Shorten with the shorter synonym: Hủy for Hủy bỏ, Nhập for Nhập vào (MS).
- Never drop a tone mark. Never abbreviate by initials (FF TĐ for tự động), and never abbreviate a glossary term, a command verb, không or a name. Unit symbols stay as in the source: pt, not Apple's đ.
Plurals and placeholders¶
Qt gives Vietnamese one numerus form ("Universal Form", nplurals=1;
plural=0) for every number, 0 and 1 included. CLDR 48 agrees.
- Keep
%nand put the unchanged noun right after it: %n tệp (FB %lld tệp). Never write một or a literal 1. - No các or những after a number or a quantifier: %n phông chữ, tất cả phông chữ (FB), not %n các phông chữ.
- No classifier before a thing: %n tệp, not %n cái tệp. When English counts without a noun, supply the unit counted (tệp, mục…): "%n selected" is Đã chọn %n mục; "And %@ More…" is Và %@ phông chữ khác… (FB).
- A count precedes its noun; a name follows its class noun: %n kiểu,
thư viện “%1” (FB). Ask which of the two
%1is. An ordinal is thứ %1. - Vietnamese has no gender, case or agreement: a noun placeholder needs only the right position. A counter "%1 of %2" is %1 / %2 (FB).
Numbers, punctuation and spacing¶
- Decimal comma, period for thousands:
1.526,75(MS, CLDR). Versions, code and font data keep their source form. - Percent without a space:
25%(MS, CLDR). A unit takes a no-break space:12 pt,5,25 cm. - Quotation marks are “…”, with ‘…’ inside (FB, CLDR). Never «…» (FF); straight quotes in code only.
- Ellipsis is the single character
…, with no space before it, wherever the source has one: Xuất… (FB). - No space before
: ; ? !(FF has Đầu :). Final punctuation follows the source. - A language name takes lowercase tiếng: tiếng Việt.
Mnemonics and key names¶
- Put
&before a letter of the Vietnamese word that carries no mark, the first one free: &Lưu, Thê&m, Á&p dụng (as FF does). - Never mark ă â ê ô ơ ư đ or a vowel with a tone mark: they take several keystrokes (MS: "not recommended").
- No trailing (&F): Microsoft allows it but does not encourage it. One letter per menu or dialog. Never change a shortcut.
- Untranslated keys: Shift, Ctrl, Alt, Tab, Esc, Enter, Backspace, Delete, and on macOS Command, Option, Control, Return. Translated: Mũi tên lên, Mũi tên xuống, Mũi tên trái, Mũi tên phải (Apple, MS), Phím cách (MS; Apple says Thanh dấu cách). A key is a phím: nhấn phím Shift.
Names and loans¶
- Keep unchanged: product and company names, format names (OpenType, UFO, VFJ), OpenType tags and table names, glyph names, code.
- Embed a name after a class noun, without hyphen: tệp VFJ, phông chữ
OpenType, bảng
kern, trong FontLab. - A loan the term table keeps is a lowercase noun without English plural and may head a phrase: tên glyph, cặp kerning.
- Do not respell a name by syllables: Algeria (CLDR), not FF's An-giê-ri.
Script-specific rules¶
- Type precomposed letters (NFC). A decomposed tone mark breaks search and glyph lookup.
- Tone marks in the old style: in open oa, oe, uy the mark sits on the first vowel: hóa, xóa, khóa, hủy, tùy, khỏe. Apple and Microsoft write so throughout (FB, CT, MS); Google mixes both; school textbooks now use the new style (hoá, huỷ). FontLab follows the platforms.
- y, not i, in ký tự, kỹ thuật, xử lý, quy tắc, as the platforms write.
- Capitals keep every mark: Ẩn, Đóng.
False friends and traps¶
FontForge's words are dated: write tệp, phông chữ, Hủy, Xóa, not tập tin, phông, Thôi, Gột.
Corporate catalogs are no authority for type terms. Apple has Nét (stroke) for Glyph, Trọng âm (spoken stress) for Accent, Số liệu (statistics) for Metrics and Tái bút (P.S.) for Postscript. FontForge has Mẹo (tip) for Hints and Chiều rộng sớm (early width) for Advance Width. The term table rules.
- Font is phông chữ (Apple, Microsoft, Google), not font or kiểu chữ, Apple's word for typeface.
- Letter case is never trường hợp, character never nhân vật, weight never trọng lượng or cân nặng, master never bậc thầy, family never gia đình.
- Prefer the everyday word to the formal Sino-Vietnamese one: chạy, not thực thi; thử, not nỗ lực; Không thể xuất, not Không thể tiến hành xuất (FB).
Machine translation keeps English word order (Mới tab), copies title case, puts Hãy in menus and Sự or Việc before a verb used as a noun, and adds các for every plural, của for every "of", một for every "a", được or bị for every passive, nó for every "it" and rằng for every "that".
Review¶
Check in this order; report only checks performed:
- Placeholders, markup, the single
%nform read with 0, 1 and 2. - Diacritics: no missing mark, NFC, old-style tone placement.
- Bare verb, Đang, Đã, Không thể.
- Head first, count before noun; no reflex các, của, một, được.
- Sentence case.
- Mnemonics: unique per menu, on unmarked letters.
- Type terms against the term table; numbers, percent, quotation marks.
FontLab terminology and compact labels¶
Preserve deliberately uppercase source labels using the language’s case rules. Keep numeric controls compact with UPM, PPM and LSB/RSB (French AG/AD); explain the full terms in help. The Family Dimensions “Units Per eM:” label is an intentional expanded exception.
Use the current core memory and its approval status. OpenType lookup defaults to the translation of procedure, with a different term only when strong OpenType-specific evidence supports it. Explicit choices are German Lookup, French lookup, Polish procedura and Russian процедура. Ordinary searches, individual rules and OpenType features are separate concepts. Preserve literal code keywords and identifiers.
Translate Fusion with the fallback Welder. Use the core's phonetic FontAudit transliteration in non-Latin scripts, including Chinese; preserve FontAudit in code. Proposed spellings remain proposed. Before rebuilding a QPH, recover team edits and import their terms and notes into the core memory.
Compare mnemonic-split terms with unmarked labels. Keep labels compact, aiming for 120% of the English length in Dimensions and Glyph Window preferences without losing meaning. Omit redundant font, color or command wording when context supplies it. TTH labels can omit “use” and abbreviate TrueType hinting; help can explain more. A full harmonization requires three complete catalog reviews, then reconciliation of help with the final UI and verification of generated resources.
Current terminology¶
The Vietnamese term table, generated from localization/vi-core.tmx, is the
terminology authority. Use its definitions to select the right concept and its notes for grammar and
usage. Check each entry’s status: team-approved decisions and proposed translations are distinct.
A proposed term still stays consistent across the interface and help; consistency does not confer approval.
For a missing term, translate the fallback original term and record the proposal with its reason.
The terms that other strings are built from:
| English | Vietnamese |
|---|---|
| glyph | glyph |
| character | ký tự |
| family dimensions | kích thước họ phông chữ |
| master | master |
| instance | instance |
| interpolation | nội suy |
| axis | trục |
| variable font | phông chữ biến đổi |
| kerning | kerning |
| kerning pair | cặp kerning |
| kerning class | class kerning |
| tracking | tracking |
| metrics | metrics |
| sidebearing | lề bên |
| left sidebearing | lề trái |
| right sidebearing | lề phải |
| advance width | độ rộng glyph |
| UPM | số đơn vị mỗi em |
| font unit | đơn vị phông chữ |
| baseline | đường cơ sở |
| x-height | chiều cao x |
| cap height | chiều cao chữ hoa |
| ascender | ascender |
| descender | descender |
| overshoot | overshoot |
| stem | nét chính |
| counter | lòng trong |
| serif | chân chữ |
| terminal | đầu nét |
| contour | đường viền |
| node | nút |
| handle | tay cầm |
| segment | đoạn |
| extremum | điểm cực trị |
| element | phần tử |
| component | thành phần |
| reference | tham chiếu |
| layer | lớp |
| anchor | neo |
| guide | đường gióng |
| hint | hint |
| hinting | hinting |
| autohinting | hinting tự động |
| feature | tính năng |
| lookup | thủ tục |
| OpenType class | class OpenType |
| mark | dấu |
| ligature | chữ ghép |
| smart | khéo |
| Smart Corner | góc khéo |
| Power Brush | siêu cọ |
| Power Guide | siêu đường gióng |
| Power Nudge | siêu nhích |
| Power Stroke | siêu nét |
| Nudge | nhích |
| Servant node | nút bám theo |
| Genius node | nút thiên tài |
| Tunni line | đường Tunni |
| cousins | họ hàng |
| Sketchboard | giấy nháp |
| Skin | vỏ |
| Matchmaker | mai mối |
| match | khớp |
| True Fill | tô thật |
| Dream Up | hô biến |
| Remove Overlap | bỏ chồng lấp |
| decompose | phân rã |
| panel | bảng |
| property bar | thanh thuộc tính |
Rapid tool and Quick Help references¶
The tool name is Rapid. Use Vẽ bằng Rapid for Rapid draw and Sửa bằng Rapid for Rapid edit. Keep the name distinct from ordinary descriptions of speed and from the Vertical rapid and Horizontal rapid contrast classifications. Do not use Rapidograph as the tool name.
Keep Rapid in Latin letters; inflect the surrounding tool or action wording.
For Quick Help, match tool, panel, option and command references to the current
TS catalog in the same control context. Keep inflection natural in sentences.
If a core entry differs, reconcile it with the catalog before regenerating
phrasebooks. A compact UI label and its full prose explanation can differ.
Check the current English conditions and consequences: disabling Cloud also
disables mark/mkmk generation, and mark generation requires Cloud. Preserve
mark and mkmk as literal OpenType feature tags.