parsitext 0.1.2

High-performance Persian (Farsi) text processing engine for Rust — normalization, tokenization, entity recognition.
Documentation
//! Finglish word dictionary — common spellings → canonical Persian.
//!
//! ~200 entries covering high-frequency vocabulary (greetings, pronouns,
//! conjunctions, prepositions, numbers, time words, common verbs in chat
//! conjugations).  Adding to this list is the highest-leverage way to
//! improve Finglish-to-Persian accuracy.

/// Look up a Finglish word (already lowercased) in the dictionary.
pub(super) fn lookup(word: &str) -> Option<&'static str> {
    DICT.iter().find(|(k, _)| *k == word).map(|(_, v)| *v)
}

const DICT: &[(&str, &str)] = &[
    // ─── Greetings / courtesy ───────────────────────────────────────────────
    ("salam", "سلام"),
    ("salaam", "سلام"),
    ("hi", "سلام"),
    ("hello", "سلام"),
    ("merci", "مرسی"),
    ("mersi", "مرسی"),
    ("mamnoon", "ممنون"),
    ("mamnun", "ممنون"),
    ("sepas", "سپاس"),
    ("khodahafez", "خداحافظ"),
    ("khoda", "خدا"),
    ("hafez", "حافظ"),
    ("bye", "بای"),
    ("khosh", "خوش"),
    ("amad", "آمد"),
    ("amadid", "آمدید"),
    // ─── Pronouns ──────────────────────────────────────────────────────────
    ("man", "من"),
    ("to", "تو"),
    ("ou", "او"),
    ("oo", "او"),
    ("ma", "ما"),
    ("shoma", "شما"),
    ("anha", "آنها"),
    ("oonha", "اونها"),
    ("oon", "اون"),
    ("in", "این"),
    ("an", "آن"),
    // ─── To be (chat conjugations) ─────────────────────────────────────────
    ("hastam", "هستم"),
    ("hasti", "هستی"),
    ("hast", "هست"),
    ("hastim", "هستیم"),
    ("hastid", "هستید"),
    ("hastand", "هستند"),
    ("nistam", "نیستم"),
    ("nisti", "نیستی"),
    ("nist", "نیست"),
    ("budam", "بودم"),
    ("budi", "بودی"),
    ("bud", "بود"),
    // ─── Want / know / can (chat) ──────────────────────────────────────────
    ("mikham", "میخوام"),
    ("mikhay", "میخوای"),
    ("mikhad", "میخواد"),
    ("mikhain", "میخواین"),
    ("nemikham", "نمیخوام"),
    ("midunam", "میدونم"),
    ("midooni", "میدونی"),
    ("midoonam", "میدونم"),
    ("midune", "میدونه"),
    ("nemidunam", "نمیدونم"),
    ("nemidoonam", "نمیدونم"),
    ("mitunam", "میتونم"),
    ("mituni", "میتونی"),
    ("mitune", "میتونه"),
    ("nemitunam", "نمیتونم"),
    ("daram", "دارم"),
    ("dari", "داری"),
    ("dare", "داره"),
    ("nadaram", "ندارم"),
    ("naradi", "نداری"),
    // ─── Common verbs (stems) ──────────────────────────────────────────────
    ("miam", "میام"),
    ("miay", "میای"),
    ("miad", "میاد"),
    ("biam", "بیام"),
    ("biay", "بیای"),
    ("biad", "بیاد"),
    ("miram", "میرم"),
    ("miri", "میری"),
    ("mire", "میره"),
    ("beram", "برم"),
    ("beri", "بری"),
    ("bere", "بره"),
    ("migam", "میگم"),
    ("migi", "میگی"),
    ("mige", "میگه"),
    // ─── Adjectives / qualifiers ───────────────────────────────────────────
    ("khoob", "خوب"),
    ("khoobi", "خوبی"),
    ("khoobam", "خوبم"),
    ("kheyli", "خیلی"),
    ("kheili", "خیلی"),
    ("khaili", "خیلی"),
    ("ghashang", "قشنگ"),
    ("zibaa", "زیبا"),
    ("ziba", "زیبا"),
    ("badak", "بدک"),
    ("bad", "بد"),
    ("bozorg", "بزرگ"),
    ("koochik", "کوچیک"),
    ("kuchak", "کوچک"),
    // ─── Affirmatives / negatives ─────────────────────────────────────────
    ("are", "آره"),
    ("aare", "آره"),
    ("aari", "آری"),
    ("na", "نه"),
    ("nah", "نه"),
    ("baleh", "بله"),
    ("bale", "بله"),
    ("kheir", "خیر"),
    // ─── Question words / function words ──────────────────────────────────
    ("chera", "چرا"),
    ("chi", "چی"),
    ("che", "چه"),
    ("chand", "چند"),
    ("chetor", "چطور"),
    ("chetori", "چطوری"),
    ("kojaa", "کجا"),
    ("koja", "کجا"),
    ("ki", "کی"),
    ("kodum", "کدوم"),
    ("kodam", "کدام"),
    ("ke", "که"),
    ("ya", "یا"),
    ("vali", "ولی"),
    ("ammaa", "اما"),
    ("amma", "اما"),
    ("agar", "اگر"),
    ("age", "اگه"),
    ("baraye", "برای"),
    ("baraaye", "برای"),
    ("ba", "با"),
    ("az", "از"),
    ("dar", "در"),
    ("be", "به"),
    ("ham", "هم"),
    ("ke", "که"),
    ("har", "هر"),
    ("harchi", "هرچی"),
    ("hamishe", "همیشه"),
    ("hichvaght", "هیچوقت"),
    // ─── Time words ────────────────────────────────────────────────────────
    ("alaan", "الان"),
    ("alan", "الان"),
    ("hala", "حالا"),
    ("emruz", "امروز"),
    ("emrooz", "امروز"),
    ("farda", "فردا"),
    ("dirooz", "دیروز"),
    ("dishab", "دیشب"),
    ("emshab", "امشب"),
    ("zood", "زود"),
    ("dir", "دیر"),
    ("vaght", "وقت"),
    ("sobh", "صبح"),
    ("zohr", "ظهر"),
    ("asr", "عصر"),
    ("shab", "شب"),
    ("rooz", "روز"),
    ("hafte", "هفته"),
    ("mah", "ماه"),
    ("sal", "سال"),
    // ─── Numbers ──────────────────────────────────────────────────────────
    ("yek", "یک"),
    ("yeki", "یکی"),
    ("ye", "یه"),
    ("do", "دو"),
    ("doo", "دو"),
    ("se", "سه"),
    ("seh", "سه"),
    ("chahar", "چهار"),
    ("chaar", "چهار"),
    ("panj", "پنج"),
    ("shesh", "شش"),
    ("shish", "شیش"),
    ("haft", "هفت"),
    ("hasht", "هشت"),
    ("noh", "نه"),
    ("dah", "ده"),
    ("sad", "صد"),
    ("hezar", "هزار"),
    ("milyoon", "میلیون"),
    ("milyoun", "میلیون"),
    // ─── Family / people ──────────────────────────────────────────────────
    ("madar", "مادر"),
    ("maman", "مامان"),
    ("pedar", "پدر"),
    ("baba", "بابا"),
    ("baradar", "برادر"),
    ("dadash", "داداش"),
    ("khahar", "خواهر"),
    ("aabji", "آبجی"),
    ("doost", "دوست"),
    ("doostam", "دوستم"),
    ("dustam", "دوستم"),
    ("dadash", "داداش"),
    ("zan", "زن"),
    ("mard", "مرد"),
    ("dokhtar", "دختر"),
    ("pesar", "پسر"),
    // ─── Common nouns ─────────────────────────────────────────────────────
    ("khoone", "خونه"),
    ("khane", "خانه"),
    ("ketab", "کتاب"),
    ("dast", "دست"),
    ("pa", "پا"),
    ("paa", "پا"),
    ("sar", "سر"),
    ("cheshm", "چشم"),
    ("delam", "دلم"),
    ("del", "دل"),
    ("rah", "راه"),
    ("rooh", "روح"),
    ("dard", "درد"),
    // ─── Greeting phrases / fillers ────────────────────────────────────────
    ("dard", "درد"),
    ("nakone", "نکنه"),
    ("nakoneh", "نکنه"),
    ("noosh", "نوش"),
    ("jan", "جان"),
    ("salamati", "سلامتی"),
    ("aafiat", "عافیت"),
    ("khabar", "خبر"),
    ("ye", "یه"),
    ("hich", "هیچ"),
    ("nemidunam", "نمیدونم"),
    // ─── English chat loanwords kept as-is in chat Persian ─────────────────
    ("ok", "اوکی"),
    ("okay", "اوکی"),
    ("thanks", "تنکس"),
    ("thank", "تنکس"),
    ("yes", "یس"),
    ("no", "نو"),
    ("lol", "لول"),
    ("haha", "هاها"),
    ("omg", "اوه‌ام‌جی"),
    ("plz", "پلیز"),
    ("please", "پلیز"),
];