"""Aggregate translation tables for country and region labels."""

from __future__ import annotations

from ..data_builders.build_labels_country import (
    _build_country_label_index,
    _make_japan_labels,
    _make_turkey_labels,
)
from ..helps import len_print
from ._shared import load_json_mapping

US_STATES = {
    "georgia (u.s. state)": "ولاية جورجيا",
    "new york (state)": "ولاية نيويورك",
    "washington (state)": "ولاية واشنطن",
    "washington": "واشنطن",
    "washington, d.c.": "واشنطن العاصمة",
    "georgia": "جورجيا",
    "new york": "نيويورك",
    "alabama": "ألاباما",
    "alaska": "ألاسكا",
    "arizona": "أريزونا",
    "arkansas": "أركنساس",
    "california": "كاليفورنيا",
    "colorado": "كولورادو",
    "connecticut": "كونيتيكت",
    "delaware": "ديلاوير",
    "florida": "فلوريدا",
    "hawaii": "هاواي",
    "idaho": "أيداهو",
    "illinois": "إلينوي",
    "indiana": "إنديانا",
    "iowa": "آيوا",
    "kansas": "كانساس",
    "kentucky": "كنتاكي",
    "louisiana": "لويزيانا",
    "maine": "مين",
    "maryland": "ماريلند",
    "massachusetts": "ماساتشوستس",
    "michigan": "ميشيغان",
    "minnesota": "منيسوتا",
    "mississippi": "مسيسيبي",
    "missouri": "ميزوري",
    "montana": "مونتانا",
    "nebraska": "نبراسكا",
    "nevada": "نيفادا",
    "new hampshire": "نيوهامشير",
    "new jersey": "نيوجيرسي",
    "new mexico": "نيومكسيكو",
    "north carolina": "كارولاينا الشمالية",
    "north dakota": "داكوتا الشمالية",
    "ohio": "أوهايو",
    "oklahoma": "أوكلاهوما",
    "oregon": "أوريغن",
    "pennsylvania": "بنسلفانيا",
    "rhode island": "رود آيلاند",
    "south carolina": "كارولاينا الجنوبية",
    "south dakota": "داكوتا الجنوبية",
    "tennessee": "تينيسي",
    "texas": "تكساس",
    "utah": "يوتا",
    "vermont": "فيرمونت",
    "virginia": "فرجينيا",
    "west virginia": "فرجينيا الغربية",
    "wisconsin": "ويسكونسن",
    "wyoming": "وايومنغ",
}

JAPAN_REGIONAL_LABELS = {
    "gokishichidō": "",
    "saitama": "سايتاما",
    "tohoku": "توهوكو",
    "shikoku": "شيكوكو",
    "kyushu": "كيوشو",
    "kantō": "كانتو",
    "kansai": "كانساي",
    "hokkaido": "هوكايدو",
    "hokuriku": "هوكوريكو",
    "chūgoku": "تشوغوكو",
    "toyama": "توياما",
    "tokushima": "توكوشيما",
    "chiba": "تشيبا",
    "tottori": "توتوري",
    "tochigi": "توتشيغي",
    "iwate": "إيواته",
    "ibaraki": "إيباراكي",
    "ishikawa": "إيشيكاوا",
    "ōsaka": "أوساكا",
    "okayama": "أوكاياما",
    "ehime": "إهيمه",
    "akita": "أكيتا",
    "aomori": "آوموري",
    "aichi": "آيتشي",
    "ōita": "أويتا",
    "okinawa": "أوكيناوا",
    "saga": "ساغا",
    "shimane": "شيمانه",
    "shiga": "شيغا",
    "shizuoka": "شيزوكا",
    "kanagawa": "كاناغاوا",
    "kagoshima": "كاغوشيما",
    "kagawa": "كاغاوا",
    "fukui": "فوكوي",
    "fukuoka": "فوكوكا",
    "fukushima": "فوكوشيما",
    "gifu": "غيفو",
    "gunma": "غونما",
    "kōchi": "كوتشي",
    "kumamoto": "كوماموتو",
    "kyōto": "كيوتو",
    "nagano": "ناغانو",
    "nagasaki": "ناغاساكي",
    "nara": "نارا",
    "mie": "ميه",
    "miyagi": "مياغي",
    "miyazaki": "ميازاكي",
    "yamanashi": "ياماناشي",
    "yamaguchi": "ياماغوتشي",
    "yamagata": "ياماغاتا",
    "wakayama": "واكاياما",
    "hyōgo": "هيوغو",
    "hiroshima prefecture": "عمالة هيروشيما",
    "niigata": "نييغاتا",
    "hokkaidō": "هوكايدو",
}

