fasaha

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Fasaha (فصاحة) — Arabic Fluency & Correction

Fasaha(فصاحة)——阿拉伯语流畅度与纠错

Fasaha (فصاحة) means eloquence and correctness of expression in Arabic — text that reads as if it was written by a native speaker, not translated. This skill fixes AI-generated or AI-translated Arabic so it reaches that bar.
Relationship to style/voice skills: this skill fixes structural/linguistic correctness only. For register and tone on top (MSA vs Darija, formality, terminology), fasaha now ships a self-contained profile at
references/voice-profile.md
— generic, editable by any agent, updated as the user states preferences. Run
fasaha
first (make the Arabic correct and native-sounding), then apply the matching register profile second. If the user has a separate skill defining their personal tone/voice, that may be used instead of the built-in profile (or layered after it) — the built-in file is the default when no separate voice skill exists. Either way they compose — don't skip one because the other ran.
Grounded in: the QALB (Qatar Arabic Language Bank) annotation guidelines — the closest thing to a published standard for correcting AI/MT-generated Arabic — plus patterns specific to LLM translation failures that predate/postdate QALB's 2013 scope (see Section 6). Primary source: Zaghouani, Habash & Mohit, QALB Guidelines v0.90, CMU-Qatar/Columbia, 2013 — http://nlp.qatar.cmu.edu/qalb/QALB-guidelines_0.90.pdf. Full bibliography with links in
references/sources.md
.
Fasaha(فصاحة)在阿拉伯语中意为表达的雄辩与准确——指读起来像母语者撰写、而非翻译出来的文本。本技能用于修复AI生成或AI翻译的阿拉伯语文本,使其达到这一标准。
与风格/语气技能的关系: 本技能仅修正结构/语言层面的正确性。对于在此之上的语域和语气(MSA与达里贾语的选择、正式程度、术语使用),Fasaha目前在
references/voice-profile.md
中附带了一个独立的配置文件——该文件为通用版本,可由任何Agent编辑,并根据用户的偏好更新。先运行
fasaha
(让阿拉伯语正确且地道),再应用匹配的语域配置文件。如果用户有单独的技能定义其个人语气/风格,可以使用该技能替代内置配置文件(或在其之上叠加)——当不存在单独的语气技能时,内置文件为默认选项。无论哪种方式,两者是互补的——不要因为运行了其中一个就跳过另一个。
依据基础: QALB(卡塔尔阿拉伯语语言库)标注指南——这是目前针对修正AI/机器翻译生成的阿拉伯语最接近公开标准的参考资料——此外还补充了LLM翻译错误的特有模式,这些模式有的出现在QALB 2013年的研究范围之前,有的出现在之后(见第6节)。主要来源:Zaghouani、Habash与Mohit,《QALB指南 v0.90》,卡内基梅隆大学卡塔尔分校/哥伦比亚大学,2013年——http://nlp.qatar.cmu.edu/qalb/QALB-guidelines_0.90.pdf。完整参考文献及链接见`references/sources.md`。

When to use this

何时使用本技能

  • The user asks to translate something into Arabic
  • The user asks to write in Arabic (اكتب بالعربية / اكتبلي بالعربية) or write original Arabic content
  • The user asks to review, correct, or proofread existing Arabic text (their own or AI-generated)
  • Claude is about to output more than 2-3 sentences of original Arabic prose (article, README, community post, forum reply, commit message translation, etc.) — run this before finalizing, don't wait to be asked
  • The user asks why their Arabic output "feels off" or "sounds translated"
  • 用户要求将内容翻译成阿拉伯语
  • 用户要求用阿拉伯语写作(اكتب بالعربية / اكتبلي بالعربية)或创作原创阿拉伯语内容
  • 用户要求审查、纠正或校对现有的阿拉伯语文本(自己写的或AI生成的)
  • Claude即将输出超过2-3句的原创阿拉伯语散文类内容(文章、README、社区帖子、论坛回复、commit message翻译等)——在最终输出前运行本技能,不要等用户提出要求
  • 用户询问为什么他们的阿拉伯语输出“感觉不对劲”或“听起来像翻译的”

