#!/usr/bin/python3
""" """

from ..helps import len_print

SUPPLEMENTARY_LANGUAGE_TRANSLATIONS = {
    "herero": "هيريرو",
    "hiri motu": "هيري موتو",
    "ido": "إيدو",
    "igbo": "إيجبو",
    "interlingua": "إنترلنغوا",
    # "yoruba" : "يوربا",
    "zhuang": "زهيونج",
    "interlingue": "إنترلينج",
    "inupiaq": "إينبياك",
    "kikuyu": "كيكيو",
    "kinyarwanda": "كينيارواندا",
    "kuanyama": "كيونياما",
    "lingala": "لينغالا",
    "luba-katanga": "تشيلوبا",
    "navajo": "نافاجو",
    "ndonga": "ندونجا",
    "odia": "أوريا",
    "quechua": "كتشوا",
    "shona": "شونا",
    "swati": "سوازي",
    "twi": "توي",
    "nyanja": "نيانجا",
    "aymara": "أيمارا",
    "bashkir": "باشقير",
    "chuvash": "تشوفاش",
    "divehi": "ديفهي",
    "dzongkha": "دزونكا",
    "ganda": "جاندا",
    "esperanto": "إسبرانتو",
}

language_key_translations = {}

PRIMARY_LANGUAGE_TRANSLATIONS = {
    "balinese": "بالية",
    "pali": "بالية",
    "abkhazian": "أبخازية",
    "afar": "عفارية",
    # "afrikaans":"أفريقانية",
    "afrikaans": "إفريقية",
    "uralic": "أورالية",
    "akan": "أكانية",
    "albanian": "ألبانية",
    "alemannic": "أليمانية",
    "amharic": "أمهرية",
    "semitic": "سامية",
    "afroasiatic": "أفروآسيوية",
    "arabic": "عربية",
    "aragonese": "أرغونية",
    "armenian": "أرمنية",
    "assamese": "آسامية",
    "asturian": "أستورية",
    "avaric": "أوارية",
    "avestan": "أفستية",
    "azerbaijani": "أذربيجانية",
    # "azerbaijani":"أذرية",
    "bambara": "بمبرية",
    "bangla": "بنغالية",
    "bashkir": "باشقورية",
    "basque": "باسكية",
    # "basque":"بشكنشية",
    "belarusian": "بيلاروسية",
    "bengali": "بنغالية",
    "bhojpuri": "بهارية",
    "bishnupriya manipuri": "بيشنوبريا مانيبورية",
    "bislama": "بسلاما",
    "bosniak": "بوشناقية",
    "bosnian": "بوسنية",
    "breton": "بريتانية",
    "bulgarian": "بلغارية",
    "burmese": "بورمية",
    "cantonese": "كانتونية",
    "catalan": "كتلانية",
    "chamorro": "تسمورية",
    "chechen": "شيشانية",
    "chinese": "صينية",
    "chuvash": "تشوفاشيا",
    "classical syriac": "سريانية",
    "cornish": "كورنية",
    "corsican": "كورسيكية",
    "cree": "كرية",
    "croatian": "كرواتية",
    "czech": "تشيكية",
    "danish": "دنماركية",
    "dutch": "هولندية",
    "egyptian arabic": "مصرية",
    "english": "إنجليزية",
    "esperanto": "إسبرانتو",
    "estonian": "إستونية",
    "ewe": "إوية",
    "faroese": "فاروية",
    "fijian": "فيجية",
    "finnish": "فنلندية",
    "french": "فرنسية",
    "fulah": "فولانية",
    "galician": "جليقية",
    "georgian": "جورجية",
    "german": "ألمانية",
    "germanic": "جرمانية",
    "greek": "يونانية",
    "guarani": "غوارانية",
    "gujarati": "غوجاراتية",
    "hausa": "هوسية",
    "hebrew": "عبرية",
    "hindustani": "هندوستانية",
    "hindi": "هندية",
    "hungarian": "مجرية",
    "icelandic": "آيسلندية",
    "ido": "إيدوية",
    "indonesian": "إندونيسية",
    "inuktitut": "إنكتيتوتية",
    "irish": "أيرلندية",
    "italian": "إيطالية",
    "japanese": "يابانية",
    "javanese": "جاوية",
    "judaeo-spanish": "لادينو",
    "kalaallisut": "جرينلاندية",
    "kannada": "كنادية",
    "kanuri": "كانورية",
    "kashmiri": "كشميرية",
    "kazakh": "كازاخية",
    "khmer": "خميرية",
    "kinyarwanda": "روندية",
    "komi": "كومية",
    "kongo": "كونغو",
    "korean": "كورية",
    "kurdish": "كردية",
    "kyrgyz": "قيرغيزية",
    "lao": "لاوية",
    "latin": "لاتينية",
    "aramaic": "آرامية",
    "latvian": "لاتفية",
    "limburgish": "ليمبورغية",
    "lithuanian": "لتوانية",
    "luxembourgish": "لوكسمبورغية",
    "macedonian": "مقدونية",
    "malagasy": "ملغاشية",
    "malay": "ملايوية",
    "malayalam": "ماليالامية",
    "maltese": "مالطية",
    "manx": "منكية",
    "maori": "ماورية",
    "marathi": "ماراثية",
    "marshallese": "مارشالية",
    "mongolian": "منغولية",
    "nauru": "ناورونية",
    "neapolitan": "نابولية",
    "nepal bhasa": "نيوارية",
    "nepali": "نيبالية",
    "norwegian": "نرويجية",
    "occitan": "أکسيتانية",
    "ojibwa": "أوجيبوا",
    "oromo": "أورومية",
    "ossetic": "أوسيتية",
    "pashto": "بشتوية",
    "indo-european": "هندو أوروبية",
    "persian": "فارسية",
    "piedmontese": "بيدمونتية",
    "polish": "بولندية",
    "portuguese": "برتغالية",
    "punjabi": "بنجابية",
    "ripuarian": "ريبوارية",
    "romanian": "رومانية",
    "romansh": "رومانشية",
    "rundi": "كيروندية",
    "russian": "روسية",
    "samoan": "ساموية",
    "samogitian": "ساموجيتية",
    "sango": "سانغوية",
    "sanskrit": "سنسكريتية",
    "sardinian": "سردينية",
    "scots": "إسكتلندية",
    "serbian": "صربية",
    "serbo-croatian": "صربوكرواتية",
    "sichuan yi": "نؤوسوية",
    "sicilian": "صقلية",
    "silesian": "سيليسية",
    "sindhi": "سندية",
    "sinhala": "سنهالية",
    "slovak": "سلوفاكية",
    "slovene": "سلوفينية",
    "slovenian": "سلوفينية",
    "somali": "صومالية",
    "southern sotho": "سوتية",
    "spanish": "إسبانية",
    "sundanese": "سوندية",
    "swahili": "سواحلية",
    "swedish": "سويدية",
    "tagalog": "تاغالوغية",
    "tahitian": "تاهيتية",
    "tajik": "طاجيكية",
    "tamil": "تاميلية",
    "tatar": "تترية",
    "telugu": "تيلوغوية",
    "thai": "تايلندية",
    "tibetan": "تبتية",
    "tigrinya": "تغرينية",
    "tongan": "تونغية",
    "tsonga": "تسونجا",
    "tswana": "تسوانية",
    "turkish": "تركية",
    "turkmen": "تركمانية",
    "ukrainian": "أوكرانية",
    "urdu": "أردية",
    "uyghur": "أويغورية",
    "uzbek": "أوزبكية",
    "venda": "فيندية",
    "vietnamese": "فيتنامية",
    "volapük": "فولابوكية",
    "walloon": "والونية",
    "waray": "واراي واراي",
    "welsh": "ويلزية",
    "wolof": "ولوفية",
    "xhosa": "خوسية",
    "yiddish": "يديشية",
    # "yoruba":"يوربا",
    "zulu": "زولوية",
    "молдовеняскэ": "مولدوفية",
}