TURKEY_PROVINCE_LABELS = {
    "adana": "أضنة",
    "adıyaman": "أديامان",
    "afyonkarahisar": "أفيون قره حصار",
    "ağrı": "أغري",
    "aksaray": "آق سراي",
    "amasya": "أماصيا",
    "ankara": "أنقرة",
    "antalya": "أنطاليا",
    "ardahan": "أردهان",
    "artvin": "أرتوين",
    "aydın": "أيدين",
    "balıkesir": "بالق أسير",
    "bartın": "بارتين",
    "batman": "بطمان",
    "bayburt": "بايبورت",
    "bilecik": "بيله جك",
    "bingöl": "بينكل",
    "bitlis": "بتليس",
    "bolu": "بولو",
    "burdur": "بوردور",
    "bursa": "بورصة",
    "çanakkale": "جاناكالي",
    "çankırı": "جانقري",
    "çorum": "جوروم",
    "denizli": "دنيزلي",
    "diyarbakır": "دياربكر",
    "düzce": "دوزجه",
    "edirne": "أدرنة",
    "elazığ": "إلازيغ",
    "erzincan": "أرزينجان",
    "erzurum": "أرضروم",
    "eskişehir": "إسكيشهر",
    "gaziantep": "عنتاب",
    "giresun": "غيرسون",
    "gümüşhane": "كوموش خانة",
    "hakkâri": "حكاري",
    "hatay": "هاتاي",
    "iğdır": "اغدير",
    "isparta": "إسبرطة",
    "istanbul": "إسطنبول",
    "izmir": "إزمير",
    "kahramanmaraş": "قهرمان مرعش",
    "karabük": "كارابوك",
    "karaman": "كارامان",
    "kars": "كارس",
    "kastamonu": "قسطموني",
    "kayseri": "قيصري",
    "kilis": "كلس",
    "kırıkkale": "قيريقكالي",
    "kırklareli": "قرقلر ايلي",
    "kırşehir": "قرشهر",
    "kocaeli": "قوجه ايلي",
    "konya": "قونية",
    "kütahya": "كوتاهية",
    "malatya": "ملطية",
    "manisa": "مانيسا",
    "mardin": "ماردين",
    "mersin": "مرسين",
    "muğla": "موغلا",
    "muş": "موش",
    "nevşehir": "نوشهر",
    "niğde": "نيدا",
    "ordu": "أردو",
    "osmaniye": "عثمانية",
    "rize": "ريزه",
    "sakarya": "صقاريا",
    "samsun": "سامسون",
    "şanlıurfa": "شانلي أورفة",
    "siirt": "سعرد",
    "sinop": "سينوب",
    "sivas": "سيواس",
    "şırnak": "شرناق",
    "tekirdağ": "تكيرداغ",
    "tokat": "توقات",
    "trabzon": "طرابزون",
    "tunceli": "تونجلي",
    "uşak": "أوشاك",
    "van": "وان",
    "yalova": "يالوفا",
    "yozgat": "يوزغات",
    "zonguldak": "زانغولداك",
}


COMPANY_LABELS_NEW = {
    "airliner": "طائرات",
    "condiment": "توابل",
    "fraternal service": "خدمات أخوية",
    "health care": "رعاية صحية",
    "internet": "إنترنت",
    "magazine": "مجلات",
    "mass media": "وسائل إعلام",
    "military logistics": "لوجستية عسكرية",
    "rail": "سكك حديدية",
    "submarine": "غواصات",
}

JAPAN_LABELS = _make_japan_labels(JAPAN_REGIONAL_LABELS)
TURKEY_LABELS = _make_turkey_labels(TURKEY_PROVINCE_LABELS)


CITY_LABEL_PATCHES = load_json_mapping("cities/yy2.json")
COUNTRY_LABEL_OVERRIDES = load_json_mapping("geography/P17_2_final_ll.json")
raw_region_overrides = load_json_mapping("geography/popopo.json")


"""
NEW_P17_FINAL = _build_country_label_index(  # 68,981
    CITY_TRANSLATIONS_LOWER,
    all_country_ar,
    US_STATES,
    COUNTRY_LABEL_OVERRIDES,
    COUNTRY_ADMIN_LABELS,
    MAIN_REGION_TRANSLATIONS,
    raw_region_overrides,
    SECONDARY_REGION_TRANSLATIONS,
    INDIA_REGION_TRANSLATIONS,
    TAXON_TABLE,
    BASE_POP_FINAL_5,
)
"""

ALIASES_CHAIN = {
    "COMPANY_LABELS_NEW": COMPANY_LABELS_NEW,
    "TURKEY_LABELS": TURKEY_LABELS,
    "JAPAN_LABELS": JAPAN_LABELS,
    "CITY_LABEL_PATCHES": CITY_LABEL_PATCHES,
}

__all__ = [
    "_build_country_label_index",
    "ALIASES_CHAIN",
    "COUNTRY_LABEL_OVERRIDES",
    "US_STATES",
    "raw_region_overrides",
    # "NEW_P17_FINAL",
]

len_print.data_len(
    "labels_country.py",
    {
        "COUNTRY_LABEL_OVERRIDES": COUNTRY_LABEL_OVERRIDES,
        "CITY_LABEL_PATCHES": CITY_LABEL_PATCHES,  # 5,191
        # "NEW_P17_FINAL": NEW_P17_FINAL,
    },
)