The Process

处理流程

  1. Read
    references/llm-failure-log.md
    first.
    Known failures are checked before the general checklist, so a pattern already caught once is never missed twice.
  2. Draft or obtain the Arabic text (literal translation is fine as a first pass — don't try to get it right in one shot)
  3. Run the checklist in
    references/checklist.md
    — Sections 1-7 below plus the register pass — against the draft
  4. Rewrite based on what the checklist catches
  5. Apply the matching register profile from
    references/voice-profile.md
    for tone and formality (MSA vs Darija), fall back to a separate personal voice skill if one exists
  6. Append any genuinely new pattern to
    references/llm-failure-log.md
    using its entry schema. One entry per new pattern, never one per run, and never delete an existing entry. This is the feedback edge — it is what makes the next review faster.
Don't skip straight to a "polished" single-pass translation — the calque problem (Section 2) is much easier to catch by explicitly checking sentence boundaries against the source than by trying to write well the first time.
  1. 首先阅读
    references/llm-failure-log.md
    。
    在通用检查清单之前先检查已知错误,这样已经发现过一次的模式不会再被遗漏。
  2. 起草或获取阿拉伯语文本(第一遍直译即可——不要试图一次就写对)
  3. 对照草稿运行
    references/checklist.md
    中的检查清单——包括下文第1-7节以及语域检查
  4. 根据检查清单发现的问题进行重写
  5. 应用
    references/voice-profile.md
    中匹配的语域配置文件调整语气和正式程度(MSA与达里贾语的选择),如果存在单独的个人语气技能,则使用该技能作为替代
  6. 将所有真正的新模式添加到
    references/llm-failure-log.md
    中
    ,使用其规定的条目格式。每个新模式对应一个条目,不要每次运行都加一个条目,也绝不要删除现有条目。这是反馈闭环——它能让下一次审查更快。
不要直接跳到“润色好的”一次性翻译——通过对照原文明确检查句子边界来发现仿译问题(第2节),比试图第一次就写好要容易得多。

1. Latin Script Leakage

1. 拉丁字母泄漏

The single most common and most visible error. Any English word that isn't a proper noun, product name, or standard technical identifier must be translated into Arabic.
  • Keep in Latin script: model/product names, benchmark names, library/API identifiers, and true abbreviations with no common Arabic equivalent (e.g.
    IBM
    ).
  • Translate everything else: adjectives, common nouns, verbs — even when the English word feels "technical." Don't leave a word untranslated out of habit just because it's a common tech term.
  • Check every list/table item individually — a missing translation on one row while the rest are fine is a common miss (formatting-consistency error, not just a vocabulary one).
这是最常见、最明显的错误。 任何不是专有名词、产品名或标准技术标识符的英文单词,都必须翻译成阿拉伯语。
  • 保留拉丁字母的情况:模型/产品名称、基准测试名称、库/API标识符,以及没有通用阿拉伯语对应词的标准缩写(例如
    IBM
    )。
  • 其他所有内容都要翻译:形容词、普通名词、动词——即使这个英文单词感觉很“技术”。不要因为是常见技术术语就出于习惯不翻译。
  • 逐个检查每个列表/表格项——其他行都没问题只有一行漏了翻译,是很常见的疏漏(这是格式一致性错误,不仅仅是词汇错误)。

2. Sentence-Structure Calque

2. 句式仿译

The most damaging error because it's invisible sentence-by-sentence but obvious paragraph-by-paragraph. Symptom: every Arabic sentence mirrors one English sentence, in the same order, with the same boundaries. Grammatically correct, but it reads as translated rather than composed.
Fix by restructuring, not by translating harder:
  • Chain related ideas with connectives instead of stacking short standalone sentences:
    فـ
    /
    إذ
    /
    حيث
    /
    بينما
    /
    مما
    /
    وذلك لأن
  • Merge sentences that share one subject or one cause-effect relationship in the English original into a single Arabic sentence with a connective, rather than keeping them as two sentences.
  • It's fine — often better — for one English sentence to become half an Arabic sentence, or for two English sentences to merge into one Arabic sentence.
  • After drafting, read only the Arabic (cover the English) and ask: would a native writer covering this topic from scratch have grouped ideas this way? If every paragraph break falls exactly where the English paragraph broke, look again.
这是危害最大的错误,因为逐句看不容易发现,但整段看就很明显。症状:每一句阿拉伯语都对应一句英语,顺序相同,句子边界也相同。语法上是正确的,但读起来像翻译的,而不是原创的。
通过重构来修复,而不是更努力地翻译:
  • 用连接词串联相关的想法,而不是堆叠简短的独立句子:
    فـ
    /
    إذ
    /
    حيث
    /
    بينما
    /
    مما
    /
    وذلك لأن
  • 将英文原文中共享同一个主语或同一个因果关系的句子合并为一句带连接词的阿拉伯语句子,而不是保留为两个句子。
  • 一句英语变成半句话阿拉伯语,或者两句英语合并成一句阿拉伯语,都是可以的——通常更好。
  • 起草完成后,只读阿拉伯语(盖住英语),然后问自己:一个从头开始写这个主题的母语作家会这样组织想法吗?如果每个段落的断点都正好和英语段落的断点一致,就要再检查一下。

3. Word Choice / Terminology

3. 选词/术语

Generic-but-wrong translations that are grammatically valid but semantically off, especially for technical or domain terms.
  • ❌
    تشغيل يتم
    (a generic/mechanical rendering of "run" in "museums are run by") when a more precise verb like
    تُدار
    fits the institutional context better (worked example in
    references/mt-examples.md
    ).
  • When a technical term has a standard Arabic rendering in the relevant domain, use the domain-standard term, not a generic dictionary translation.
  • Check: does the chosen word carry the same specific meaning as the source, or just a plausible general one? If in doubt, prefer the more specific/technical term over the safe/common one.
指语法上正确但语义不准确的通用翻译,尤其是技术或领域术语的翻译。
  • ❌
    تشغيل يتم
    (是“museums are run by”中“run”的通用/机械译法),而更精准的动词如
    تُدار
    更符合机构语境(完整示例见
    references/mt-examples.md
    )。
  • 如果某个技术术语在相关领域有标准的阿拉伯语译法,使用领域标准术语,而不是通用的词典翻译。
  • 检查:所选的词是否和原文具有相同的特定含义,还是只是一个看似合理的通用含义?如果有疑问,优先选择更具体/更专业的术语,而不是安全/常见的术语。

4. Morphology, Agreement, and Syntax

4. 形态、一致性与句法

Standard MSA grammatical correctness — gender/number agreement, broken plurals, missing obligatory prepositions, definite article consistency, redundant/missing words.
  • Gender agreement:
    الجامعة الجديدة
    not
    الجامعة الجديد
  • Broken plural vs. incorrect sound plural:
    حدائق
    not
    حديقات
  • Obligatory prepositions after certain verbs:
    تخرج من الجامعة
    not
    تخرج الجامعة
  • Missing definite articles carried over from English's lack of them:
    تغير لون الجلد والتصبغ
    not
    تغير لون جلد وتصبغ
  • Check every pronoun (
    هذا
    ,
    هذه
    ,
    ذلك
    ) has a clear antecedent that survived the translation — translation/compression sometimes drops the sentence a pronoun was pointing back to.
指标准MSA的语法正确性——包括性数一致、破碎复数、遗漏必要介词、定冠词一致性、冗余或遗漏单词。
  • 性数一致:正确写法是
    الجامعة الجديدة
    ,而非
    الجامعة الجديد
  • 破碎复数与错误的完整复数:正确写法是
    حدائق
    ,而非
    حديقات
  • 某些动词后必须跟的介词:正确写法是
    تخرج من الجامعة
    ,而非
    تخرج الجامعة
  • 受英语无定冠词的影响而遗漏定冠词:正确写法是
    تغير لون الجلد والتصبغ
    ,而非
    تغير لون جلد وتصبغ
  • 检查每个代词(
    هذا
    、
    هذه
    、
    ذلك
    )都有明确的先行词,且在翻译中保留了下来——翻译/压缩有时会删掉代词所指代的句子。

5. Punctuation, Hamza, and Numbers

5. 标点、哈姆扎与数字

Mechanical but highly visible if wrong — these are the errors a native reader notices instantly.
  • Use Arabic punctuation marks, not Latin ones:
    ،
    not
    ,
    /
    ؛
    not
    ;
    /
    ؟
    not
    ?
  • Hamza spelling is one of the most common AI/MT error sources. Quick checks:
    • Initial hamzat wasl vs. qat': test by prefixing و or ف — if the hamza is pronounced, it's qat' (write
      أ
      /
      إ
      ); if silent, it's wasl (write bare
      ا
      )
    • Medial hamza seat depends on the stronger of the two surrounding vowels (kasra > damma > fatha)
    • See
      references/qalb-spelling-rules.md
      for the full hamza/punctuation/number rule set if a specific case is unclear
  • Numbers: keep the source's numeral system and grouping convention consistent; don't silently convert between Eastern Arabic and Western Arabic numerals mid-document.
