Skip to content

Thai localization guide

Use these rules with the localization principles, Qt interface rules and Thai language guide. Examples tagged FB, CT, FF or MS are quoted from Font Book, CoreText, FontForge or Microsoft's Thai style guide; the others are constructed.

Locale and register

  • Thai for Thailand, Qt locale th_TH, spelled by the Royal Society (ราชบัณฑิตยสภา).
  • Leave the user unnamed. Write คุณ only where the sentence fails without it: คุณต้องการปิดใช้งานแบบอักษรหรือไม่ (FB, "Do You Want to Deactivate Fonts?"). Never ท่าน, เธอ, เรา, ฉัน, or มัน for "it": repeat the noun or drop it (MS).
  • No particles (ครับ, ค่ะ, นะ) and no exclamation marks.
  • "Please" is โปรด (FB, MS), never กรุณา, only where the source says it and never in a label: โปรดลองอีกครั้ง (FB, "Please try again.").

Grammar of interface strings

String Form Example
Menu command, button Bare verb, then object; the source's ellipsis เพิ่มแบบอักษร… (FB, "Add Fonts…")
Checkbox, option Verb phrase naming the on state แสดงแถบฟิลเตอร์ (FB, "Show filter bar")
Panel or dialog title Noun phrase; การ + verb for an action noun การตรวจสอบแบบอักษร (FB, "Font Validation")
Status, in progress กำลัง + verb + object กำลังตรวจสอบแบบอักษร… (FB, "Validating fonts…")
Success, result Verb + object + แล้ว รีเซ็ตการเตือนแล้ว (FB, "Warnings Reset")
"Cannot", "Could not", "Failed to" ไม่สามารถ + verb + object + ได้ ไม่สามารถติดตั้งแบบอักษรได้ (FB, "Could not install font.")
"… failed" Verb + object + ไม่สำเร็จ ดาวน์โหลดแบบอักษรไม่สำเร็จ (CT, "Font Download failed.")
Not found; empty ไม่พบ + noun; ไม่มี + noun ไม่พบไฟล์ (FF, "Can't find the file")
Confirmation …หรือไม่, no question mark ดำเนินการรีเซ็ตแบบอักษรหรือไม่ (FB, "Proceed With Font Reset?")
Tooltip Bare verb, no subject ปรับขนาดตัวอักษร (FB, "Adjust the text size")
  • One verb, five strings: บันทึกไฟล์, กำลังบันทึกไฟล์…, บันทึกไฟล์แล้ว, ไม่สามารถบันทึกไฟล์ได้, บันทึกไฟล์ไม่สำเร็จ. Always close ไม่สามารถ with ได้. Never ล้มเหลว for "failed".
  • A command is never a การ noun: การบันทึก is a title, not Save.
  • Prefer the subjectless active to the ถูก passive (MS): "Fonts Removed" is เอาแบบอักษรออกแล้ว, not Font Book's แบบอักษรถูกเอาออก.
  • Head first, modifiers after: URL ผู้ออกแบบ (FB, "Designer URL").
  • Standard commands (MS, FB): สร้าง, เปิด, ปิด, บันทึก, ออก, เลิกทำ, ทำซ้ำ, ตัด, คัดลอก, วาง, ลบ, เลือกทั้งหมด, ยกเลิก, ตกลง, การตั้งค่า. Qt has no qtbase_th catalog, so framework strings need them too.
  • ไฟล์ and โฟลเดอร์ (Apple, Microsoft Office), not แฟ้ม.

Compact labels

  • Shorten by dropping คุณ, ของคุณ, ของ, ที่ and การ where the phrase stays clear: ชื่อไฟล์ (FB, "File Name"), not ชื่อของไฟล์.
  • Never cut a Thai word, coin an abbreviation, or drop a tone mark, a classifier, ไม่ or part of a term. Keep the source's Latin short forms (UPM, pt).

Plurals and placeholders

