"""
See https://github.com/savoirfairelinux/num2words/blob/master/num2words/lang_HE.py
"""

# TODO: add nikud hints

ZERO = {"אפס": "אֶ֫פֶס"}


ONES = {
    "אחת": "אַחַת",
    "אחד": "אֶחָד",
    "ראשונה": "רִאשׁוֹנָה",
    "ראשון": "רִאשׁוֹן",
    "ראשונות": "רִאשׁוֹנוֹת",
    "ראשונים": "רִאשׁוֹנִים",
    "שתיים": "שְׁתַּ֫יִם",
    "שניים": "שְׁנַ֫יִם",
    "שתי": "שְׁתֵּי",
    "שני": "שְׁנֵי",
    "שנייה": "שְׁנִיָּה",
    "שניות": "שְׁנִיּוֹת",
    "שלוש": "שָׁלוֹשׁ",
    "שלושה": "שְׁלוֹשָׁה",
    "שלושת": "שְׁל֫וֹשֶׁת",
    "שלישית": "שְׁלִישִׁית",
    "שלישי": "שְׁלִישִׁי",
    "שלישיות": "שְׁלִישִׁיּוֹת",
    "שלישיים": "שְׁלִישִׁיִּים",
    "ארבע": "אַ֫רְבַּע",
    "ארבעה": "אַרְבַּעָה",
    "ארבעת": "אַרְבַּ֫עַת",
    "רביעית": "רֵבִיעִית",
    "רביעי": "רֵבִיעִי",
    "רביעיות": "רֵבִיעִיוֹת",
    "רביעיים": "רֵבִיעִיִּים",
    "חמש": "חָמֵשׁ",
    "חמישה": "חֲמִשָּׁה",
    "חמשת": "חֲמֵ֫שֶׁת",
    "חמישית": "חֲמִישִּׁית",
    "חמישי": "חֲמִישִּׁי",
    "חמישיות": "חֲמִישִּׁיוֹת",
    "חמישיים": "חֲמִישִּׁיִּים",
    "שש": "שֵׁשׁ",
    "שישה": "שִׁשָּׁה",
    "ששת": "שֵׁ֫שֶׁת",
    "שישית": "שִׁשִּׁית",
    "שישי": "שִׁשִּׁי",
    "שישיות": "שִׁשִּׁיוֹת",
    "שישיים": "שִׁשִּׁיִּים",
    "שבע": "שֶׁ֫בַע",
    "שבעה": "שִׁבְעָה",
    "שבעת": "שִׁבְעַת",
    "שביעית": "שְׁבִיעִית",
    "שביעי": "שְׁבִיעִי",
    "שביעיות": "שְׁבִיעִיוֹת",
    "שביעיים": "שְׁבִיעִיִּים",
    "שמונה": "שְׁמ֫וֹנֶה",
    "שמונת": "שְׁמוֹנַת",
    "שמינית": "שְׁמִינִית",
    "שמיני": "שְׁמִינִי",
    "שמיניות": "שְׁמִינִיוֹת",
    "שמיניים": "שְׁמִינִיִּים",
    "תשע": "תֵּשַׁע",
    "תשעה": "תִּשְׁעָה",
    "תשעת": "תִּשְׁעַת",
    "תשיעית": "תְּשִׁיעִית",
    "תשיעי": "תְּשִׁיעִי",
    "תשיעיות": "תְּשִׁיעִיּוֹת",
    "תשיעיים": "תְּשִׁיעִיִּים",
}


TENS = {
    "עשר": "עֶ֫שֶׂר",
    "עשרה": "עֶשְׂרֵה",
    "עשרת": "עֲשֶׂ֫רֶת",
    "עשירית": "עֲשִׂירִית",
    "עשירי": "עֲשִׂירִי",
    "עשיריות": "עֲשִׂירִיּוֹת",
    "עשיריים": "עֲשִׂירִיִּים",
    "שתים עשרה": "שְׁתֵּ֫ים עֶשְׂרֵה",
    "שנים עשר": "שְׁנֵים עָשָׂר",
}


TWENTIES = {
    "עשרים": "עֶשְׂרִ֫ים",
    "שלושים": "שְׁלוֹשִׁים",
    "ארבעים": "אַרְבָּעִים",
    "חמישים": "חֲמִשִּׁים",
    "שישים": "שִׁשִּׁים",
    "שבעים": "שִׁבְעִים",
    "שמונים": "שְׁמוֹנִים",
    "תשעים": "תִּשְׁעִים",
}