这些是机械性错误,但一旦出错就非常明显——母语读者会立刻注意到这些错误。
  • 使用阿拉伯语标点符号,而非拉丁标点:用
    ،
    而非
    ,
    / 用
    ؛
    而非
    ;
    / 用
    ؟
    而非
    ?
  • 哈姆扎拼写是最常见的AI/机器翻译错误来源之一。快速检查方法:
    • 词首hamzat wasl与qat'的区分:通过加前缀و或ف来测试——如果哈姆扎发音,就是qat'(写
      أ
      /
      إ
      );如果不发音,就是wasl(只写
      ا
      )
    • 词中哈姆扎的载体取决于前后两个元音中更强的那个(kasra > damma > fatha)
    • 如果某个具体情况不清楚,查看
      references/qalb-spelling-rules.md
      获取完整的哈姆扎/标点/数字规则集
  • 数字:保持原文的数字系统和分组约定一致;不要在文档中间悄无声息地在东阿拉伯数字和西阿拉伯数字之间转换。

6. Dialectal Leakage into MSA

6. 方言渗入MSA

AI output can slip into dialect, especially when the prompt, source material, or context contains dialectal Arabic. QALB Section 5.6 classifies dialectal words into six categories — knowing which category a word falls into determines whether it needs correcting to MSA at all.
Needs correction to MSA (morphologically/phonologically close to an MSA word):
  • Morphological variants:
    انتو جعلتوا
    →
    أنتم جعلتم
    ،
    بيكتب
    →
    سيكتب
  • Phonological variants:
    جذور
    →
    جزور
    ،
    كهك
    →
    كعك
  • Closed-class dialectal words (pronouns, particles):
    اللي
    →
    الذي/الذين
    ،
    عم
    → prefix removed (
    عم ناكل
    →
    سنأكل
    ),
    هذي
    /
    هايدي
    →
    هذه
    ،
    مش
    /
    موش
    →
    ليس
    (only
    لم
    when negating a past action — see
    references/dialect-classification.md
    )