LANGUAGE_SUFFIX_FORMATS = {
    # " language" : "لغة {}",
    "-language": "اللغة ال{}",
    " languages": "اللغات ال{}",
}

for language_key, arabic_name in PRIMARY_LANGUAGE_TRANSLATIONS.items():
    normalized_key = language_key.lower()
    language_key_translations[f"{normalized_key} language"] = f"لغة {arabic_name}"
    for suffix_pattern, suffix_label in LANGUAGE_SUFFIX_FORMATS.items():
        translation_key = f"{normalized_key}{suffix_pattern.lower()}"
        language_key_translations[translation_key] = suffix_label.format(arabic_name)

COMPLEX_LANGUAGE_TRANSLATIONS = {
    "west frisian": "فريزية غربية",
    "sorani": "كردية سورانية",
    "simple english": "إنجليزية بسيطة",
    "serbo-croatian": "صربية كرواتية",
    "northern sami": "سامي شمالية",
    "dutch low saxon": "هولندية سكسونية سفلى",
    "western frisian": "فريزية غربية",
    "south ndebele": "نديبلي جنوبية",
    "seselwa creole french": "كريولية سيشيلية",
    "scottish gaelic": "غيلية إسكتلندية",
    "north ndebele": "نديبيل شمالية",
    "norwegian bokmål": "نرويجية بوكمول",
    "norwegian nynorsk": "نرويجية نينوشك",
    "haitian creole": "كريولية هايتية",
    "church slavic": "سلافونية كنسية قديمة",
}

for language_key, arabic_name in COMPLEX_LANGUAGE_TRANSLATIONS.items():
    normalized_key = language_key.lower()
    language_key_translations[f"{normalized_key} language"] = f"لغة {arabic_name}"
    arabic_name = arabic_name.replace(" ", " ال")
    # lab = re.sub(r" " , " ال" , lab )
    # language_key_translations[x2] = "ال%s" % lab
    language_key_translations[normalized_key] = arabic_name
    for suffix_pattern in LANGUAGE_SUFFIX_FORMATS:
        translation_key = f"{normalized_key}{suffix_pattern}"
        language_key_translations[translation_key] = LANGUAGE_SUFFIX_FORMATS[suffix_pattern].format(arabic_name)

