"""
Mappings used to normalize Arabic category labels.
"""

from __future__ import annotations

from typing import Dict, Set

REPLACEMENTS: Dict[str, str] = {
    "مرشحون يهود في رئيس": "مرشحون يهود لمنصب رئيس",
    "مرشحات في رئيس": "مرشحات لمنصب رئيس",
    "مرشحون في رئيس": "مرشحون لمنصب رئيس",
    "بواسطة البلد": "حسب البلد",
    "المكان المأهول واحتلال": "المكان المأهول والمهنة",
    "حقوق المثليين": "معاملة المثليين",
    "منظمات في أطفال": "منظمات أطفال",
    " تلفزيونية أنمي": " أنمي متلفزة ",
    " تلفزيونية أنيمي": " أنمي متلفزة ",
    "وزارات حكومة في ": "وزارات حكومة ",
    "قضاة من ": "قضاة في ",
    "خصصت ل ": "خصصت ل",
    "متعلقة ب ": "متعلقة ب",
    "معلقو رياضبة": "معلقون رياضيون",
    "ولاية ولاية": "ولاية",
    "ولاية واشنطن العاصمة": "واشنطن العاصمة",
    "الشعر ": "شعر ",
    " و ": " و",
    "جمهورية في ": "جمهورية ",
    "حوادث إرهابية إسلامية": "حوادث إرهابية منسوبة للمسلمين",
    "هجمات إسلامية": "هجمات منسوبة للمسلمين",
}
"""Regex-based replacements applied globally to Arabic labels."""

STARTING_REPLACEMENTS: Dict[str, str] = {
    # "اكتشافات بواسطة" : "اكتشافات",
    "هجمات ضد": "هجمات على",
    "أشخاص أتهموا بتهمة": "متهمون بتهمة",
    "أشخاص أدينوا ب": "مدانون ب",
    "تاريخ تعليم في": "تاريخ التعليم في",
    "أفعال في الكونغرس": "قوانين الكونغرس",
    "أفعال الكونغرس": "قوانين الكونغرس",
    "شهود عيان إلى ": "شهود عيان عن ",
    "أشخاص مرتبطة مع": "أشخاص مرتبطون مع",
    "موقعون من ": "موقعون على ",
    "وفيات من حريق ": "وفيات ناجمة عن الحريق ",
    "معالم أثرية ونصب تذكارية إلى ": "معالم أثرية ونصب تذكارية ل",
    "معالم ونصب تذكارية إلى ": "معالم ونصب تذكارية ل",
    "نصب تذكارية إلى ": "نصب تذكارية عن ",
    "الخط الزمني في ": "الخط الزمني ل",
    "الشعر ": "شعر ",
    "ثقافة في ": "الثقافة في ",
    "تاريخ نقل في ": "تاريخ النقل في ",
    "جوائز التلفاز 1": "جوائز التلفاز في 1",
    "جوائز التلفاز 2": "جوائز التلفاز في 2",
    "تعليم في ": "التعليم في ",
    "هواتف محمولة اخترعت في ": "هواتف محمولة عرضت في ",
    "نقل في ": "النقل في ",
    "وسائل الإعلام انحلت": "وسائل إعلام انحلت",
    "الكتب عن ": "كتب عن ",
    "أحداث الرياضية": "أحداث رياضية",
    "قوائم متعلقة القرن": "قوائم متعلقة بالقرن",
    "قوائم متعلقة عقد": "قوائم متعلقة بعقد",
    "قوائم متعلقة 1": "قوائم متعلقة ب1",
    "قوائم متعلقة 2": "قوائم متعلقة ب2",
    "قوائم متعلقة 3": "قوائم متعلقة ب3",
    "قوائم متعلقة 4": "قوائم متعلقة ب4",
    "قوائم متعلقة 5": "قوائم متعلقة ب5",
    "أفلام 1": "أفلام إنتاج 1",
    "أفلام 2": "أفلام إنتاج 2",
    "أفلام عقد ": "أفلام إنتاج عقد ",
    "أفلام القرن ": "أفلام إنتاج القرن ",
    # "معاهد أبحاث أسست في " : "معاهد أبحاث أسست سنة",
    # "هيئات تعليمية تأسست في": "هيئات تعليمية أسست في",
    "وسائل الإعلام أسست": "وسائل إعلام تأسست",
    "وسائل الإعلام تأسست": "وسائل إعلام تأسست",
    # "أحداث رياضية دورية تأسست": "أحداث رياضية دورية أسست",
}
"""Prefix replacements that run on the start of the label."""

ENDING_REPLACEMENTS: Dict[str, str] = {
    "صناعة إعلامية": "صناعة الإعلام",
    "إلى يونسكو": "لدى يونسكو",
    "إلى الأمم المتحدة": "لدى الأمم المتحدة",
    "إلى منظمة حظر الأسلحة الكيميائية": "لدى منظمة حظر الأسلحة الكيميائية",
    "انتهت في": "انتهت",
    "أنتهت في": "أنتهت",
    "في بإعاقات": "بإعاقات",
    "انتهت حسب السنة": "حسب سنة انتهاء العرض",
    "انتهت حسب العقد": "حسب عقد انتهاء العرض",
    "أنتهت حسب السنة": "حسب سنة انتهاء العرض",
    "بدأ عرضها حسب السنة": "حسب سنة بدء العرض",
    "بدأ عرضها حسب العقد": "حسب عقد بدء العرض",
    "بدأ عرضها حسب القرن": "حسب قرن بدء العرض",
    "في نقل": "في النقل",
    "قتلوا في حركة": "قتلوا في عمليات قتالية",
    "في تعليم": "في التعليم",
    "في أدب": "في الأدب",
    "في تاريخ": "في التاريخ",
    "في طيران": "في الطيران",
    "في ثقافة": "في الثقافة",
    "في رياضة": "في الرياضة",
    "اليابان حسب الولاية": "اليابان حسب المحافظة",
    "في سياسة": "في السياسة",
    "في أفلام": "في الأفلام",
    "في أعمال": "في الأعمال",
    " من": "",
    " في": "",
    "في أحداث رياضية متعددة": "في الأحداث الرياضية المتعددة",
}
"""Suffix replacements applied after trimming whitespace."""

YEAR_CATEGORY_LABELS: Set[str] = {
    "كوارث صحية",
    "كوارث طبيعية",
    "كوارث طبية",
}
"""Labels that require inserting the preposition 'في' before year values."""

__all__ = [
    "REPLACEMENTS",
    "STARTING_REPLACEMENTS",
    "ENDING_REPLACEMENTS",
    "YEAR_CATEGORY_LABELS",
]