No correction needed, even though it looks dialectal:
  • Words that appear dialectal but are actually valid in standard dictionaries:
    أوتوبيس
    ،
    زعلان
    ،
    أنت مزعوج
    — check a dictionary (e.g. almaany.com) before "fixing" these
  • Foreign loanwords and proper names, unless clearly misspelled:
    كاتشيب
    ،
    كانيلوني
    ،
    جورج بوش
    — only correct if the spelling itself is wrong, not the word choice
  • Words specific to a regional dialect with no MSA equivalent at all (e.g.
    كرهبة
    in Tunisian dialect) — these have nothing to translate to; leave them if the source intends dialect
When to flag instead of translate: if a passage is more than roughly a third dialectal, or uses a dialect the reviewer isn't confident in, don't attempt word-by-word MSA correction — flag it. Partial, uncertain correction of heavy dialect usually makes the result worse, not better. Full classification table and more examples:
references/dialect-classification.md
.
AI输出可能会混入方言,尤其是当提示词、源材料或上下文包含阿拉伯语方言时。QALB第5.6节将方言词分为六类——知道一个词属于哪一类,就能确定它是否需要修正为MSA。
需要修正为MSA的情况(形态/语音上接近MSA词汇):
  • 形态变体:
    انتو جعلتوا
    →
    أنتم جعلتم
    ,
    بيكتب
    →
    سيكتب
  • 语音变体:
    جذور
    →
    جزور
    ,
    كهك
    →
    كعك
  • 封闭类方言词(代词、助词):
    اللي
    →
    الذي/الذين
    ,
    عم
    → 移除前缀(
    عم ناكل
    →
    سنأكل
    ),
    هذي
    /
    هايدي
    →
    هذه
    ,
    مش
    /
    موش
    →
    ليس
    (否定过去动作时只用
    لم
    ——见
    references/dialect-classification.md
    )