HUNDREDS = {
    "מאה": "מֵ֫אָה",
    "מאת": "מֵאַת",
    "מאתיים": "מָאתַ֫יִם",
    "מאות": "מֵאוֹת",
}

THOUSANDS = {
    "אלף": "אֶ֫לֶף",
    "אלפיים": "אַלְפַּ֫יִם",
    "אלפים": "אֲלָפִים",
    "אלפי": "אַלְפִּי",
}


LARGE = {
    "מיליון": "מִילְיוֹן",
    "מיליוני": "מִילְיוֹנִי",
    "מיליארד": "מִילְיַארְד",
    "מיליארדי": "מִילְיַ֫ארְדִּי",
    "טריליון": "טְרִילְיוֹן",
    "טריליוני": "טְרִילְיוֹנִי",
    "קוודריליון": "קוֹוַדְרִילְיוֹן",
    "קוודריליוני": "קוֹוַדְרִילְיוֹנִי",
    "קווינטיליון": "קוִוִּנְטִילְיוֹן",
    "קווינטיליוני": "קוִוִּנְטִילְיוֹנִי",
    "סקסטיליון": "סְקֶסְטִילְיוֹן",
    "סקסטיליוני": "סְקֶסְטִילְיוֹנִי",
    "ספטיליון": "סְפֶּטִילְיוֹן",
    "ספטיליוני": "סְפֶּטִילְיוֹנִי",
    "אוקטיליון": "אוֹקְטִילְיוֹן",
    "אוקטיליוני": "אוֹקְטִילְיוֹנִי",
    "נוניליון": "נוּנִילְיוֹן",
    "נוניליוני": "נוּנִילְיוֹנִי",
    "דסיליון": "דֶּסִילְיוֹן",
    "דסיליוני": "דֶּסִילְיוֹנִי",
    "אונדסיליון": "אוּנְדְסִילְיוֹן",
    "אונדסיליוני": "אוּנְדְסִילְיוֹנִי",
    "דואודסיליון": "דוּאודְסִילְיוֹן",
    "דואודסיליוני": "דוּאודְסִילְיוֹנִי",
    "טרדסיליון": "טֶרְדְסִילְיוֹן",
    "טרדסיליוני": "טֶרְדְסִילְיוֹנִי",
    "קווטואורדסיליון": "קוּוטְוָאורְדְסִילְיוֹן",
    "קווטואורדסיליוני": "קוּוטְוָאורְדְסִילְיוֹנִי",
    "קווינדסיליון": "קוִוִּנְדְסִילְיוֹן",
    "קווינדסיליוני": "קוִוִּנְדְסִילְיוֹנִי",
    "סקסדסיליון": "סֶקְסְדְסִילְיוֹן",
    "סקסדסיליוני": "סֶקְסְדְסִילְיוֹנִי",
    "ספטנדסיליון": "סְפֶּטַנְדְסִילְיוֹן",
    "ספטנדסיליוני": "סְפֶּטַנְדְסִילְיוֹנִי",
    "אוקטודסיליון": "אוֹקְטוֹדְסִילְיוֹן",
    "אוקטודסיליוני": "אוֹקְטוֹדְסִילְיוֹנִי",
    "נובמדסיליון": "נוֹבְמַדְסִילְיוֹן",
    "נובמדסיליוני": "נוֹבְמַדְסִילְיוֹנִי",
    "ויגינטיליון": "וִיגִּינְטִילְיוֹן",
    "ויגינטיליוני": "וִיגִּינְטִילְיוֹנִי",
}


LETTERS = {
    "ו": "וֵ",
    "ה": "הַ",
}


CURRENCY = {
    "שקל": "שֵׁ֫קֶל",
    "שקלים": "שְׁקָלִים",
    "אגורה": "אֲגוֹרָה",
    "אגורות": "אֲגוֹרוֹת",
    "אירו": "אֵ֫ירוֹ",
    "סנט": "סֵנְט",
    "סנטים": "סֵ֫נְטִים",
    "דולר": "ד֫וֹלָר",
    "דולרים": "דוֹלָ֫רִים",
}


POINTS = {
    "מינוס": "מִ֫ינּוּס",
    "נקודה": "נְֽקֻדָּה",
}

NUMBER_NAMES = {
    **CURRENCY,
    **HUNDREDS,
    **LARGE,
    **LETTERS,
    **ONES,
    **POINTS,
    **TENS,
    **THOUSANDS,
    **TWENTIES,
    **ZERO,
}
