Persian

Links on this page to features marked Preview describe designs that are not available yet.

How to get natural Persian out of Syntic models, and what to check before you ship. The general rules for every language are on Work in other languages.

At a glance

Language tagsfa-IR, fa-AF (Dari)
Script and directionPerso-Arabic script, right to left
Token useMeasure with token counting on your own text; non-Latin scripts and long compounds usually take more tokens per sentence than English.

Register and form of address

Persian has a formal written register and a colloquial spoken one (کتابی vs محاوره). Support replies normally use polite written Persian with شما.

Numbers, dates and currency

Persian digits (۰۱۲۳) are standard in Iranian text; say whether you want them or Western digits. The Solar Hijri calendar (۱۴۰۵) is the everyday calendar in Iran.

Common pitfalls

  • Zero-width non-joiner (ZWNJ, U+200C) is required in many words (می‌خواهم); make sure your pipeline does not strip it.
  • Arabic letters ي and ك look similar to Persian ی and ک but are different characters and break search; normalise input.
  • Mixed-direction text needs the same care as Arabic.

A system prompt line that works

Writing the language instruction in Persian itself is a strong signal:

به زبان فارسی رسمی و مؤدبانه پاسخ بده، کاربر را «شما» خطاب کن و از اعداد فارسی استفاده کن.

(Answer in polite formal Persian, address the user as شما, and use Persian digits.)

Keep the rest of your instructions in whichever language your team maintains best; the model follows mixed-language system prompts reliably, and the reply language follows this line.

Test before launch

  1. Collect 30 or more real Persian messages, including short, misspelt and mixed-language ones.
  2. Have a fluent speaker grade replies for correctness, register and naturalness; then calibrate a rubric grader on their grades (Evaluate).
  3. Check rendering in your actual UI: line breaks, truncation, right-to-left layout and fonts.
  4. Re-run the set whenever you change the prompt or the model.
Was this page helpful?