不需要修正的情况,即使看起来像方言:
  • 看起来像方言但实际上在标准词典中有效的词:
    أوتوبيس
    、
    زعلان
    、
    أنت مزعوج
    ——在“修正”这些词之前先查词典(例如almaany.com)
  • 外来借词和专有名词,除非明显拼写错误:
    كاتشيب
    、
    كانيلوني
    、
    جورج بوش
    ——只有拼写本身错误时才修正,不要改选词
  • 特定地区方言中完全没有MSA对应词的词(例如突尼斯方言中的
    كرهبة
    )——这些词没有可翻译的对应词;如果原文意图使用方言,就保留它们
何时应标记而非翻译: 如果一段文字中方言占比超过约三分之一,或者使用了审查者不熟悉的方言,不要尝试逐字修正为MSA——标记出来即可。对方言含量高的文本进行部分、不确定的修正,通常会让结果更糟,而不是更好。完整的分类表和更多示例见
references/dialect-classification.md
。

7. What QALB Doesn't Cover (LLM-specific gaps)

7. QALB未涵盖的内容(LLM特有缺口)

QALB's guidelines (2013) were built against older statistical/rule-based MT and human learner text — they predate LLM translation, so their error distribution assumes MT output that's often choppy or ungrammatical. LLM translations are usually grammatically clean but calqued (Section 2) and prone to Latin leakage in specifically technical/marketing vocabulary (Section 1) — errors QALB's annotators rarely saw. Don't assume QALB's category weights (spelling-heavy, from 2013-era MT) match what you'll actually find in modern LLM-generated Arabic — in practice, Sections 1-3 above catch more real issues in LLM output than Sections 4-5. Dialect leakage (Section 6) is more likely to come from dialectal source material or prompts than from the LLM itself, since modern LLMs default to MSA unless steered otherwise.
QALB指南(2013年)是针对较早的统计/基于规则的机器翻译和人类学习者文本制定的——它们早于LLM翻译,因此其错误分布假设机器翻译输出通常是不连贯或不合语法的。LLM翻译通常语法正确,但存在仿译问题(第2节),并且在技术/营销词汇中容易出现拉丁字母泄漏(第1节)——这些错误是QALB标注者很少见到的。不要假设QALB的类别权重(2013年机器翻译时代以拼写错误为主)与你在现代LLM生成的阿拉伯语中实际发现的问题一致——实际上,上文第1-3节在LLM输出中发现的实际问题比第4-5节更多。方言渗入(第6节)更可能来自方言源材料或提示词,而非LLM本身,因为现代LLM默认使用MSA,除非被引导使用其他变体。