Qt gives Thai one numerus form ("Universal Form", nplurals=1; plural=0;); CLDR has only other. Write one <numerusform> that reads correctly for 0, 1 and 100, and drop the source's (s).

  • A count needs a classifier: noun, number, classifier. แบบอักษร %lld ชุด (FB, "%lld fonts"). A noun that is its own classifier follows the number: %lld ไฟล์, %lld สไตล์ (FB).
  • Classifiers: รายการ (items; the default when unsure), ไฟล์, ตัว (glyphs, characters), ชุด (fonts, sets), จุด (points), เส้น (lines), คู่ (pairs), แบบ (kinds), ครั้ง (times).
  • Never mark a plural: no ๆ, เหล่า or ทั้งหลาย. An English plural label is the bare noun: สไตล์ (FB, "Styles").
  • A placeholder for a name follows its class noun: คลัง “%@” (FB, "the “%@” library"). Add a classifier only to a known count.
  • "%1 of %2" is %1 จาก %2; a range is %1 ถึง %2 (FB).

Numbers, punctuation and spacing

  • Digits: Western digits, never Thai digits (๐–๙) (CLDR, MS). 1,234,567.89; 25% without a space; 12 pt with one.
  • Years: keep the source's year; never add 543 or พ.ศ. by hand. Only the system locale may format a date in the Buddhist era.
  • No space between Thai words. One space (U+0020) separates phrases, clauses and sentences, replacing the English comma and full stop (Royal Society, MS).
  • One space on each side of a Latin word, a number or a placeholder: ชื่อ PostScript, 7 วันที่ผ่านมา, ดาวน์โหลด %@ เพื่อดูเพิ่มเติม (FB).
  • No final full stop, even where the source has one (Apple, MS). Drop !. Keep a label's colon, attached. A comma only between Latin names or numbers: 2, 3 และ 4 (MS).
  • Quotation marks: “…”, with ‘…’ inside; a space outside the pair, none inside: ลบ “%1”.
  • Parentheses: a space before ( and after ), none inside. Ellipsis: the source's ... or …, attached to the last word.
  • ไม้ยมก: no space before ๆ, one after, as Apple and Microsoft write: ไม่พบปัญหาใดๆ (FB). The Royal Society spaces both sides, which lets a line start with ๆ. "etc." is และอื่นๆ; ฯลฯ takes a space on each side.

Mnemonics and key names

  • Append the source's mnemonic letter, uppercase, in parentheses after one space, before a final ellipsis or colon: ไฟล์ (&F), เปิด (&O)…. Write exactly (&X): Qt strips that pattern and the space before it on macOS.
  • Microsoft's guide marks a Thai consonant inside the word and also allows a bracketed Latin letter. FontLab uses only the bracketed letter: it works from a Latin keyboard layout and stays unique among siblings. Never put & before a Thai character; add no mnemonic the source lacks.
  • Key names stay in Latin script as the source spells them (Shift, Ctrl, Cmd, Enter, Esc, Space), Ctrl+S as written. Arrows are ลูกศรขึ้น, ลูกศรลง, ลูกศรซ้าย, ลูกศรขวา (Apple, Microsoft). A key is แป้น (Microsoft); ปุ่ม is an on-screen button: กดแป้น Shift ค้างไว้.

