Skip to content

Arabic localization guide

Use these rules with the localization principles, Qt interface rules and Arabic language guide.

Locale and register

Modern Standard Arabic for every region, Qt catalog locale ar, right to left. Name actions with the verbal noun (masdar), which has no gender. Where a sentence must address the reader, use the masculine singular, the default of Arabic macOS and Windows (يمكنك, هل تريد…؟); never the feminine, the plural or a slashed form. Plain tone: no من فضلك, no exclamation marks, no first person for the application.

Grammar of interface strings

Arabic macOS, Windows and Adobe name a command with the masdar (حفظ, فتح, تراجع), not the imperative (احفظ). Glyphs 3 mixes أضف and إضافة in one menu and Qt's qtbase_ar uses imperatives; follow neither.

Element Form Example
Menu command, button masdar + object in idafa إضافة خطوط… (Add Fonts…)
New-object command indefinite noun + adjective مجموعة جديدة (New Collection)
Checkbox, option masdar; negative with عدم التحقق من مكتبات الخطوط عند بدء التشغيل (Validate font libraries at launch); عدم التحقق (Don’t Check)
Panel, dialog, group title definite noun المحاذاة (Alignment)
State indefinite adjective نشط (Active)
Status, in progress يجري + definite masdar يجري التنزيل (Downloading)
Success تم + masdar تمت إزالة الخطوط (Fonts Removed)
Failed attempt تعذر + masdar تعذر تثبيت الخط. (Could not install font.)
Present inability لا يمكن + masdar لا يمكن إزالة الخط (Cannot Remove Font)
Confirmation هل تريد + masdar + ؟ هل تريد إزالة الخطوط المحددة؟ (Do you want to remove the selected fonts?)
Tooltip that describes masdar, never يعرض or تعرض إزالة جميع الخطوط من مكتبات الخطوط. (Remove all fonts from font libraries.)
Step that instructs masculine singular imperative, لـ + masdar انقر لتنزيل %1 (Click to download %1)

Examples come from Font Book and Glyphs 3, with placeholders in Qt syntax; [c] marks a constructed one. Keep one form per element type.

تم and تعذر agree with the masdar: تمت, تعذرت before a feminine one (إزالة, إضافة, إعادة). Two actions on one object: تنزيل التحديثات وتثبيتها (download and install updates), not تنزيل وتثبيت التحديثات.

Compact labels

  • The first term of an idafa never takes ال; an adjective follows the whole construct and agrees with its head: اسم الخط (Font name), عائلة الخط التالية (Next Typeface). A class noun in idafa is plural: مكتبات الخطوط.
  • Titles and field labels are definite (الحجم, النوع); states and new objects indefinite. Noun and adjective match in definiteness, gender and number; a plural of things takes the feminine singular: الخطوط المحددة.
  • Negate an adjective with غير: الخطوط غير التابعة للنظام.
  • Shorten by dropping what the screen supplies and الخاص بـ for “your”. Never truncate a word or abbreviate a glossary term.

Plurals and placeholders

Qt gives Arabic six numerus forms (numerus.cpp in qttools; the integer rules of CLDR). Fill all six:

Form Selected by Example
1 n = 0 %n خطوط مفقودة
2 n = 1 %n خط مفقود
3 n = 2 %n خطان مفقودان
4 n % 100 is 3 to 10: 3, 10, 103 %n خطوط مفقودة
5 n % 100 is 11 to 99: 11, 99, 111 %n خطًا مفقودًا
6 the rest: 100, 101, 102, 200 %n خط مفقود

Every form keeps %n, forms 1 to 3 too: the catalog check rejects a form without it. (Qt and Font Book spell these three out, خط واحد, and omit %n; a native reviewer may restore that once the check allows it.) The counted noun (tamyiz) is a genitive plural in form 4, an accusative singular with tanween in form 5 (خطًا; a noun in ة shows no alef: %n مشكلة), a genitive singular in form 6. The dual takes its case from the sentence: خطان as a label or subject, خطين after a masdar or preposition (تم إلغاء تثبيت خطين). Test 0, 1, 2, 3, 10, 11, 99, 100, 102, 103.

