lang-id 0.0.20

Const lang-ids and maps are provided, mainly for i18n and l10n.
Documentation
/// Provides compile-time mapping between ISO 3166-1 alpha-2 codes and
/// UN M.49 region containment hierarchies. This constant function
/// enables zero-cost geographical hierarchy lookups according to CLDR
/// specifications.
///
/// ## Example
///
/// ```
/// use lang_id::matches::territory_containment_name::name_mapping;
///
/// // China (CN) belongs to region 030 (Eastern Asia)
/// let china_hierarchy = name_mapping(b"CN");
/// assert_eq!(china_hierarchy, &["030"]);
///
/// // France (FR) belongs to region 155 (Western Europe)
/// let france_hierarchy = name_mapping(b"FR");
/// assert_eq!(france_hierarchy, &["155"]);
///
/// // Region 155 (Western Europe) is part of region 150 (Europe)
/// let eu = name_mapping(b"155");
/// assert_eq!(eu, &["150"]);
///
/// // Unknown code returns empty slice
/// assert!(name_mapping(b"999").is_empty());
/// ```
pub const fn name_mapping(name: &[u8]) -> &[&str] {
  match name {
    b"002" => &["001"],
    b"005" => &["019", "419"],
    b"009" => &["001"],
    b"011" => &["002", "202"],
    b"013" => &["003", "019", "419"],
    b"014" => &["002", "202"],
    b"015" => &["002"],
    b"017" => &["002", "202"],
    b"018" => &["002", "202"],
    b"019" => &["001"],
    b"021" => &["003", "019"],
    b"029" => &["003", "019", "419"],
    b"030" => &["142"],
    b"034" => &["142"],
    b"035" => &["142"],
    b"039" => &["150"],
    b"053" => &["009"],
    b"054" => &["009"],
    b"057" => &["009"],
    b"061" => &["009"],
    b"142" => &["001"],
    b"143" => &["142"],
    b"145" => &["142"],
    b"150" => &["001"],
    b"151" => &["150"],
    b"154" => &["150"],
    b"155" => &["150"],
    b"AC" => &["QO"],
    b"AD" => &["039"],
    b"AE" => &["145"],
    b"AF" => &["034"],
    b"AG" => &["029"],
    b"AI" => &["029"],
    b"AL" => &["039"],
    b"AM" => &["145"],
    b"AO" => &["017"],
    b"AQ" => &["QO"],
    b"AR" => &["005"],
    b"AS" => &["061"],
    b"AT" => &["155"],
    b"AU" => &["053"],
    b"AW" => &["029"],
    b"AX" => &["154"],
    b"AZ" => &["145"],
    b"BA" => &["039"],
    b"BB" => &["029"],
    b"BD" => &["034"],
    b"BE" => &["155"],
    b"BF" => &["011"],
    b"BG" => &["151"],
    b"BH" => &["145"],
    b"BI" => &["014"],
    b"BJ" => &["011"],
    b"BL" => &["029"],
    b"BM" => &["021"],
    b"BN" => &["035"],
    b"BO" => &["005"],
    b"BQ" => &["029"],
    b"BR" => &["005"],
    b"BS" => &["029"],
    b"BT" => &["034"],
    b"BV" => &["005"],
    b"BW" => &["018"],
    b"BY" => &["151"],
    b"BZ" => &["013"],
    b"CA" => &["021"],
    b"CC" => &["053"],
    b"CD" => &["017"],
    b"CF" => &["017"],
    b"CG" => &["017"],
    b"CH" => &["155"],
    b"CI" => &["011"],
    b"CK" => &["061"],
    b"CL" => &["005"],
    b"CM" => &["017"],
    b"CN" => &["030"],
    b"CO" => &["005"],
    b"CP" => &["QO"],
    b"CQ" => &["154"],
    b"CR" => &["013"],
    b"CU" => &["029"],
    b"CV" => &["011"],
    b"CW" => &["029"],
    b"CX" => &["053"],
    b"CY" => &["145"],
    b"CZ" => &["151"],
    b"DE" => &["155"],
    b"DG" => &["QO"],
    b"DJ" => &["014"],
    b"DK" => &["154"],
    b"DM" => &["029"],
    b"DO" => &["029"],
    b"DZ" => &["015"],
    b"EA" => &["015"],
    b"EC" => &["005"],
    b"EE" => &["154"],
    b"EG" => &["015"],
    b"EH" => &["015"],
    b"ER" => &["014"],
    b"ES" => &["039"],
    b"ET" => &["014"],
    b"FI" => &["154"],
    b"FJ" => &["054"],
    b"FK" => &["005"],
    b"FM" => &["057"],
    b"FO" => &["154"],
    b"FR" => &["155"],
    b"GA" => &["017"],
    b"GB" => &["154"],
    b"GD" => &["029"],
    b"GE" => &["145"],
    b"GF" => &["005"],
    b"GG" => &["154"],
    b"GH" => &["011"],
    b"GI" => &["039"],
    b"GL" => &["021"],
    b"GM" => &["011"],
    b"GN" => &["011"],
    b"GP" => &["029"],
    b"GQ" => &["017"],
    b"GR" => &["039"],
    b"GS" => &["005"],
    b"GT" => &["013"],
    b"GU" => &["057"],
    b"GW" => &["011"],
    b"GY" => &["005"],
    b"HK" => &["030"],
    b"HM" => &["053"],
    b"HN" => &["013"],
    b"HR" => &["039"],
    b"HT" => &["029"],
    b"HU" => &["151"],
    b"IC" => &["015"],
    b"ID" => &["035"],
    b"IE" => &["154"],
    b"IL" => &["145"],
    b"IM" => &["154"],
    b"IN" => &["034"],
    b"IO" => &["014"],
    b"IQ" => &["145"],
    b"IR" => &["034"],
    b"IS" => &["154"],
    b"IT" => &["039"],
    b"JE" => &["154"],
    b"JM" => &["029"],
    b"JO" => &["145"],
    b"JP" => &["030"],
    b"KE" => &["014"],
    b"KG" => &["143"],
    b"KH" => &["035"],
    b"KI" => &["057"],
    b"KM" => &["014"],
    b"KN" => &["029"],
    b"KP" => &["030"],
    b"KR" => &["030"],
    b"KW" => &["145"],
    b"KY" => &["029"],
    b"KZ" => &["143"],
    b"LA" => &["035"],
    b"LB" => &["145"],
    b"LC" => &["029"],
    b"LI" => &["155"],
    b"LK" => &["034"],
    b"LR" => &["011"],
    b"LS" => &["018"],
    b"LT" => &["154"],
    b"LU" => &["155"],
    b"LV" => &["154"],
    b"LY" => &["015"],
    b"MA" => &["015"],
    b"MC" => &["155"],
    b"MD" => &["151"],
    b"ME" => &["039"],
    b"MF" => &["029"],
    b"MG" => &["014"],
    b"MH" => &["057"],
    b"MK" => &["039"],
    b"ML" => &["011"],
    b"MM" => &["035"],
    b"MN" => &["030"],
    b"MO" => &["030"],
    b"MP" => &["057"],
    b"MQ" => &["029"],
    b"MR" => &["011"],
    b"MS" => &["029"],
    b"MT" => &["039"],
    b"MU" => &["014"],
    b"MV" => &["034"],
    b"MW" => &["014"],
    b"MX" => &["013"],
    b"MY" => &["035"],
    b"MZ" => &["014"],
    b"NA" => &["018"],
    b"NC" => &["054"],
    b"NE" => &["011"],
    b"NF" => &["053"],
    b"NG" => &["011"],
    b"NI" => &["013"],
    b"NL" => &["155"],
    b"NO" => &["154"],
    b"NP" => &["034"],
    b"NR" => &["057"],
    b"NU" => &["061"],
    b"NZ" => &["053"],
    b"OM" => &["145"],
    b"PA" => &["013"],
    b"PE" => &["005"],
    b"PF" => &["061"],
    b"PG" => &["054"],
    b"PH" => &["035"],
    b"PK" => &["034"],
    b"PL" => &["151"],
    b"PM" => &["021"],
    b"PN" => &["061"],
    b"PR" => &["029"],
    b"PS" => &["145"],
    b"PT" => &["039"],
    b"PW" => &["057"],
    b"PY" => &["005"],
    b"QA" => &["145"],
    b"QO" => &["009"],
    b"RE" => &["014"],
    b"RO" => &["151"],
    b"RS" => &["039"],
    b"RU" => &["151"],
    b"RW" => &["014"],
    b"SA" => &["145"],
    b"SB" => &["054"],
    b"SC" => &["014"],
    b"SD" => &["015"],
    b"SE" => &["154"],
    b"SG" => &["035"],
    b"SH" => &["011"],
    b"SI" => &["039"],
    b"SJ" => &["154"],
    b"SK" => &["151"],
    b"SL" => &["011"],
    b"SM" => &["039"],
    b"SN" => &["011"],
    b"SO" => &["014"],
    b"SR" => &["005"],
    b"SS" => &["014"],
    b"ST" => &["017"],
    b"SV" => &["013"],
    b"SX" => &["029"],
    b"SY" => &["145"],
    b"SZ" => &["018"],
    b"TA" => &["QO"],
    b"TC" => &["029"],
    b"TD" => &["017"],
    b"TF" => &["014"],
    b"TG" => &["011"],
    b"TH" => &["035"],
    b"TJ" => &["143"],
    b"TK" => &["061"],
    b"TL" => &["035"],
    b"TM" => &["143"],
    b"TN" => &["015"],
    b"TO" => &["061"],
    b"TR" => &["145"],
    b"TT" => &["029"],
    b"TV" => &["061"],
    b"TW" => &["030"],
    b"TZ" => &["014"],
    b"UA" => &["151"],
    b"UG" => &["014"],
    b"UM" => &["057"],
    b"US" => &["021"],
    b"UY" => &["005"],
    b"UZ" => &["143"],
    b"VA" => &["039"],
    b"VC" => &["029"],
    b"VE" => &["005"],
    b"VG" => &["029"],
    b"VI" => &["029"],
    b"VN" => &["035"],
    b"VU" => &["054"],
    b"WF" => &["061"],
    b"WS" => &["061"],
    b"XK" => &["039"],
    b"YE" => &["145"],
    b"YT" => &["014"],
    b"ZA" => &["018"],
    b"ZM" => &["014"],
    b"ZW" => &["014"],
    _ => &[],
  }
}