use std::{collections::HashMap, sync::LazyLock};
use crate::format::Decimal;
pub static LANG_TO_DECIMAL: LazyLock<HashMap<&'static str, Decimal>> = LazyLock::new(|| {
let mut map = HashMap::new();
map.insert("aa", Decimal::Dot);
map.insert("ab", Decimal::Dot);
map.insert("af", Decimal::Comma);
map.insert("agq", Decimal::Comma);
map.insert("ak", Decimal::Dot);
map.insert("am", Decimal::Dot);
map.insert("an", Decimal::Dot);
map.insert("ann", Decimal::Dot);
map.insert("apc", Decimal::Dot);
map.insert("ar", Decimal::Dot);
map.insert("ar-DZ", Decimal::Comma);
map.insert("ar-LB", Decimal::Comma);
map.insert("ar-LY", Decimal::Comma);
map.insert("ar-MA", Decimal::Comma);
map.insert("ar-MR", Decimal::Comma);
map.insert("ar-TN", Decimal::Comma);
map.insert("arn", Decimal::Dot);
map.insert("as", Decimal::Dot);
map.insert("asa", Decimal::Dot);
map.insert("ast", Decimal::Comma);
map.insert("az", Decimal::Comma);
map.insert("az-Arab", Decimal::Dot);
map.insert("az-Arab-IQ", Decimal::Dot);
map.insert("az-Arab-TR", Decimal::Dot);
map.insert("ba", Decimal::Dot);
map.insert("bal", Decimal::Dot);
map.insert("bas", Decimal::Comma);
map.insert("be", Decimal::Comma);
map.insert("bem", Decimal::Dot);
map.insert("bew", Decimal::Dot);
map.insert("bez", Decimal::Dot);
map.insert("bg", Decimal::Comma);
map.insert("bgc", Decimal::Dot);
map.insert("bho", Decimal::Dot);
map.insert("blo", Decimal::Comma);
map.insert("blt", Decimal::Dot);
map.insert("bm", Decimal::Dot);
map.insert("bn", Decimal::Dot);
map.insert("bo", Decimal::Dot);
map.insert("bqi", Decimal::Dot);
map.insert("br", Decimal::Comma);
map.insert("brx", Decimal::Dot);
map.insert("bs", Decimal::Comma);
map.insert("bss", Decimal::Dot);
map.insert("bua", Decimal::Comma);
map.insert("byn", Decimal::Dot);
map.insert("ca", Decimal::Comma);
map.insert("cad", Decimal::Dot);
map.insert("cch", Decimal::Dot);
map.insert("ccp", Decimal::Dot);
map.insert("ce", Decimal::Dot);
map.insert("ceb", Decimal::Dot);
map.insert("cgg", Decimal::Dot);
map.insert("cho", Decimal::Dot);
map.insert("chr", Decimal::Dot);
map.insert("cic", Decimal::Dot);
map.insert("ckb", Decimal::Dot);
map.insert("co", Decimal::Dot);
map.insert("cop", Decimal::Dot);
map.insert("cs", Decimal::Comma);
map.insert("csw", Decimal::Dot);
map.insert("cu", Decimal::Dot);
map.insert("cv", Decimal::Comma);
map.insert("cy", Decimal::Dot);
map.insert("da", Decimal::Comma);
map.insert("dav", Decimal::Dot);
map.insert("de", Decimal::Comma);
map.insert("de-CH", Decimal::Dot);
map.insert("de-LI", Decimal::Dot);
map.insert("dje", Decimal::Dot);
map.insert("doi", Decimal::Dot);
map.insert("dsb", Decimal::Comma);
map.insert("dua", Decimal::Comma);
map.insert("dv", Decimal::Dot);
map.insert("dyo", Decimal::Comma);
map.insert("dz", Decimal::Dot);
map.insert("ebu", Decimal::Dot);
map.insert("ee", Decimal::Dot);
map.insert("el", Decimal::Comma);
map.insert("en", Decimal::Dot);
map.insert("en-AT", Decimal::Comma);
map.insert("en-BE", Decimal::Comma);
map.insert("en-CZ", Decimal::Comma);
map.insert("en-DE", Decimal::Comma);
map.insert("en-DK", Decimal::Comma);
map.insert("en-EE", Decimal::Comma);
map.insert("en-ES", Decimal::Comma);
map.insert("en-FI", Decimal::Comma);
map.insert("en-FR", Decimal::Comma);
map.insert("en-GE", Decimal::Comma);
map.insert("en-HU", Decimal::Comma);
map.insert("en-ID", Decimal::Comma);
map.insert("en-IT", Decimal::Comma);
map.insert("en-LT", Decimal::Comma);
map.insert("en-LV", Decimal::Comma);
map.insert("en-NL", Decimal::Comma);
map.insert("en-NO", Decimal::Comma);
map.insert("en-PL", Decimal::Comma);
map.insert("en-PT", Decimal::Comma);
map.insert("en-RO", Decimal::Comma);
map.insert("en-SE", Decimal::Comma);
map.insert("en-SI", Decimal::Comma);
map.insert("en-SK", Decimal::Comma);
map.insert("en-UA", Decimal::Comma);
map.insert("en-ZA", Decimal::Comma);
map.insert("eo", Decimal::Comma);
map.insert("es", Decimal::Comma);
map.insert("es-419", Decimal::Dot);
map.insert("es-BR", Decimal::Dot);
map.insert("es-BZ", Decimal::Dot);
map.insert("es-CU", Decimal::Dot);
map.insert("es-DO", Decimal::Dot);
map.insert("es-GT", Decimal::Dot);
map.insert("es-HN", Decimal::Dot);
map.insert("es-MX", Decimal::Dot);
map.insert("es-NI", Decimal::Dot);
map.insert("es-PA", Decimal::Dot);
map.insert("es-PE", Decimal::Dot);
map.insert("es-PR", Decimal::Dot);
map.insert("es-SV", Decimal::Dot);
map.insert("es-US", Decimal::Dot);
map.insert("et", Decimal::Comma);
map.insert("eu", Decimal::Comma);
map.insert("ewo", Decimal::Comma);
map.insert("fa", Decimal::Dot);
map.insert("ff", Decimal::Comma);
map.insert("ff-Adlm", Decimal::Dot);
map.insert("ff-Adlm-BF", Decimal::Dot);
map.insert("ff-Adlm-CM", Decimal::Dot);
map.insert("ff-Adlm-GH", Decimal::Dot);
map.insert("ff-Adlm-GM", Decimal::Dot);
map.insert("ff-Adlm-GW", Decimal::Dot);
map.insert("ff-Adlm-LR", Decimal::Dot);
map.insert("ff-Adlm-MR", Decimal::Dot);
map.insert("ff-Adlm-NE", Decimal::Dot);
map.insert("ff-Adlm-NG", Decimal::Dot);
map.insert("ff-Adlm-SL", Decimal::Dot);
map.insert("ff-Adlm-SN", Decimal::Dot);
map.insert("fi", Decimal::Comma);
map.insert("fil", Decimal::Dot);
map.insert("fo", Decimal::Comma);
map.insert("fr", Decimal::Comma);
map.insert("frr", Decimal::Dot);
map.insert("fur", Decimal::Comma);
map.insert("fy", Decimal::Comma);
map.insert("ga", Decimal::Dot);
map.insert("gaa", Decimal::Dot);
map.insert("gd", Decimal::Dot);
map.insert("gez", Decimal::Dot);
map.insert("gl", Decimal::Comma);
map.insert("gn", Decimal::Dot);
map.insert("gsw", Decimal::Dot);
map.insert("gu", Decimal::Dot);
map.insert("guz", Decimal::Dot);
map.insert("gv", Decimal::Dot);
map.insert("ha", Decimal::Dot);
map.insert("haw", Decimal::Dot);
map.insert("he", Decimal::Dot);
map.insert("hi", Decimal::Dot);
map.insert("hnj", Decimal::Dot);
map.insert("hr", Decimal::Comma);
map.insert("hsb", Decimal::Comma);
map.insert("ht", Decimal::Comma);
map.insert("hu", Decimal::Comma);
map.insert("hy", Decimal::Comma);
map.insert("ia", Decimal::Comma);
map.insert("id", Decimal::Comma);
map.insert("ie", Decimal::Comma);
map.insert("ig", Decimal::Dot);
map.insert("ii", Decimal::Dot);
map.insert("io", Decimal::Dot);
map.insert("is", Decimal::Comma);
map.insert("it", Decimal::Comma);
map.insert("it-CH", Decimal::Dot);
map.insert("iu", Decimal::Dot);
map.insert("ja", Decimal::Dot);
map.insert("jbo", Decimal::Dot);
map.insert("jgo", Decimal::Comma);
map.insert("jmc", Decimal::Dot);
map.insert("jv", Decimal::Comma);
map.insert("ka", Decimal::Comma);
map.insert("kaa", Decimal::Dot);
map.insert("kab", Decimal::Comma);
map.insert("kaj", Decimal::Dot);
map.insert("kam", Decimal::Dot);
map.insert("kcg", Decimal::Dot);
map.insert("kde", Decimal::Dot);
map.insert("kea", Decimal::Comma);
map.insert("kek", Decimal::Dot);
map.insert("ken", Decimal::Dot);
map.insert("kgp", Decimal::Comma);
map.insert("khq", Decimal::Dot);
map.insert("ki", Decimal::Dot);
map.insert("kk", Decimal::Comma);
map.insert("kk-Arab", Decimal::Dot);
map.insert("kkj", Decimal::Comma);
map.insert("kl", Decimal::Comma);
map.insert("kln", Decimal::Dot);
map.insert("km", Decimal::Dot);
map.insert("kn", Decimal::Dot);
map.insert("ko", Decimal::Dot);
map.insert("kok", Decimal::Dot);
map.insert("kpe", Decimal::Dot);
map.insert("ks", Decimal::Dot);
map.insert("ksb", Decimal::Dot);
map.insert("ksf", Decimal::Comma);
map.insert("ksh", Decimal::Comma);
map.insert("ku", Decimal::Comma);
map.insert("ku-Arab", Decimal::Dot);
map.insert("ku-Arab-IR", Decimal::Dot);
map.insert("kw", Decimal::Dot);
map.insert("kxv", Decimal::Dot);
map.insert("ky", Decimal::Comma);
map.insert("la", Decimal::Dot);
map.insert("lag", Decimal::Dot);
map.insert("lb", Decimal::Comma);
map.insert("lg", Decimal::Dot);
map.insert("lij", Decimal::Comma);
map.insert("lkt", Decimal::Dot);
map.insert("lld", Decimal::Comma);
map.insert("lmo", Decimal::Comma);
map.insert("ln", Decimal::Comma);
map.insert("lo", Decimal::Comma);
map.insert("lrc", Decimal::Dot);
map.insert("lt", Decimal::Comma);
map.insert("ltg", Decimal::Dot);
map.insert("lu", Decimal::Comma);
map.insert("luo", Decimal::Dot);
map.insert("luy", Decimal::Dot);
map.insert("lv", Decimal::Comma);
map.insert("lzz", Decimal::Dot);
map.insert("mai", Decimal::Dot);
map.insert("mas", Decimal::Dot);
map.insert("mdf", Decimal::Dot);
map.insert("mer", Decimal::Dot);
map.insert("mfe", Decimal::Dot);
map.insert("mg", Decimal::Dot);
map.insert("mgh", Decimal::Comma);
map.insert("mgo", Decimal::Dot);
map.insert("mhn", Decimal::Dot);
map.insert("mi", Decimal::Dot);
map.insert("mic", Decimal::Dot);
map.insert("mk", Decimal::Comma);
map.insert("ml", Decimal::Dot);
map.insert("mn", Decimal::Dot);
map.insert("mni", Decimal::Dot);
map.insert("moh", Decimal::Dot);
map.insert("mr", Decimal::Dot);
map.insert("ms", Decimal::Dot);
map.insert("ms-Arab-BN", Decimal::Comma);
map.insert("ms-BN", Decimal::Comma);
map.insert("ms-ID", Decimal::Comma);
map.insert("mt", Decimal::Dot);
map.insert("mua", Decimal::Comma);
map.insert("mus", Decimal::Dot);
map.insert("mww", Decimal::Dot);
map.insert("my", Decimal::Dot);
map.insert("myv", Decimal::Dot);
map.insert("mzn", Decimal::Dot);
map.insert("naq", Decimal::Dot);
map.insert("nb", Decimal::Comma);
map.insert("nd", Decimal::Dot);
map.insert("nds", Decimal::Comma);
map.insert("ne", Decimal::Dot);
map.insert("nl", Decimal::Comma);
map.insert("nmg", Decimal::Comma);
map.insert("nn", Decimal::Comma);
map.insert("nnh", Decimal::Comma);
map.insert("no", Decimal::Comma);
map.insert("nqo", Decimal::Dot);
map.insert("nr", Decimal::Comma);
map.insert("nso", Decimal::Dot);
map.insert("nus", Decimal::Dot);
map.insert("nv", Decimal::Dot);
map.insert("ny", Decimal::Dot);
map.insert("nyn", Decimal::Dot);
map.insert("oc", Decimal::Comma);
map.insert("oka", Decimal::Dot);
map.insert("om", Decimal::Dot);
map.insert("or", Decimal::Dot);
map.insert("os", Decimal::Comma);
map.insert("osa", Decimal::Dot);
map.insert("pa", Decimal::Dot);
map.insert("pap", Decimal::Dot);
map.insert("pcm", Decimal::Dot);
map.insert("pi", Decimal::Dot);
map.insert("pis", Decimal::Dot);
map.insert("pl", Decimal::Comma);
map.insert("pms", Decimal::Comma);
map.insert("prg", Decimal::Comma);
map.insert("ps", Decimal::Comma);
map.insert("pt", Decimal::Comma);
map.insert("qu", Decimal::Dot);
map.insert("qu-BO", Decimal::Comma);
map.insert("quc", Decimal::Dot);
map.insert("raj", Decimal::Dot);
map.insert("rhg", Decimal::Dot);
map.insert("rif", Decimal::Dot);
map.insert("rm", Decimal::Comma);
map.insert("rn", Decimal::Comma);
map.insert("ro", Decimal::Comma);
map.insert("rof", Decimal::Dot);
map.insert("ru", Decimal::Comma);
map.insert("rw", Decimal::Comma);
map.insert("rwk", Decimal::Dot);
map.insert("sa", Decimal::Dot);
map.insert("sah", Decimal::Comma);
map.insert("saq", Decimal::Dot);
map.insert("sat", Decimal::Dot);
map.insert("sbp", Decimal::Dot);
map.insert("sc", Decimal::Comma);
map.insert("scn", Decimal::Comma);
map.insert("sd", Decimal::Dot);
map.insert("sdh", Decimal::Dot);
map.insert("se", Decimal::Comma);
map.insert("seh", Decimal::Comma);
map.insert("ses", Decimal::Dot);
map.insert("sg", Decimal::Comma);
map.insert("sgs", Decimal::Dot);
map.insert("shi", Decimal::Comma);
map.insert("shn", Decimal::Dot);
map.insert("si", Decimal::Dot);
map.insert("sid", Decimal::Dot);
map.insert("sk", Decimal::Comma);
map.insert("skr", Decimal::Dot);
map.insert("sl", Decimal::Comma);
map.insert("sma", Decimal::Dot);
map.insert("smj", Decimal::Dot);
map.insert("smn", Decimal::Comma);
map.insert("sms", Decimal::Dot);
map.insert("sn", Decimal::Dot);
map.insert("so", Decimal::Dot);
map.insert("sq", Decimal::Comma);
map.insert("sr", Decimal::Comma);
map.insert("ss", Decimal::Comma);
map.insert("ssy", Decimal::Dot);
map.insert("st", Decimal::Dot);
map.insert("su", Decimal::Comma);
map.insert("suz", Decimal::Dot);
map.insert("sv", Decimal::Comma);
map.insert("sw", Decimal::Dot);
map.insert("sw-CD", Decimal::Comma);
map.insert("syr", Decimal::Dot);
map.insert("szl", Decimal::Comma);
map.insert("ta", Decimal::Dot);
map.insert("te", Decimal::Dot);
map.insert("teo", Decimal::Dot);
map.insert("tg", Decimal::Comma);
map.insert("th", Decimal::Dot);
map.insert("ti", Decimal::Dot);
map.insert("tig", Decimal::Dot);
map.insert("tk", Decimal::Comma);
map.insert("tn", Decimal::Dot);
map.insert("to", Decimal::Dot);
map.insert("tok", Decimal::Comma);
map.insert("tpi", Decimal::Dot);
map.insert("tr", Decimal::Comma);
map.insert("trv", Decimal::Dot);
map.insert("trw", Decimal::Dot);
map.insert("ts", Decimal::Comma);
map.insert("tt", Decimal::Comma);
map.insert("twq", Decimal::Dot);
map.insert("tyv", Decimal::Dot);
map.insert("tzm", Decimal::Comma);
map.insert("ug", Decimal::Dot);
map.insert("uk", Decimal::Comma);
map.insert("und", Decimal::Dot);
map.insert("ur", Decimal::Dot);
map.insert("uz", Decimal::Comma);
map.insert("vai", Decimal::Dot);
map.insert("ve", Decimal::Comma);
map.insert("vec", Decimal::Comma);
map.insert("vi", Decimal::Comma);
map.insert("vmw", Decimal::Comma);
map.insert("vo", Decimal::Dot);
map.insert("vun", Decimal::Dot);
map.insert("wa", Decimal::Dot);
map.insert("wae", Decimal::Comma);
map.insert("wal", Decimal::Dot);
map.insert("wbp", Decimal::Dot);
map.insert("wo", Decimal::Comma);
map.insert("xh", Decimal::Dot);
map.insert("xnr", Decimal::Dot);
map.insert("xog", Decimal::Dot);
map.insert("yav", Decimal::Comma);
map.insert("yi", Decimal::Dot);
map.insert("yo", Decimal::Dot);
map.insert("yrl", Decimal::Comma);
map.insert("yue", Decimal::Dot);
map.insert("za", Decimal::Dot);
map.insert("zgh", Decimal::Comma);
map.insert("zh", Decimal::Dot);
map.insert("zu", Decimal::Dot);
map
});