A count in %1 cannot be inflected: use label and value, عدد الخطوط: %1 [c].

A placeholder noun has no known gender. Keep the masdar pattern, where the verb agrees with the masdar, not the value: تم تنزيل %1, لا يمكن حذف "%1". Otherwise put a generic noun first and agree with it: توجد مشكلات في مكتبة "%1"; never %1 مثبت. Never attach a clitic or ال to a placeholder or Latin name: prefer إلى, في, من, على; an unavoidable بـ or لـ takes tatweel and a space: يبدأ بـ "%1".

Numbers, punctuation and spacing

  • Digits: Western 0–9 with a decimal point. The catalog has no %L placeholder, so the numbers FontLab inserts are Western; Microsoft and Adobe Arabic use them too. Never type ٠–٩, ٫, ٬ or ٪ (the locale-formatted output of Qt's ar).
  • Percent and units: digits, then %, no space: 50%, %1%. A unit keeps the source symbol after a space.
  • Sentence marks: Arabic ، ؛ ؟, no space before, one after. Latin , and ; stay in code, identifiers and typed values. Period, colon, parentheses and trailing spaces as in the source.
  • Quotation marks: straight "…" around a name or label, as Arabic macOS and Windows do.
  • Ellipsis: the source's character, at the logical end, no space before.
  • Tashkeel: none, except tanween fath before the alef (تلقائيًا) and one mark that prevents a misreading (عُثر, مُدار).
  • Spelling: افتراضي, not إفتراضي; ة not ه; ى and ي kept apart.
  • Tatweel (kashida) never stretches a label; it only follows a detached بـ or لـ.
  • One ordinary space between Arabic and a Latin word, number or placeholder.

Mnemonics and key names

macOS shows no mnemonics; Arabic Windows underlines an Arabic letter. Keep one & where the source has one, before an Arabic letter of the label, unique among its siblings. Avoid أ إ آ ؤ ئ, ج ب ي و ر ز (Microsoft's list) and the ل of لا. Do not append a Latin letter in parentheses.

Key names stay in Latin, as on the key caps: Shift, Ctrl, Alt, Command, Option, Enter, Esc, Tab, Delete. Translate only Space (مسافة) and the arrows (سهم لأعلى, سهم لأسفل, سهم لليمين, سهم لليسار). Never transliterate (شيفت). Copy a shortcut (Ctrl+S) unchanged.

Names and loans

Product and format names, OpenType tags, table names, glyph names and code stay in Latin, unchanged, with no ال and no transliteration: Python, not بايثون. A generic Arabic noun comes first and the Latin name ends the idafa: ملف AFM, خطوط Apple, أشكال JIS83, never JIS78 أشكال. Names of languages and scripts are Arabic: العربية, اللاتينية.

Bidirectional rules

  • Type every string in logical order. Qt applies the Unicode bidirectional algorithm and takes the layout direction from the locale. Never move characters to repair how a string looks in a left-to-right editor.
  • Insert no directional marks (U+200E, U+200F, U+061C, U+202A–U+202E, U+2066–U+2069) and copy none from a reference. Only when a reviewer sees a broken rendering in the running application, add one U+200F at the start of the string, as Font Book does, and record it.
  • Start a sentence with an Arabic word: a string that opens with a Latin name, a path or %1 may be laid out left to right. Put the noun or masdar first and reorder placeholders: الإصدار %2 هو أحدث إصدار متوفر حاليًا لتطبيق %1 (%1 %2 is currently the newest version available.).
  • Keep a Latin run whole (name, version, path, tag, expression): القيمة خارج النطاق (16..16384). Separate two Latin runs or placeholders with an Arabic word: من %1 إلى %2.
  • Keep the source separator of a menu path (>, ›); the renderer mirrors it.
  • Left and right in glyph geometry stay يسار and يمين: the mirrored layout does not mirror a glyph.

False friends and traps

  • خط means font, line and handwriting. Take each from the term table; never use it for two concepts in one string.
  • Reject office and programming senses: Font Book renders script (writing system) as برنامج نصي and face as واجهة. Check script, face, case, point, path, hint, master, instance and feature against the term table.
  • One word, two concepts: نقطة (unit, contour point), حالة (status, instance), تلميح (tooltip, hinting).
  • Calques: قم بـ + masdar (Glyphs 3: قم دائمًا بتوسيط المحرف النشط on a checkbox); الخاص بك for every “your”; من قبل for an agent; على أي حال for “anyway”.
  • An adjective or verb that agrees with %1.

Review

Check first, in the running application: sentences with Latin names, paths, numbers and placeholders; all six numerus forms; commands with no imperative among them; تم/تمت and adjective agreement; Western digits and ، ؛ ؟; hamza, tanween, stray tashkeel and directional marks; left and right in glyph geometry; every خط against the term table. Report where Qt's own dialogs (qtbase_ar) clash with these rules.

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 Arabic term table, generated from localization/ar-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 Arabic
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 وحدات لكل em
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 خط توني
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.

Quick Help context checks (2026-10-05)

Use each control's canonical TS wording. ChatPanel and PanelsPanel use الدردشة; the MainWindow menu uses المحادثة. Smart Filters preferences use المرشحات الشاطرة. A different dialog's translation is not a reason to rename these controls in help. ShapesPanel's filter expansion uses توسيع; the MainWindow Expand Filters command uses تحويل المرشحات إلى مسارات. A definition of one element filter remains مرشح العنصر, rather than the GalleryPanel filtering label تصفية العناصر.

Bar_TTH and DlgExportCbdt spell out PPM as بكسل لكل em. DlgChangeUpm uses UPM. Retain those contextual differences. Keep metric expression identifiers and operators unchanged; use عرض المحرف for advance width and retain the distinct short العرض alias in the formula explanation.

Older “Thickness tool” references describe أداة الساق. Do not confuse them with stroke السماكة. The .sups button in DlgDuplicateGlyph is نص علوي; its English Subscript help heading is wrong. The layer-property copy dialog's labelCopy is Copy Properties, although its English help currently describes Lock. Track these source mismatches for a coordinated repair. Preserve accurate translations where English has a confirmed defect.

Keep location-independent control references in Arabic RTL help. Physical glyph directions and sidebearings retain their literal left/right meaning. Do not remove existing vocalization merely to match an unvocalized proposal.

Style values shown from font data remain Regular, Normal, Plain, Italic, Bold and Bold Italic. The Names, Masters and Instances controls set these values directly; do not translate them merely because an ordinary prose adjective has an Arabic equivalent. In contrast, the Inspector's OT class selector translates Simple, Ligature and Mark as بسيط, حرف مركب and علامة. Check the control's code as well as its TS entry.

For font-dimension fields, Subscript is الأحرف السفلية and Superscript is النص المرتفع. Those labels differ from the suffix-creation buttons. Font coordinates are بوحدات الخط; a numeric units-per-em setting is قيمة UPM. Do not describe an ordinary coordinate as a number of units per em.

The Measurements menu is قياسات; the panel is القياسات. Keep this context distinction in paths. Text case commands also differ: GW_Text uses تحويل إلى أحرف صغيرة, تحويل إلى أحرف كبيرة and تكبير أوائل الكلمات, while Bar_Text and GlyphWindow have their own catalog labels. Stroke caps use طرف and أطراف; linked-cap controls use ربط الطرفين.

Check inherited help headings against the action mapping. Some rotation, snapping and stroke controls carry copied headings for unrelated controls. Record confirmed source defects and translate the supported behavior; a matching English tooltip alone does not establish what the control does.