Reference Files

参考文件

  • references/qalb-spelling-rules.md
    — full hamza spelling rules, Arabic punctuation usage rules (comma/semicolon/colon/question mark contexts), and number-writing rules. Read when a specific spelling or punctuation case in Section 5 isn't resolved by the quick checks above.
  • references/mt-examples.md
    — worked full-sentence MT correction examples (word order, missing articles, agreement, lexical choice) drawn directly from the QALB source. More useful than the spelling reference for calibrating Sections 2–4 (calque, word choice, agreement) against real cases rather than abstract rules.
  • references/dialect-classification.md
    — QALB's full six-category dialect classification with correction/no-correction examples for each. Read when Section 6 flags a possible dialectal word and you need to determine which category it falls into.
  • references/voice-profile.md
    — a generic, self-maintained register profile. After the correctness pass in Sections 1-6, apply the matching register (MSA vs Darija, formal vs casual, tone, terminology) from here. Any agent updates it directly as the user states register preferences or corrects output. If no profile fits the task, apply the caller's own voice skill when one is loaded; only ask which register when there is no such skill and the user has not stated a preference.
  • references/checklist.md
    — the runnable quality gate: every Section 1-7 + register check as a single pass, with a prescribed output shape. Run this to enforce and audit the correction work.
  • references/terminology.md
    — accumulating glossary of standard Arabic renderings for web-dev and e-commerce terms. Use it for consistency; any agent adds to it as terms get settled.
  • references/llm-failure-log.md
    — accumulating log of real caught errors (bad → good → section). Check it for known patterns; append new ones so the skill improves over time.
  • references/sources.md
    — the QALB source this skill is built on, with a direct link.
  • references/qalb-spelling-rules.md
    —— 完整的哈姆扎拼写规则、阿拉伯语标点使用规则(逗号/分号/冒号/问号的使用场景)以及数字书写规则。当第5节中的快速检查无法解决某个具体的拼写或标点问题时,阅读此文件。
  • references/mt-examples.md
    —— 直接来自QALB来源的完整句子机器翻译修正示例(词序、遗漏冠词、一致性、词汇选择)。对于根据实际案例而非抽象规则校准第2-4节(仿译、选词、一致性)来说,这比拼写参考更有用。
  • references/dialect-classification.md
    —— QALB完整的六类方言分类,每类都有修正/不修正的示例。当第6节标记出可能的方言词,你需要确定它属于哪一类时,阅读此文件。
  • references/voice-profile.md
    —— 通用的自维护语域配置文件。在完成第1-6节的正确性检查后,从这里应用匹配的语域(MSA与达里贾语、正式与非正式、语气、术语)。任何Agent都可以在用户提出语域偏好或修正输出时直接更新它。如果没有适合任务的配置文件,且已加载调用方自己的语气技能,则应用该技能;只有在不存在此类技能且用户未说明偏好时,才询问用户使用哪种语域。
  • references/checklist.md
    —— 可运行的质量门禁:将第1-7节及语域检查整合为单次检查流程,并规定了输出格式。运行此文件以执行和审核修正工作。
  • references/terminology.md
    —— 累积式的Web开发和电商术语标准阿拉伯语译法词汇表。使用它以保持一致性;任何Agent都可以在术语确定后添加新条目。
  • references/llm-failure-log.md
    —— 累积式的实际捕获错误日志(错误写法 → 正确写法 → 对应章节)。检查此文件以了解已知模式;添加新模式以使技能随时间改进。
  • references/sources.md
    —— 本技能所基于的QALB来源,带有直接链接。