LANGUAGE_TOPIC_FORMATS = {
    "grammar": "قواعد {}",
    "romanization": "رومنة {}",
    "writing system": "نظام كتابة {}",
    "dialects": "لهجات {}",
    "surnames": "ألقاب {}",
    "masculine given names": "أسماء ذكور ب{}",
    "given names": "أسماء شخصية {}",
    "varieties and styles": "أصناف وأساليب {}",
    "literature": "أدب {}",
    "culture": "ثقافة {}",
    "underground culture": "ثقافة باطنية {}",
    "mass media": "إعلام {}",
    "countries": "بلدان {}",
    "categories": "تصنيفات {}",
    "education": "تعليم {}",
}

MEDIA_CATEGORY_TRANSLATIONS = {
    "words and phrases": "كلمات وجمل",
    "academic journals": "دوريات أكاديمية",
    "albums": "ألبومات",
    "books": "كتب",
    "comic book": "كتب قصص مصورة",
    "comic strips": "شرائط كومكس",
    "comic": "قصص مصورة",
    "comics": "قصص مصورة",
    "marvel comics": "مارفال كومكس",
    "dictionaries": "قواميس",
    "encyclopedias": "موسوعات",
    "films": "أفلام",
    "given names": "أسماء شخصية",
    "graphic novels": "روايات مصورة",
    "inscriptions": "نقوش",
    "literary awards": "جوائز أدبية",
    # "literary critics" : "نقد أدبي",
    "magazines": "مجلات",
    "manga": "مانغا",
    "media": "إعلام",
    "medieval literature": "أدب العصور الوسطى",
    "music": "موسيقى",
    "musicians": "موسيقيون",
    "names": "أسماء",
    "newspapers": "صحف",
    "novels": "روايات",
    "novellas": "روايات قصيرة",
    "operas": "أوبيرات",
    "people": "أشخاص",
    "plays": "مسرحيات",
    "poems": "قصائد",
    "publications": "منشورات",
    "radio stations": "محطات إذاعية",
    "short stories": "قصص قصيرة",
    "songs": "أغان",
    "surnames": "ألقاب",
    "telenovelas": "تيلينوفيلا",
    "television seasons": "مواسم تلفزيونية",
    "television episodes": "حلقات تلفزيونية",
    "television series": "مسلسلات تلفزيونية",
    "film series": "سلاسل أفلام",
    "television shows": "عروض تلفزيونية",
    "television networks": "شبكات تلفزيونية",
    "television programs": "برامج تلفزيونية",
    "television programmes": "برامج تلفزيونية",
    "television stations": "محطات تلفزيونية",
    "television": "تلفاز",
    "verbs": "أفعال",
    "video games": "ألعاب فيديو",
    "webcomic": "ويب كومكس",
    "webcomics": "ويب كومكس",
    "websites": "مواقع ويب",
    "works": "أعمال",
    # "Bible translations
    # "Compositions مؤلفات موسيقية
    # "tirukkural translations" : "",
}

ALBUMS_TYPE: dict[str, str] = {
    "folktronica": "فولكترونيكا",
    "concept": "مفاهيمية",
    "surprise": "مفاجئة",
    "comedy": "كوميدية",
    "mixtape": "ميكستايب",
    "remix": "ريمكس",
    "animation": "رسوم متحركة",
    "video": "فيديو",
    "compilation": "تجميعية",
    "live": "مباشرة",
    "jazz": "جاز",
    "eps": "أسطوانة مطولة",
    "folk": "فولك",
}
for album_type in ALBUMS_TYPE:
    MEDIA_CATEGORY_TRANSLATIONS[f"{album_type} albums"] = f"ألبومات {ALBUMS_TYPE[album_type]}"
# ---
for media_key, media_label in MEDIA_CATEGORY_TRANSLATIONS.items():
    LANGUAGE_TOPIC_FORMATS[media_key.lower()] = f"{media_label} ب{{}}"

len_print.data_len(
    "languages.py",
    {
        "language_key_translations": language_key_translations,
        "PRIMARY_LANGUAGE_TRANSLATIONS": PRIMARY_LANGUAGE_TRANSLATIONS,
        "COMPLEX_LANGUAGE_TRANSLATIONS": COMPLEX_LANGUAGE_TRANSLATIONS,
        "LANGUAGE_SUFFIX_FORMATS": LANGUAGE_SUFFIX_FORMATS,
        "LANGUAGE_TOPIC_FORMATS": LANGUAGE_TOPIC_FORMATS,
    },
)
__all__ = [
    "language_key_translations",
    "PRIMARY_LANGUAGE_TRANSLATIONS",
    "COMPLEX_LANGUAGE_TRANSLATIONS",
    "LANGUAGE_TOPIC_FORMATS",
]
