cum-rs 0.2.0

🧹 A multilanguage crate to remove AI-provider watermarks from text, images, and documents.
// Copyright 2026 Mahmoud Harmouch.
//
// Licensed under the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT\>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

//! # Arabic Curated Synonym Table
//!
//! Compile-time perfect-hash map for Arabic vocabulary.  Used by
//! [`super::SynonymBank`] when [`super::detect::LanguageHint::Arabic`] is active.

use phf::{Map, phf_map};

/// Curated Arabic synonym table (keys are transliterated; values are Arabic script).
///
/// Applied when [`LanguageHint::Arabic`] is selected.
///
/// Lookups are O(1) and require no heap allocation.
pub(super) static ARABIC_SYNONYMS: Map<&'static str, &'static [&'static str]> = phf_map! {
    "يبدأ"   => &["يشرع", "ينطلق", "يفتتح", "يستهل", "يفتح"],
    "يحتوي"  => &["يتضمن", "يشمل", "يحمل", "يحوي", "يضم"],
    "يزيل"   => &["يحذف", "يمسح", "يستأصل", "يلغي", "يقضي"],
    "نص"     => &["محتوى", "كتابة", "مادة", "عبارة", "فقرة"],
    "تنسيق"  => &["هيكل", "شكل", "أسلوب", "ترتيب", "طريقة"],
    "كلمة"   => &["مصطلح", "لفظ", "تعبير", "وحدة", "رمز"],
    "مخفي"   => &["غير مرئي", "مستتر", "كامن", "مكتوم", "خفي"],
    "علامة"  => &["إشارة", "رمز", "مؤشر", "دلالة", "أثر"],
    "يكشف"   => &["يرصد", "يجد", "يحدد", "يعثر", "يلاحظ"],
    "مهم"    => &["بالغ الأهمية", "جوهري", "حيوي", "محوري", "أساسي"],
    "يمكّن"  => &["يتيح", "يسمح", "يمنح صلاحية", "يخوّل", "يجيز"],
    "يعرض"   => &["يقدم", "يظهر", "يبيّن", "يكشف", "يجلي"],
    "ينتج"   => &["يولّد", "يخلق", "يصنع", "يبني", "يبتكر"],
    "يحدد"   => &["يعرّف", "يضبط", "يرسم حدود", "يصف", "يقرر"],
    "يعالج"  => &["يتعامل مع", "يدير", "يشغّل", "ينجز", "يؤدي"],
    "نظام"   => &["منصة", "هيكل", "آلية", "بنية", "إطار"],
    "عملية"  => &["إجراء", "طريقة", "أسلوب", "خطوات", "منهج"],
    "نتيجة"  => &["مخرج", "ناتج", "حصيلة", "عائد", "ثمرة"],
    "تحليل"  => &["دراسة", "فحص", "تقييم", "مراجعة", "رصد"],
    "بيانات" => &["معلومات", "موارد", "سجلات", "وقائع", "محتوى"],
    "جديد"   => &["حديث", "طارئ", "مستحدث", "ابتكاري", "مبتكر"],
    "كبير"   => &["ضخم", "واسع", "شاسع", "هائل", "بالغ"],
    "صغير"   => &["ضئيل", "ضيق", "محدود", "بسيط", "طفيف"],
    "سريع"   => &["وسريع", "خاطف", "عاجل", "مسرع", "مندفع"],
    "بسيط"   => &["سهل", "يسير", "مباشر", "واضح", "مبسط"],
    "دائماً" => &["على الدوام", "باستمرار", "أبداً", "على الإطلاق"],
    "أبداً"  => &["قط", "مطلقاً", "لا يوماً", "في أي وقت"],
    "أيضاً"  => &["كذلك", "بالمثل", "علاوة على ذلك", "بالإضافة"],
    "لأن"    => &["إذ", "بما أن", "نظراً لأن", "حيث أن"],
    "رغم"    => &["على الرغم من", "مع ذلك", "بيد أن", "إلا أن"],
    "فضلاً"  => &["علاوة على ذلك", "إضافة إلى ذلك", "وأيضاً"],
};