Names and loans

  • Latin script, exact case: product, company and typeface names, formats (VFJ, UFO), tags and tables (kern, OS/2), glyph names, units, code.
  • Class noun first, then the name: โฟลเดอร์ Fonts (FB), ไฟล์ cidmap (FF). Add no English gloss in parentheses after a Thai term.
  • A loan written in Thai follows Royal Society transliteration: no tone mark (เวอร์ชัน, ฟังก์ชัน, not Apple's เวอร์ชั่น); final k, t, p are ก, ต, ป (กราฟิก, บิตแมป, อัปเดต, ลิงก์); a silent consonant takes ◌์ (สคริปต์, เวกเตอร์).
  • Translate language, script and country names: ซีริลลิก, เทวนาครี (FF).

Script-specific rules

  • Line breaking. FontLab's Qt has no Thai dictionary on macOS or Windows: a line breaks only at a space. Put spaces where Thai phrasing wants them and add none to shape a line. Never insert a zero-width space (U+200B) or a hard break; a reviewer who sees clipped text in the running build may request U+200B at a word boundary.
  • Character order. Consonant, vowel above or below, then tone mark: ที่, ผู้. สระอำ is the one character U+0E33, after the tone mark: น้ำ. Never a doubled mark, never เ + เ for แ.

False friends and traps

Corporate catalogs are no authority for type terms: the term table rules. CoreText has หนังสือ (a book) for Book, อ้วน (obese) for Fat and ไม่มีระยะห่าง (no distance) for No Kerning; Font Book has ตัวชี้วัด (performance indicators) for Metrics and สคริปต์ (program script) for writing systems.

  • character is never ตัวละคร; letter case never กรณี; a font table never โต๊ะ; hint never คำใบ้; master never เจ้านาย; stem never ลำต้น.
  • kerning, tracking and spacing are three things; glyph and character are two.
  • Officialese to cut: ทำการ + verb (ทำการบันทึก is บันทึก), ประสบ (พบ, MS), อย่างไรก็ตาม (แต่, MS), เพื่อที่จะ (เพื่อ).
  • Machine translation keeps English word order, writes การ nouns as commands, ถูก passives, มัน and ของคุณ for every "your", omits classifiers, keeps commas and final periods, and spaces every word.

Review

Check in this order, and report only checks performed:

  1. Placeholders, markup, \n; one %n form with its classifier.
  2. Mnemonics: exactly (&X) with the source's letter.
  3. Spacing: none inside a phrase, one between phrases and beside Latin, digits and placeholders; no final period; no Thai digits.
  4. Mark order and spelling in every syllable; no U+200B.
  5. Form by role: bare verb, การ title, กำลัง…, …แล้ว, ไม่สามารถ…ได้.
  6. Register; terms against the term table; Royal Society spelling.
  7. In the running build: wrapped lines, clipped marks above and below.

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 Thai term table, generated from localization/th-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 Thai
glyph รูปอักษร
character อักขระ
family dimensions มิติตระกูลฟอนต์
master มาสเตอร์
instance อินสแตนซ์
interpolation การหาค่ากลาง
axis แกน
variable font ฟอนต์แปรผัน
kerning เคิร์นนิง
kerning pair คู่เคิร์นนิง
kerning class คลาสเคิร์นนิง
tracking ระยะห่างตัวอักษร
metrics เมตริก
sidebearing ระยะข้าง
left sidebearing ระยะข้างซ้าย
right sidebearing ระยะข้างขวา
advance width ความกว้างกรอบ
UPM UPM
font unit หน่วยฟอนต์
baseline เส้นฐาน
x-height ความสูง x
cap height ความสูงตัวพิมพ์ใหญ่
ascender หางบน
descender หางล่าง
overshoot ระยะทด
stem เส้นลำตัว
counter พื้นที่ภายใน
serif เชิง
terminal ปลายจบ
contour คอนทัวร์
node โหนด
handle ที่จับ
segment เซกเมนต์
extremum จุดสุดขีด
element องค์ประกอบ
component คอมโพเนนต์
reference การอ้างอิง
layer เลเยอร์
anchor จุดยึด
guide ไกด์
hint ฮินต์
hinting การฮินต์
autohinting การฮินต์อัตโนมัติ
feature ฟีเจอร์
lookup กระบวนงาน
OpenType class คลาส OpenType
mark เครื่องหมาย
ligature อักษรควบ
smart ฉลาด
Smart Corner มุมฉลาด
Power Brush แปรงพาวเวอร์
Power Guide ไกด์พาวเวอร์
Power Nudge เขยิบพาวเวอร์
Power Stroke เส้นขีดพาวเวอร์
Nudge เขยิบ
Servant node โหนดผู้ตาม
Genius node โหนดอัจฉริยะ
Tunni line เส้น Tunni
cousins ลูกพี่ลูกน้อง
Sketchboard กระดานสเก็ตช์
Skin เปลือก
Matchmaker แม่สื่อ
match จับคู่
True Fill เติมจริง
Dream Up เสก
Remove Overlap ลบส่วนซ้อนทับ
decompose แตกคอมโพเนนต์
panel แผง
property bar แถบคุณสมบัติ

Rapid tool and Quick Help references

The tool name is แรพิด. Use วาดด้วยแรพิด for Rapid draw and แก้ไขด้วยแรพิด 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.

This is the local-script transliteration of Rapid. Its spelling follows the current TS catalog; the core records its review status separately.

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.