const int ICU_ULOC_FULLNAME_CAPACITY = 157; // max size of locale name
const string ICU_COLLATION_KEYWORD = "@collation=";
- // c_localeNames is the concatenation of all supported culture names.
- // this is done rather than using a large readonly array of strings to avoid
- // generating a large amount of code in the static constructor.
- // Using indices from s_localeNamesIndices, we binary search this string when mapping
- // an culture name to Lcid. Note that these names are all lowercase and are
- // sorted alphabetically (ordinal).
- private const string c_localeNames =
- // culture name Lcid
- "aa" + // 01000 - 0
- "aa-dj" + // 01000 - 2
- "aa-er" + // 01000 - 7
- "aa-et" + // 01000 - 12
- "af" + // 00036 - 17
- "af-na" + // 01000 - 19
- "af-za" + // 00436 - 24
- "agq" + // 01000 - 29
- "agq-cm" + // 01000 - 32
- "ak" + // 01000 - 38
- "ak-gh" + // 01000 - 40
- "am" + // 0005e - 45
- "am-et" + // 0045e - 47
- "ar" + // 00001 - 52
- "ar-001" + // 01000 - 54
- "ar-ae" + // 03801 - 60
- "ar-bh" + // 03c01 - 65
- "ar-dj" + // 01000 - 70
- "ar-dz" + // 01401 - 75
- "ar-eg" + // 00c01 - 80
- "ar-er" + // 01000 - 85
- "ar-il" + // 01000 - 90
- "ar-iq" + // 00801 - 95
- "ar-jo" + // 02c01 - 100
- "ar-km" + // 01000 - 105
- "ar-kw" + // 03401 - 110
- "ar-lb" + // 03001 - 115
- "ar-ly" + // 01001 - 120
- "ar-ma" + // 01801 - 125
- "ar-mr" + // 01000 - 130
- "ar-om" + // 02001 - 135
- "ar-ps" + // 01000 - 140
- "ar-qa" + // 04001 - 145
- "ar-sa" + // 00401 - 150
- "ar-sd" + // 01000 - 155
- "ar-so" + // 01000 - 160
- "ar-ss" + // 01000 - 165
- "ar-sy" + // 02801 - 170
- "ar-td" + // 01000 - 175
- "ar-tn" + // 01c01 - 180
- "ar-ye" + // 02401 - 185
- "arn" + // 0007a - 190
- "arn-cl" + // 0047a - 193
- "as" + // 0004d - 199
- "as-in" + // 0044d - 201
- "asa" + // 01000 - 206
- "asa-tz" + // 01000 - 209
- "ast" + // 01000 - 215
- "ast-es" + // 01000 - 218
- "az" + // 0002c - 224
- "az-cyrl" + // 0742c - 226
- "az-cyrl-az" + // 0082c - 233
- "az-latn" + // 0782c - 243
- "az-latn-az" + // 0042c - 250
- "ba" + // 0006d - 260
- "ba-ru" + // 0046d - 262
- "bas" + // 01000 - 267
- "bas-cm" + // 01000 - 270
- "be" + // 00023 - 276
- "be-by" + // 00423 - 278
- "bem" + // 01000 - 283
- "bem-zm" + // 01000 - 286
- "bez" + // 01000 - 292
- "bez-tz" + // 01000 - 295
- "bg" + // 00002 - 301
- "bg-bg" + // 00402 - 303
- "bin" + // 00066 - 308
- "bin-ng" + // 00466 - 311
- "bm" + // 01000 - 317
- "bm-latn" + // 01000 - 319
- "bm-latn-ml" + // 01000 - 326
- "bn" + // 00045 - 336
- "bn-bd" + // 00845 - 338
- "bn-in" + // 00445 - 343
- "bo" + // 00051 - 348
- "bo-cn" + // 00451 - 350
- "bo-in" + // 01000 - 355
- "br" + // 0007e - 360
- "br-fr" + // 0047e - 362
- "brx" + // 01000 - 367
- "brx-in" + // 01000 - 370
- "bs" + // 0781a - 376
- "bs-cyrl" + // 0641a - 378
- "bs-cyrl-ba" + // 0201a - 385
- "bs-latn" + // 0681a - 395
- "bs-latn-ba" + // 0141a - 402
- "byn" + // 01000 - 412
- "byn-er" + // 01000 - 415
- "ca" + // 00003 - 421
- "ca-ad" + // 01000 - 423
- "ca-es" + // 00403 - 428
- "ca-es-valencia" + // 00803 - 433
- "ca-fr" + // 01000 - 447
- "ca-it" + // 01000 - 452
- "ce-ru" + // 01000 - 457
- "cgg" + // 01000 - 462
- "cgg-ug" + // 01000 - 465
- "chr" + // 0005c - 471
- "chr-cher" + // 07c5c - 474
- "chr-cher-us" + // 0045c - 482
- "co" + // 00083 - 493
- "co-fr" + // 00483 - 495
- "cs" + // 00005 - 500
- "cs-cz" + // 00405 - 502
- "cu-ru" + // 01000 - 507
- "cy" + // 00052 - 512
- "cy-gb" + // 00452 - 514
- "da" + // 00006 - 519
- "da-dk" + // 00406 - 521
- "da-gl" + // 01000 - 526
- "dav" + // 01000 - 531
- "dav-ke" + // 01000 - 534
- "de" + // 00007 - 540
- "de-at" + // 00c07 - 542
- "de-be" + // 01000 - 547
- "de-ch" + // 00807 - 552
- "de-de" + // 00407 - 557
- "de-de_phoneb" + // 10407 - 562
- "de-it" + // 01000 - 574
- "de-li" + // 01407 - 579
- "de-lu" + // 01007 - 584
- "dje" + // 01000 - 589
- "dje-ne" + // 01000 - 592
- "dsb" + // 07c2e - 598
- "dsb-de" + // 0082e - 601
- "dua" + // 01000 - 607
- "dua-cm" + // 01000 - 610
- "dv" + // 00065 - 616
- "dv-mv" + // 00465 - 618
- "dyo" + // 01000 - 623
- "dyo-sn" + // 01000 - 626
- "dz" + // 01000 - 632
- "dz-bt" + // 00c51 - 634
- "ebu" + // 01000 - 639
- "ebu-ke" + // 01000 - 642
- "ee" + // 01000 - 648
- "ee-gh" + // 01000 - 650
- "ee-tg" + // 01000 - 655
- "el" + // 00008 - 660
- "el-cy" + // 01000 - 662
- "el-gr" + // 00408 - 667
- "en" + // 00009 - 672
- "en-001" + // 01000 - 674
- "en-029" + // 02409 - 680
- "en-150" + // 01000 - 686
- "en-ag" + // 01000 - 692
- "en-ai" + // 01000 - 697
- "en-as" + // 01000 - 702
- "en-at" + // 01000 - 707
- "en-au" + // 00c09 - 712
- "en-bb" + // 01000 - 717
- "en-be" + // 01000 - 722
- "en-bi" + // 01000 - 727
- "en-bm" + // 01000 - 732
- "en-bs" + // 01000 - 737
- "en-bw" + // 01000 - 742
- "en-bz" + // 02809 - 747
- "en-ca" + // 01009 - 752
- "en-cc" + // 01000 - 757
- "en-ch" + // 01000 - 762
- "en-ck" + // 01000 - 767
- "en-cm" + // 01000 - 772
- "en-cx" + // 01000 - 777
- "en-cy" + // 01000 - 782
- "en-de" + // 01000 - 787
- "en-dk" + // 01000 - 792
- "en-dm" + // 01000 - 797
- "en-er" + // 01000 - 802
- "en-fi" + // 01000 - 807
- "en-fj" + // 01000 - 812
- "en-fk" + // 01000 - 817
- "en-fm" + // 01000 - 822
- "en-gb" + // 00809 - 827
- "en-gd" + // 01000 - 832
- "en-gg" + // 01000 - 837
- "en-gh" + // 01000 - 842
- "en-gi" + // 01000 - 847
- "en-gm" + // 01000 - 852
- "en-gu" + // 01000 - 857
- "en-gy" + // 01000 - 862
- "en-hk" + // 03c09 - 867
- "en-id" + // 03809 - 872
- "en-ie" + // 01809 - 877
- "en-il" + // 01000 - 882
- "en-im" + // 01000 - 887
- "en-in" + // 04009 - 892
- "en-io" + // 01000 - 897
- "en-je" + // 01000 - 902
- "en-jm" + // 02009 - 907
- "en-ke" + // 01000 - 912
- "en-ki" + // 01000 - 917
- "en-kn" + // 01000 - 922
- "en-ky" + // 01000 - 927
- "en-lc" + // 01000 - 932
- "en-lr" + // 01000 - 937
- "en-ls" + // 01000 - 942
- "en-mg" + // 01000 - 947
- "en-mh" + // 01000 - 952
- "en-mo" + // 01000 - 957
- "en-mp" + // 01000 - 962
- "en-ms" + // 01000 - 967
- "en-mt" + // 01000 - 972
- "en-mu" + // 01000 - 977
- "en-mw" + // 01000 - 982
- "en-my" + // 04409 - 987
- "en-na" + // 01000 - 992
- "en-nf" + // 01000 - 997
- "en-ng" + // 01000 - 1002
- "en-nl" + // 01000 - 1007
- "en-nr" + // 01000 - 1012
- "en-nu" + // 01000 - 1017
- "en-nz" + // 01409 - 1022
- "en-pg" + // 01000 - 1027
- "en-ph" + // 03409 - 1032
- "en-pk" + // 01000 - 1037
- "en-pn" + // 01000 - 1042
- "en-pr" + // 01000 - 1047
- "en-pw" + // 01000 - 1052
- "en-rw" + // 01000 - 1057
- "en-sb" + // 01000 - 1062
- "en-sc" + // 01000 - 1067
- "en-sd" + // 01000 - 1072
- "en-se" + // 01000 - 1077
- "en-sg" + // 04809 - 1082
- "en-sh" + // 01000 - 1087
- "en-si" + // 01000 - 1092
- "en-sl" + // 01000 - 1097
- "en-ss" + // 01000 - 1102
- "en-sx" + // 01000 - 1107
- "en-sz" + // 01000 - 1112
- "en-tc" + // 01000 - 1117
- "en-tk" + // 01000 - 1122
- "en-to" + // 01000 - 1127
- "en-tt" + // 02c09 - 1132
- "en-tv" + // 01000 - 1137
- "en-tz" + // 01000 - 1142
- "en-ug" + // 01000 - 1147
- "en-um" + // 01000 - 1152
- "en-us" + // 00409 - 1157
- "en-vc" + // 01000 - 1162
- "en-vg" + // 01000 - 1167
- "en-vi" + // 01000 - 1172
- "en-vu" + // 01000 - 1177
- "en-ws" + // 01000 - 1182
- "en-za" + // 01c09 - 1187
- "en-zm" + // 01000 - 1192
- "en-zw" + // 03009 - 1197
- "eo" + // 01000 - 1202
- "eo-001" + // 01000 - 1204
- "es" + // 0000a - 1210
- "es-419" + // 0580a - 1212
- "es-ar" + // 02c0a - 1218
- "es-bo" + // 0400a - 1223
- "es-br" + // 01000 - 1228
- "es-cl" + // 0340a - 1233
- "es-co" + // 0240a - 1238
- "es-cr" + // 0140a - 1243
- "es-cu" + // 05c0a - 1248
- "es-do" + // 01c0a - 1253
- "es-ec" + // 0300a - 1258
- "es-es" + // 00c0a - 1263
- "es-es_tradnl" + // 0040a - 1268
- "es-gq" + // 01000 - 1280
- "es-gt" + // 0100a - 1285
- "es-hn" + // 0480a - 1290
- "es-mx" + // 0080a - 1295
- "es-ni" + // 04c0a - 1300
- "es-pa" + // 0180a - 1305
- "es-pe" + // 0280a - 1310
- "es-ph" + // 01000 - 1315
- "es-pr" + // 0500a - 1320
- "es-py" + // 03c0a - 1325
- "es-sv" + // 0440a - 1330
- "es-us" + // 0540a - 1335
- "es-uy" + // 0380a - 1340
- "es-ve" + // 0200a - 1345
- "et" + // 00025 - 1350
- "et-ee" + // 00425 - 1352
- "eu" + // 0002d - 1357
- "eu-es" + // 0042d - 1359
- "ewo" + // 01000 - 1364
- "ewo-cm" + // 01000 - 1367
- "fa" + // 00029 - 1373
- "fa-ir" + // 00429 - 1375
- "ff" + // 00067 - 1380
- "ff-cm" + // 01000 - 1382
- "ff-gn" + // 01000 - 1387
- "ff-latn" + // 07c67 - 1392
- "ff-latn-sn" + // 00867 - 1399
- "ff-mr" + // 01000 - 1409
- "ff-ng" + // 00467 - 1414
- "fi" + // 0000b - 1419
- "fi-fi" + // 0040b - 1421
- "fil" + // 00064 - 1426
- "fil-ph" + // 00464 - 1429
- "fo" + // 00038 - 1435
- "fo-dk" + // 01000 - 1437
- "fo-fo" + // 00438 - 1442
- "fr" + // 0000c - 1447
- "fr-029" + // 01c0c - 1449
- "fr-be" + // 0080c - 1455
- "fr-bf" + // 01000 - 1460
- "fr-bi" + // 01000 - 1465
- "fr-bj" + // 01000 - 1470
- "fr-bl" + // 01000 - 1475
- "fr-ca" + // 00c0c - 1480
- "fr-cd" + // 0240c - 1485
- "fr-cf" + // 01000 - 1490
- "fr-cg" + // 01000 - 1495
- "fr-ch" + // 0100c - 1500
- "fr-ci" + // 0300c - 1505
- "fr-cm" + // 02c0c - 1510
- "fr-dj" + // 01000 - 1515
- "fr-dz" + // 01000 - 1520
- "fr-fr" + // 0040c - 1525
- "fr-ga" + // 01000 - 1530
- "fr-gf" + // 01000 - 1535
- "fr-gn" + // 01000 - 1540
- "fr-gp" + // 01000 - 1545
- "fr-gq" + // 01000 - 1550
- "fr-ht" + // 03c0c - 1555
- "fr-km" + // 01000 - 1560
- "fr-lu" + // 0140c - 1565
- "fr-ma" + // 0380c - 1570
- "fr-mc" + // 0180c - 1575
- "fr-mf" + // 01000 - 1580
- "fr-mg" + // 01000 - 1585
- "fr-ml" + // 0340c - 1590
- "fr-mq" + // 01000 - 1595
- "fr-mr" + // 01000 - 1600
- "fr-mu" + // 01000 - 1605
- "fr-nc" + // 01000 - 1610
- "fr-ne" + // 01000 - 1615
- "fr-pf" + // 01000 - 1620
- "fr-pm" + // 01000 - 1625
- "fr-re" + // 0200c - 1630
- "fr-rw" + // 01000 - 1635
- "fr-sc" + // 01000 - 1640
- "fr-sn" + // 0280c - 1645
- "fr-sy" + // 01000 - 1650
- "fr-td" + // 01000 - 1655
- "fr-tg" + // 01000 - 1660
- "fr-tn" + // 01000 - 1665
- "fr-vu" + // 01000 - 1670
- "fr-wf" + // 01000 - 1675
- "fr-yt" + // 01000 - 1680
- "fur" + // 01000 - 1685
- "fur-it" + // 01000 - 1688
- "fy" + // 00062 - 1694
- "fy-nl" + // 00462 - 1696
- "ga" + // 0003c - 1701
- "ga-ie" + // 0083c - 1703
- "gd" + // 00091 - 1708
- "gd-gb" + // 00491 - 1710
- "gl" + // 00056 - 1715
- "gl-es" + // 00456 - 1717
- "gn" + // 00074 - 1722
- "gn-py" + // 00474 - 1724
- "gsw" + // 00084 - 1729
- "gsw-ch" + // 01000 - 1732
- "gsw-fr" + // 00484 - 1738
- "gsw-li" + // 01000 - 1744
- "gu" + // 00047 - 1750
- "gu-in" + // 00447 - 1752
- "guz" + // 01000 - 1757
- "guz-ke" + // 01000 - 1760
- "gv" + // 01000 - 1766
- "gv-im" + // 01000 - 1768
- "ha" + // 00068 - 1773
- "ha-latn" + // 07c68 - 1775
- "ha-latn-gh" + // 01000 - 1782
- "ha-latn-ne" + // 01000 - 1792
- "ha-latn-ng" + // 00468 - 1802
- "haw" + // 00075 - 1812
- "haw-us" + // 00475 - 1815
- "he" + // 0000d - 1821
- "he-il" + // 0040d - 1823
- "hi" + // 00039 - 1828
- "hi-in" + // 00439 - 1830
- "hr" + // 0001a - 1835
- "hr-ba" + // 0101a - 1837
- "hr-hr" + // 0041a - 1842
- "hsb" + // 0002e - 1847
- "hsb-de" + // 0042e - 1850
- "hu" + // 0000e - 1856
- "hu-hu" + // 0040e - 1858
- "hu-hu_technl" + // 1040e - 1863
- "hy" + // 0002b - 1875
- "hy-am" + // 0042b - 1877
- "ia" + // 01000 - 1882
- "ia-001" + // 01000 - 1884
- "ia-fr" + // 01000 - 1890
- "ibb" + // 00069 - 1895
- "ibb-ng" + // 00469 - 1898
- "id" + // 00021 - 1904
- "id-id" + // 00421 - 1906
- "ig" + // 00070 - 1911
- "ig-ng" + // 00470 - 1913
- "ii" + // 00078 - 1918
- "ii-cn" + // 00478 - 1920
- "is" + // 0000f - 1925
- "is-is" + // 0040f - 1927
- "it" + // 00010 - 1932
- "it-ch" + // 00810 - 1934
- "it-it" + // 00410 - 1939
- "it-sm" + // 01000 - 1944
- "iu" + // 0005d - 1949
- "iu-cans" + // 0785d - 1951
- "iu-cans-ca" + // 0045d - 1958
- "iu-latn" + // 07c5d - 1968
- "iu-latn-ca" + // 0085d - 1975
- "ja" + // 00011 - 1985
- "ja-jp" + // 00411 - 1987
- "ja-jp_radstr" + // 40411 - 1992
- "jgo" + // 01000 - 2004
- "jgo-cm" + // 01000 - 2007
- "jmc" + // 01000 - 2013
- "jmc-tz" + // 01000 - 2016
- "jv" + // 01000 - 2022
- "jv-java" + // 01000 - 2024
- "jv-java-id" + // 01000 - 2031
- "jv-latn" + // 01000 - 2041
- "jv-latn-id" + // 01000 - 2048
- "ka" + // 00037 - 2058
- "ka-ge" + // 00437 - 2060
- "ka-ge_modern" + // 10437 - 2065
- "kab" + // 01000 - 2077
- "kab-dz" + // 01000 - 2080
- "kam" + // 01000 - 2086
- "kam-ke" + // 01000 - 2089
- "kde" + // 01000 - 2095
- "kde-tz" + // 01000 - 2098
- "kea" + // 01000 - 2104
- "kea-cv" + // 01000 - 2107
- "khq" + // 01000 - 2113
- "khq-ml" + // 01000 - 2116
- "ki" + // 01000 - 2122
- "ki-ke" + // 01000 - 2124
- "kk" + // 0003f - 2129
- "kk-kz" + // 0043f - 2131
- "kkj" + // 01000 - 2136
- "kkj-cm" + // 01000 - 2139
- "kl" + // 0006f - 2145
- "kl-gl" + // 0046f - 2147
- "kln" + // 01000 - 2152
- "kln-ke" + // 01000 - 2155
- "km" + // 00053 - 2161
- "km-kh" + // 00453 - 2163
- "kn" + // 0004b - 2168
- "kn-in" + // 0044b - 2170
- "ko" + // 00012 - 2175
- "ko-kp" + // 01000 - 2177
- "ko-kr" + // 00412 - 2182
- "kok" + // 00057 - 2187
- "kok-in" + // 00457 - 2190
- "kr" + // 00071 - 2196
- "kr-ng" + // 00471 - 2198
- "ks" + // 00060 - 2203
- "ks-arab" + // 00460 - 2205
- "ks-arab-in" + // 01000 - 2212
- "ks-deva" + // 01000 - 2222
- "ks-deva-in" + // 00860 - 2229
- "ksb" + // 01000 - 2239
- "ksb-tz" + // 01000 - 2242
- "ksf" + // 01000 - 2248
- "ksf-cm" + // 01000 - 2251
- "ksh" + // 01000 - 2257
- "ksh-de" + // 01000 - 2260
- "ku" + // 00092 - 2266
- "ku-arab" + // 07c92 - 2268
- "ku-arab-iq" + // 00492 - 2275
- "ku-arab-ir" + // 01000 - 2285
- "kw" + // 01000 - 2295
- "kw-gb" + // 01000 - 2297
- "ky" + // 00040 - 2302
- "ky-kg" + // 00440 - 2304
- "la" + // 00076 - 2309
- "la-001" + // 00476 - 2311
- "lag" + // 01000 - 2317
- "lag-tz" + // 01000 - 2320
- "lb" + // 0006e - 2326
- "lb-lu" + // 0046e - 2328
- "lg" + // 01000 - 2333
- "lg-ug" + // 01000 - 2335
- "lkt" + // 01000 - 2340
- "lkt-us" + // 01000 - 2343
- "ln" + // 01000 - 2349
- "ln-ao" + // 01000 - 2351
- "ln-cd" + // 01000 - 2356
- "ln-cf" + // 01000 - 2361
- "ln-cg" + // 01000 - 2366
- "lo" + // 00054 - 2371
- "lo-la" + // 00454 - 2373
- "lrc-iq" + // 01000 - 2378
- "lrc-ir" + // 01000 - 2384
- "lt" + // 00027 - 2390
- "lt-lt" + // 00427 - 2392
- "lu" + // 01000 - 2397
- "lu-cd" + // 01000 - 2399
- "luo" + // 01000 - 2404
- "luo-ke" + // 01000 - 2407
- "luy" + // 01000 - 2413
- "luy-ke" + // 01000 - 2416
- "lv" + // 00026 - 2422
- "lv-lv" + // 00426 - 2424
- "mas" + // 01000 - 2429
- "mas-ke" + // 01000 - 2432
- "mas-tz" + // 01000 - 2438
- "mer" + // 01000 - 2444
- "mer-ke" + // 01000 - 2447
- "mfe" + // 01000 - 2453
- "mfe-mu" + // 01000 - 2456
- "mg" + // 01000 - 2462
- "mg-mg" + // 01000 - 2464
- "mgh" + // 01000 - 2469
- "mgh-mz" + // 01000 - 2472
- "mgo" + // 01000 - 2478
- "mgo-cm" + // 01000 - 2481
- "mi" + // 00081 - 2487
- "mi-nz" + // 00481 - 2489
- "mk" + // 0002f - 2494
- "mk-mk" + // 0042f - 2496
- "ml" + // 0004c - 2501
- "ml-in" + // 0044c - 2503
- "mn" + // 00050 - 2508
- "mn-cyrl" + // 07850 - 2510
- "mn-mn" + // 00450 - 2517
- "mn-mong" + // 07c50 - 2522
- "mn-mong-cn" + // 00850 - 2529
- "mn-mong-mn" + // 00c50 - 2539
- "mni" + // 00058 - 2549
- "mni-in" + // 00458 - 2552
- "moh" + // 0007c - 2558
- "moh-ca" + // 0047c - 2561
- "mr" + // 0004e - 2567
- "mr-in" + // 0044e - 2569
- "ms" + // 0003e - 2574
- "ms-bn" + // 0083e - 2576
- "ms-my" + // 0043e - 2581
- "ms-sg" + // 01000 - 2586
- "mt" + // 0003a - 2591
- "mt-mt" + // 0043a - 2593
- "mua" + // 01000 - 2598
- "mua-cm" + // 01000 - 2601
- "my" + // 00055 - 2607
- "my-mm" + // 00455 - 2609
- "mzn-ir" + // 01000 - 2614
- "naq" + // 01000 - 2620
- "naq-na" + // 01000 - 2623
- "nb" + // 07c14 - 2629
- "nb-no" + // 00414 - 2631
- "nb-sj" + // 01000 - 2636
- "nd" + // 01000 - 2641
- "nd-zw" + // 01000 - 2643
- "nds-de" + // 01000 - 2648
- "nds-nl" + // 01000 - 2654
- "ne" + // 00061 - 2660
- "ne-in" + // 00861 - 2662
- "ne-np" + // 00461 - 2667
- "nl" + // 00013 - 2672
- "nl-aw" + // 01000 - 2674
- "nl-be" + // 00813 - 2679
- "nl-bq" + // 01000 - 2684
- "nl-cw" + // 01000 - 2689
- "nl-nl" + // 00413 - 2694
- "nl-sr" + // 01000 - 2699
- "nl-sx" + // 01000 - 2704
- "nmg" + // 01000 - 2709
- "nmg-cm" + // 01000 - 2712
- "nn" + // 07814 - 2718
- "nn-no" + // 00814 - 2720
- "nnh" + // 01000 - 2725
- "nnh-cm" + // 01000 - 2728
- "no" + // 00014 - 2734
- "nqo" + // 01000 - 2736
- "nqo-gn" + // 01000 - 2739
- "nr" + // 01000 - 2745
- "nr-za" + // 01000 - 2747
- "nso" + // 0006c - 2752
- "nso-za" + // 0046c - 2755
- "nus" + // 01000 - 2761
- "nus-ss" + // 01000 - 2764
- "nyn" + // 01000 - 2770
- "nyn-ug" + // 01000 - 2773
- "oc" + // 00082 - 2779
- "oc-fr" + // 00482 - 2781
- "om" + // 00072 - 2786
- "om-et" + // 00472 - 2788
- "om-ke" + // 01000 - 2793
- "or" + // 00048 - 2798
- "or-in" + // 00448 - 2800
- "os" + // 01000 - 2805
- "os-ge" + // 01000 - 2807
- "os-ru" + // 01000 - 2812
- "pa" + // 00046 - 2817
- "pa-arab" + // 07c46 - 2819
- "pa-arab-pk" + // 00846 - 2826
- "pa-in" + // 00446 - 2836
- "pap" + // 00079 - 2841
- "pap-029" + // 00479 - 2844
- "pl" + // 00015 - 2851
- "pl-pl" + // 00415 - 2853
- "prg-001" + // 01000 - 2858
- "prs" + // 0008c - 2865
- "prs-af" + // 0048c - 2868
- "ps" + // 00063 - 2874
- "ps-af" + // 00463 - 2876
- "pt" + // 00016 - 2881
- "pt-ao" + // 01000 - 2883
- "pt-br" + // 00416 - 2888
- "pt-ch" + // 01000 - 2893
- "pt-cv" + // 01000 - 2898
- "pt-gq" + // 01000 - 2903
- "pt-gw" + // 01000 - 2908
- "pt-lu" + // 01000 - 2913
- "pt-mo" + // 01000 - 2918
- "pt-mz" + // 01000 - 2923
- "pt-pt" + // 00816 - 2928
- "pt-st" + // 01000 - 2933
- "pt-tl" + // 01000 - 2938
- "qps-latn-x-sh" + // 00901 - 2943
- "qps-ploc" + // 00501 - 2956
- "qps-ploca" + // 005fe - 2964
- "qps-plocm" + // 009ff - 2973
- "quc" + // 00086 - 2982
- "quc-latn" + // 07c86 - 2985
- "quc-latn-gt" + // 00486 - 2993
- "quz" + // 0006b - 3004
- "quz-bo" + // 0046b - 3007
- "quz-ec" + // 0086b - 3013
- "quz-pe" + // 00c6b - 3019
- "rm" + // 00017 - 3025
- "rm-ch" + // 00417 - 3027
- "rn" + // 01000 - 3032
- "rn-bi" + // 01000 - 3034
- "ro" + // 00018 - 3039
- "ro-md" + // 00818 - 3041
- "ro-ro" + // 00418 - 3046
- "rof" + // 01000 - 3051
- "rof-tz" + // 01000 - 3054
- "ru" + // 00019 - 3060
- "ru-by" + // 01000 - 3062
- "ru-kg" + // 01000 - 3067
- "ru-kz" + // 01000 - 3072
- "ru-md" + // 00819 - 3077
- "ru-ru" + // 00419 - 3082
- "ru-ua" + // 01000 - 3087
- "rw" + // 00087 - 3092
- "rw-rw" + // 00487 - 3094
- "rwk" + // 01000 - 3099
- "rwk-tz" + // 01000 - 3102
- "sa" + // 0004f - 3108
- "sa-in" + // 0044f - 3110
- "sah" + // 00085 - 3115
- "sah-ru" + // 00485 - 3118
- "saq" + // 01000 - 3124
- "saq-ke" + // 01000 - 3127
- "sbp" + // 01000 - 3133
- "sbp-tz" + // 01000 - 3136
- "sd" + // 00059 - 3142
- "sd-arab" + // 07c59 - 3144
- "sd-arab-pk" + // 00859 - 3151
- "sd-deva" + // 01000 - 3161
- "sd-deva-in" + // 00459 - 3168
- "se" + // 0003b - 3178
- "se-fi" + // 00c3b - 3180
- "se-no" + // 0043b - 3185
- "se-se" + // 0083b - 3190
- "seh" + // 01000 - 3195
- "seh-mz" + // 01000 - 3198
- "ses" + // 01000 - 3204
- "ses-ml" + // 01000 - 3207
- "sg" + // 01000 - 3213
- "sg-cf" + // 01000 - 3215
- "shi" + // 01000 - 3220
- "shi-latn" + // 01000 - 3223
- "shi-latn-ma" + // 01000 - 3231
- "shi-tfng" + // 01000 - 3242
- "shi-tfng-ma" + // 01000 - 3250
- "si" + // 0005b - 3261
- "si-lk" + // 0045b - 3263
- "sk" + // 0001b - 3268
- "sk-sk" + // 0041b - 3270
- "sl" + // 00024 - 3275
- "sl-si" + // 00424 - 3277
- "sma" + // 0783b - 3282
- "sma-no" + // 0183b - 3285
- "sma-se" + // 01c3b - 3291
- "smj" + // 07c3b - 3297
- "smj-no" + // 0103b - 3300
- "smj-se" + // 0143b - 3306
- "smn" + // 0703b - 3312
- "smn-fi" + // 0243b - 3315
- "sms" + // 0743b - 3321
- "sms-fi" + // 0203b - 3324
- "sn" + // 01000 - 3330
- "sn-latn" + // 01000 - 3332
- "sn-latn-zw" + // 01000 - 3339
- "so" + // 00077 - 3349
- "so-dj" + // 01000 - 3351
- "so-et" + // 01000 - 3356
- "so-ke" + // 01000 - 3361
- "so-so" + // 00477 - 3366
- "sq" + // 0001c - 3371
- "sq-al" + // 0041c - 3373
- "sq-mk" + // 01000 - 3378
- "sq-xk" + // 01000 - 3383
- "sr" + // 07c1a - 3388
- "sr-cyrl" + // 06c1a - 3390
- "sr-cyrl-ba" + // 01c1a - 3397
- "sr-cyrl-cs" + // 00c1a - 3407
- "sr-cyrl-me" + // 0301a - 3417
- "sr-cyrl-rs" + // 0281a - 3427
- "sr-cyrl-xk" + // 01000 - 3437
- "sr-latn" + // 0701a - 3447
- "sr-latn-ba" + // 0181a - 3454
- "sr-latn-cs" + // 0081a - 3464
- "sr-latn-me" + // 02c1a - 3474
- "sr-latn-rs" + // 0241a - 3484
- "sr-latn-xk" + // 01000 - 3494
- "ss" + // 01000 - 3504
- "ss-sz" + // 01000 - 3506
- "ss-za" + // 01000 - 3511
- "ssy" + // 01000 - 3516
- "ssy-er" + // 01000 - 3519
- "st" + // 00030 - 3525
- "st-ls" + // 01000 - 3527
- "st-za" + // 00430 - 3532
- "sv" + // 0001d - 3537
- "sv-ax" + // 01000 - 3539
- "sv-fi" + // 0081d - 3544
- "sv-se" + // 0041d - 3549
- "sw" + // 00041 - 3554
- "sw-cd" + // 01000 - 3556
- "sw-ke" + // 00441 - 3561
- "sw-tz" + // 01000 - 3566
- "sw-ug" + // 01000 - 3571
- "swc" + // 01000 - 3576
- "swc-cd" + // 01000 - 3579
- "syr" + // 0005a - 3585
- "syr-sy" + // 0045a - 3588
- "ta" + // 00049 - 3594
- "ta-in" + // 00449 - 3596
- "ta-lk" + // 00849 - 3601
- "ta-my" + // 01000 - 3606
- "ta-sg" + // 01000 - 3611
- "te" + // 0004a - 3616
- "te-in" + // 0044a - 3618
- "teo" + // 01000 - 3623
- "teo-ke" + // 01000 - 3626
- "teo-ug" + // 01000 - 3632
- "tg" + // 00028 - 3638
- "tg-cyrl" + // 07c28 - 3640
- "tg-cyrl-tj" + // 00428 - 3647
- "th" + // 0001e - 3657
- "th-th" + // 0041e - 3659
- "ti" + // 00073 - 3664
- "ti-er" + // 00873 - 3666
- "ti-et" + // 00473 - 3671
- "tig" + // 01000 - 3676
- "tig-er" + // 01000 - 3679
- "tk" + // 00042 - 3685
- "tk-tm" + // 00442 - 3687
- "tn" + // 00032 - 3692
- "tn-bw" + // 00832 - 3694
- "tn-za" + // 00432 - 3699
- "to" + // 01000 - 3704
- "to-to" + // 01000 - 3706
- "tr" + // 0001f - 3711
- "tr-cy" + // 01000 - 3713
- "tr-tr" + // 0041f - 3718
- "ts" + // 00031 - 3723
- "ts-za" + // 00431 - 3725
- "tt" + // 00044 - 3730
- "tt-ru" + // 00444 - 3732
- "twq" + // 01000 - 3737
- "twq-ne" + // 01000 - 3740
- "tzm" + // 0005f - 3746
- "tzm-arab" + // 01000 - 3749
- "tzm-arab-ma" + // 0045f - 3757
- "tzm-latn" + // 07c5f - 3768
- "tzm-latn-dz" + // 0085f - 3776
- "tzm-latn-ma" + // 01000 - 3787
- "tzm-tfng" + // 0785f - 3798
- "tzm-tfng-ma" + // 0105f - 3806
- "ug" + // 00080 - 3817
- "ug-cn" + // 00480 - 3819
- "uk" + // 00022 - 3824
- "uk-ua" + // 00422 - 3826
- "ur" + // 00020 - 3831
- "ur-in" + // 00820 - 3833
- "ur-pk" + // 00420 - 3838
- "uz" + // 00043 - 3843
- "uz-arab" + // 01000 - 3845
- "uz-arab-af" + // 01000 - 3852
- "uz-cyrl" + // 07843 - 3862
- "uz-cyrl-uz" + // 00843 - 3869
- "uz-latn" + // 07c43 - 3879
- "uz-latn-uz" + // 00443 - 3886
- "vai" + // 01000 - 3896
- "vai-latn" + // 01000 - 3899
- "vai-latn-lr" + // 01000 - 3907
- "vai-vaii" + // 01000 - 3918
- "vai-vaii-lr" + // 01000 - 3926
- "ve" + // 00033 - 3937
- "ve-za" + // 00433 - 3939
- "vi" + // 0002a - 3944
- "vi-vn" + // 0042a - 3946
- "vo" + // 01000 - 3951
- "vo-001" + // 01000 - 3953
- "vun" + // 01000 - 3959
- "vun-tz" + // 01000 - 3962
- "wae" + // 01000 - 3968
- "wae-ch" + // 01000 - 3971
- "wal" + // 01000 - 3977
- "wal-et" + // 01000 - 3980
- "wo" + // 00088 - 3986
- "wo-sn" + // 00488 - 3988
- "x-iv_mathan" + // 1007f - 3993
- "xh" + // 00034 - 4004
- "xh-za" + // 00434 - 4006
- "xog" + // 01000 - 4011
- "xog-ug" + // 01000 - 4014
- "yav" + // 01000 - 4020
- "yav-cm" + // 01000 - 4023
- "yi" + // 0003d - 4029
- "yi-001" + // 0043d - 4031
- "yo" + // 0006a - 4037
- "yo-bj" + // 01000 - 4039
- "yo-ng" + // 0046a - 4044
- "yue-hk" + // 01000 - 4049
- "zgh" + // 01000 - 4055
- "zgh-tfng" + // 01000 - 4058
- "zgh-tfng-ma" + // 01000 - 4066
- "zh" + // 07804 - 4077
- "zh-chs" + // 00004 - 4079
- "zh-cht" + // 07c04 - 4085
- "zh-cn" + // 00804 - 4091
- "zh-cn_phoneb" + // 50804 - 4096
- "zh-cn_stroke" + // 20804 - 4108
- "zh-hans" + // 00004 - 4120
- "zh-hans-hk" + // 01000 - 4127
- "zh-hans-mo" + // 01000 - 4137
- "zh-hant" + // 07c04 - 4147
- "zh-hk" + // 00c04 - 4154
- "zh-hk_radstr" + // 40c04 - 4159
- "zh-mo" + // 01404 - 4171
- "zh-mo_radstr" + // 41404 - 4176
- "zh-mo_stroke" + // 21404 - 4188
- "zh-sg" + // 01004 - 4200
- "zh-sg_phoneb" + // 51004 - 4205
- "zh-sg_stroke" + // 21004 - 4217
- "zh-tw" + // 00404 - 4229
- "zh-tw_pronun" + // 30404 - 4234
- "zh-tw_radstr" + // 40404 - 4246
- "zu" + // 00035 - 4258
- "zu-za"; // 00435 - 4260
-
- // s_localeNamesIndices contains the start index of every culture name in the string
- // s_localeNames. We infer the length of each string by looking at the start index
- // of the next string.
- private static readonly int[] s_localeNamesIndices = new int[]
- {
- // c_localeNames index, // index to this array - culture name
- 0 , // 0 - aa
- 2 , // 1 - aa-dj
- 7 , // 2 - aa-er
- 12 , // 3 - aa-et
- 17 , // 4 - af
- 19 , // 5 - af-na
- 24 , // 6 - af-za
- 29 , // 7 - agq
- 32 , // 8 - agq-cm
- 38 , // 9 - ak
- 40 , // 10 - ak-gh
- 45 , // 11 - am
- 47 , // 12 - am-et
- 52 , // 13 - ar
- 54 , // 14 - ar-001
- 60 , // 15 - ar-ae
- 65 , // 16 - ar-bh
- 70 , // 17 - ar-dj
- 75 , // 18 - ar-dz
- 80 , // 19 - ar-eg
- 85 , // 20 - ar-er
- 90 , // 21 - ar-il
- 95 , // 22 - ar-iq
- 100 , // 23 - ar-jo
- 105 , // 24 - ar-km
- 110 , // 25 - ar-kw
- 115 , // 26 - ar-lb
- 120 , // 27 - ar-ly
- 125 , // 28 - ar-ma
- 130 , // 29 - ar-mr
- 135 , // 30 - ar-om
- 140 , // 31 - ar-ps
- 145 , // 32 - ar-qa
- 150 , // 33 - ar-sa
- 155 , // 34 - ar-sd
- 160 , // 35 - ar-so
- 165 , // 36 - ar-ss
- 170 , // 37 - ar-sy
- 175 , // 38 - ar-td
- 180 , // 39 - ar-tn
- 185 , // 40 - ar-ye
- 190 , // 41 - arn
- 193 , // 42 - arn-cl
- 199 , // 43 - as
- 201 , // 44 - as-in
- 206 , // 45 - asa
- 209 , // 46 - asa-tz
- 215 , // 47 - ast
- 218 , // 48 - ast-es
- 224 , // 49 - az
- 226 , // 50 - az-cyrl
- 233 , // 51 - az-cyrl-az
- 243 , // 52 - az-latn
- 250 , // 53 - az-latn-az
- 260 , // 54 - ba
- 262 , // 55 - ba-ru
- 267 , // 56 - bas
- 270 , // 57 - bas-cm
- 276 , // 58 - be
- 278 , // 59 - be-by
- 283 , // 60 - bem
- 286 , // 61 - bem-zm
- 292 , // 62 - bez
- 295 , // 63 - bez-tz
- 301 , // 64 - bg
- 303 , // 65 - bg-bg
- 308 , // 66 - bin
- 311 , // 67 - bin-ng
- 317 , // 68 - bm
- 319 , // 69 - bm-latn
- 326 , // 70 - bm-latn-ml
- 336 , // 71 - bn
- 338 , // 72 - bn-bd
- 343 , // 73 - bn-in
- 348 , // 74 - bo
- 350 , // 75 - bo-cn
- 355 , // 76 - bo-in
- 360 , // 77 - br
- 362 , // 78 - br-fr
- 367 , // 79 - brx
- 370 , // 80 - brx-in
- 376 , // 81 - bs
- 378 , // 82 - bs-cyrl
- 385 , // 83 - bs-cyrl-ba
- 395 , // 84 - bs-latn
- 402 , // 85 - bs-latn-ba
- 412 , // 86 - byn
- 415 , // 87 - byn-er
- 421 , // 88 - ca
- 423 , // 89 - ca-ad
- 428 , // 90 - ca-es
- 433 , // 91 - ca-es-valencia
- 447 , // 92 - ca-fr
- 452 , // 93 - ca-it
- 457 , // 94 - ce-ru
- 462 , // 95 - cgg
- 465 , // 96 - cgg-ug
- 471 , // 97 - chr
- 474 , // 98 - chr-cher
- 482 , // 99 - chr-cher-us
- 493 , // 100 - co
- 495 , // 101 - co-fr
- 500 , // 102 - cs
- 502 , // 103 - cs-cz
- 507 , // 104 - cu-ru
- 512 , // 105 - cy
- 514 , // 106 - cy-gb
- 519 , // 107 - da
- 521 , // 108 - da-dk
- 526 , // 109 - da-gl
- 531 , // 110 - dav
- 534 , // 111 - dav-ke
- 540 , // 112 - de
- 542 , // 113 - de-at
- 547 , // 114 - de-be
- 552 , // 115 - de-ch
- 557 , // 116 - de-de
- 562 , // 117 - de-de_phoneb
- 574 , // 118 - de-it
- 579 , // 119 - de-li
- 584 , // 120 - de-lu
- 589 , // 121 - dje
- 592 , // 122 - dje-ne
- 598 , // 123 - dsb
- 601 , // 124 - dsb-de
- 607 , // 125 - dua
- 610 , // 126 - dua-cm
- 616 , // 127 - dv
- 618 , // 128 - dv-mv
- 623 , // 129 - dyo
- 626 , // 130 - dyo-sn
- 632 , // 131 - dz
- 634 , // 132 - dz-bt
- 639 , // 133 - ebu
- 642 , // 134 - ebu-ke
- 648 , // 135 - ee
- 650 , // 136 - ee-gh
- 655 , // 137 - ee-tg
- 660 , // 138 - el
- 662 , // 139 - el-cy
- 667 , // 140 - el-gr
- 672 , // 141 - en
- 674 , // 142 - en-001
- 680 , // 143 - en-029
- 686 , // 144 - en-150
- 692 , // 145 - en-ag
- 697 , // 146 - en-ai
- 702 , // 147 - en-as
- 707 , // 148 - en-at
- 712 , // 149 - en-au
- 717 , // 150 - en-bb
- 722 , // 151 - en-be
- 727 , // 152 - en-bi
- 732 , // 153 - en-bm
- 737 , // 154 - en-bs
- 742 , // 155 - en-bw
- 747 , // 156 - en-bz
- 752 , // 157 - en-ca
- 757 , // 158 - en-cc
- 762 , // 159 - en-ch
- 767 , // 160 - en-ck
- 772 , // 161 - en-cm
- 777 , // 162 - en-cx
- 782 , // 163 - en-cy
- 787 , // 164 - en-de
- 792 , // 165 - en-dk
- 797 , // 166 - en-dm
- 802 , // 167 - en-er
- 807 , // 168 - en-fi
- 812 , // 169 - en-fj
- 817 , // 170 - en-fk
- 822 , // 171 - en-fm
- 827 , // 172 - en-gb
- 832 , // 173 - en-gd
- 837 , // 174 - en-gg
- 842 , // 175 - en-gh
- 847 , // 176 - en-gi
- 852 , // 177 - en-gm
- 857 , // 178 - en-gu
- 862 , // 179 - en-gy
- 867 , // 180 - en-hk
- 872 , // 181 - en-id
- 877 , // 182 - en-ie
- 882 , // 183 - en-il
- 887 , // 184 - en-im
- 892 , // 185 - en-in
- 897 , // 186 - en-io
- 902 , // 187 - en-je
- 907 , // 188 - en-jm
- 912 , // 189 - en-ke
- 917 , // 190 - en-ki
- 922 , // 191 - en-kn
- 927 , // 192 - en-ky
- 932 , // 193 - en-lc
- 937 , // 194 - en-lr
- 942 , // 195 - en-ls
- 947 , // 196 - en-mg
- 952 , // 197 - en-mh
- 957 , // 198 - en-mo
- 962 , // 199 - en-mp
- 967 , // 200 - en-ms
- 972 , // 201 - en-mt
- 977 , // 202 - en-mu
- 982 , // 203 - en-mw
- 987 , // 204 - en-my
- 992 , // 205 - en-na
- 997 , // 206 - en-nf
- 1002, // 207 - en-ng
- 1007, // 208 - en-nl
- 1012, // 209 - en-nr
- 1017, // 210 - en-nu
- 1022, // 211 - en-nz
- 1027, // 212 - en-pg
- 1032, // 213 - en-ph
- 1037, // 214 - en-pk
- 1042, // 215 - en-pn
- 1047, // 216 - en-pr
- 1052, // 217 - en-pw
- 1057, // 218 - en-rw
- 1062, // 219 - en-sb
- 1067, // 220 - en-sc
- 1072, // 221 - en-sd
- 1077, // 222 - en-se
- 1082, // 223 - en-sg
- 1087, // 224 - en-sh
- 1092, // 225 - en-si
- 1097, // 226 - en-sl
- 1102, // 227 - en-ss
- 1107, // 228 - en-sx
- 1112, // 229 - en-sz
- 1117, // 230 - en-tc
- 1122, // 231 - en-tk
- 1127, // 232 - en-to
- 1132, // 233 - en-tt
- 1137, // 234 - en-tv
- 1142, // 235 - en-tz
- 1147, // 236 - en-ug
- 1152, // 237 - en-um
- 1157, // 238 - en-us
- 1162, // 239 - en-vc
- 1167, // 240 - en-vg
- 1172, // 241 - en-vi
- 1177, // 242 - en-vu
- 1182, // 243 - en-ws
- 1187, // 244 - en-za
- 1192, // 245 - en-zm
- 1197, // 246 - en-zw
- 1202, // 247 - eo
- 1204, // 248 - eo-001
- 1210, // 249 - es
- 1212, // 250 - es-419
- 1218, // 251 - es-ar
- 1223, // 252 - es-bo
- 1228, // 253 - es-br
- 1233, // 254 - es-cl
- 1238, // 255 - es-co
- 1243, // 256 - es-cr
- 1248, // 257 - es-cu
- 1253, // 258 - es-do
- 1258, // 259 - es-ec
- 1263, // 260 - es-es
- 1268, // 261 - es-es_tradnl
- 1280, // 262 - es-gq
- 1285, // 263 - es-gt
- 1290, // 264 - es-hn
- 1295, // 265 - es-mx
- 1300, // 266 - es-ni
- 1305, // 267 - es-pa
- 1310, // 268 - es-pe
- 1315, // 269 - es-ph
- 1320, // 270 - es-pr
- 1325, // 271 - es-py
- 1330, // 272 - es-sv
- 1335, // 273 - es-us
- 1340, // 274 - es-uy
- 1345, // 275 - es-ve
- 1350, // 276 - et
- 1352, // 277 - et-ee
- 1357, // 278 - eu
- 1359, // 279 - eu-es
- 1364, // 280 - ewo
- 1367, // 281 - ewo-cm
- 1373, // 282 - fa
- 1375, // 283 - fa-ir
- 1380, // 284 - ff
- 1382, // 285 - ff-cm
- 1387, // 286 - ff-gn
- 1392, // 287 - ff-latn
- 1399, // 288 - ff-latn-sn
- 1409, // 289 - ff-mr
- 1414, // 290 - ff-ng
- 1419, // 291 - fi
- 1421, // 292 - fi-fi
- 1426, // 293 - fil
- 1429, // 294 - fil-ph
- 1435, // 295 - fo
- 1437, // 296 - fo-dk
- 1442, // 297 - fo-fo
- 1447, // 298 - fr
- 1449, // 299 - fr-029
- 1455, // 300 - fr-be
- 1460, // 301 - fr-bf
- 1465, // 302 - fr-bi
- 1470, // 303 - fr-bj
- 1475, // 304 - fr-bl
- 1480, // 305 - fr-ca
- 1485, // 306 - fr-cd
- 1490, // 307 - fr-cf
- 1495, // 308 - fr-cg
- 1500, // 309 - fr-ch
- 1505, // 310 - fr-ci
- 1510, // 311 - fr-cm
- 1515, // 312 - fr-dj
- 1520, // 313 - fr-dz
- 1525, // 314 - fr-fr
- 1530, // 315 - fr-ga
- 1535, // 316 - fr-gf
- 1540, // 317 - fr-gn
- 1545, // 318 - fr-gp
- 1550, // 319 - fr-gq
- 1555, // 320 - fr-ht
- 1560, // 321 - fr-km
- 1565, // 322 - fr-lu
- 1570, // 323 - fr-ma
- 1575, // 324 - fr-mc
- 1580, // 325 - fr-mf
- 1585, // 326 - fr-mg
- 1590, // 327 - fr-ml
- 1595, // 328 - fr-mq
- 1600, // 329 - fr-mr
- 1605, // 330 - fr-mu
- 1610, // 331 - fr-nc
- 1615, // 332 - fr-ne
- 1620, // 333 - fr-pf
- 1625, // 334 - fr-pm
- 1630, // 335 - fr-re
- 1635, // 336 - fr-rw
- 1640, // 337 - fr-sc
- 1645, // 338 - fr-sn
- 1650, // 339 - fr-sy
- 1655, // 340 - fr-td
- 1660, // 341 - fr-tg
- 1665, // 342 - fr-tn
- 1670, // 343 - fr-vu
- 1675, // 344 - fr-wf
- 1680, // 345 - fr-yt
- 1685, // 346 - fur
- 1688, // 347 - fur-it
- 1694, // 348 - fy
- 1696, // 349 - fy-nl
- 1701, // 350 - ga
- 1703, // 351 - ga-ie
- 1708, // 352 - gd
- 1710, // 353 - gd-gb
- 1715, // 354 - gl
- 1717, // 355 - gl-es
- 1722, // 356 - gn
- 1724, // 357 - gn-py
- 1729, // 358 - gsw
- 1732, // 359 - gsw-ch
- 1738, // 360 - gsw-fr
- 1744, // 361 - gsw-li
- 1750, // 362 - gu
- 1752, // 363 - gu-in
- 1757, // 364 - guz
- 1760, // 365 - guz-ke
- 1766, // 366 - gv
- 1768, // 367 - gv-im
- 1773, // 368 - ha
- 1775, // 369 - ha-latn
- 1782, // 370 - ha-latn-gh
- 1792, // 371 - ha-latn-ne
- 1802, // 372 - ha-latn-ng
- 1812, // 373 - haw
- 1815, // 374 - haw-us
- 1821, // 375 - he
- 1823, // 376 - he-il
- 1828, // 377 - hi
- 1830, // 378 - hi-in
- 1835, // 379 - hr
- 1837, // 380 - hr-ba
- 1842, // 381 - hr-hr
- 1847, // 382 - hsb
- 1850, // 383 - hsb-de
- 1856, // 384 - hu
- 1858, // 385 - hu-hu
- 1863, // 386 - hu-hu_technl
- 1875, // 387 - hy
- 1877, // 388 - hy-am
- 1882, // 389 - ia
- 1884, // 390 - ia-001
- 1890, // 391 - ia-fr
- 1895, // 392 - ibb
- 1898, // 393 - ibb-ng
- 1904, // 394 - id
- 1906, // 395 - id-id
- 1911, // 396 - ig
- 1913, // 397 - ig-ng
- 1918, // 398 - ii
- 1920, // 399 - ii-cn
- 1925, // 400 - is
- 1927, // 401 - is-is
- 1932, // 402 - it
- 1934, // 403 - it-ch
- 1939, // 404 - it-it
- 1944, // 405 - it-sm
- 1949, // 406 - iu
- 1951, // 407 - iu-cans
- 1958, // 408 - iu-cans-ca
- 1968, // 409 - iu-latn
- 1975, // 410 - iu-latn-ca
- 1985, // 411 - ja
- 1987, // 412 - ja-jp
- 1992, // 413 - ja-jp_radstr
- 2004, // 414 - jgo
- 2007, // 415 - jgo-cm
- 2013, // 416 - jmc
- 2016, // 417 - jmc-tz
- 2022, // 418 - jv
- 2024, // 419 - jv-java
- 2031, // 420 - jv-java-id
- 2041, // 421 - jv-latn
- 2048, // 422 - jv-latn-id
- 2058, // 423 - ka
- 2060, // 424 - ka-ge
- 2065, // 425 - ka-ge_modern
- 2077, // 426 - kab
- 2080, // 427 - kab-dz
- 2086, // 428 - kam
- 2089, // 429 - kam-ke
- 2095, // 430 - kde
- 2098, // 431 - kde-tz
- 2104, // 432 - kea
- 2107, // 433 - kea-cv
- 2113, // 434 - khq
- 2116, // 435 - khq-ml
- 2122, // 436 - ki
- 2124, // 437 - ki-ke
- 2129, // 438 - kk
- 2131, // 439 - kk-kz
- 2136, // 440 - kkj
- 2139, // 441 - kkj-cm
- 2145, // 442 - kl
- 2147, // 443 - kl-gl
- 2152, // 444 - kln
- 2155, // 445 - kln-ke
- 2161, // 446 - km
- 2163, // 447 - km-kh
- 2168, // 448 - kn
- 2170, // 449 - kn-in
- 2175, // 450 - ko
- 2177, // 451 - ko-kp
- 2182, // 452 - ko-kr
- 2187, // 453 - kok
- 2190, // 454 - kok-in
- 2196, // 455 - kr
- 2198, // 456 - kr-ng
- 2203, // 457 - ks
- 2205, // 458 - ks-arab
- 2212, // 459 - ks-arab-in
- 2222, // 460 - ks-deva
- 2229, // 461 - ks-deva-in
- 2239, // 462 - ksb
- 2242, // 463 - ksb-tz
- 2248, // 464 - ksf
- 2251, // 465 - ksf-cm
- 2257, // 466 - ksh
- 2260, // 467 - ksh-de
- 2266, // 468 - ku
- 2268, // 469 - ku-arab
- 2275, // 470 - ku-arab-iq
- 2285, // 471 - ku-arab-ir
- 2295, // 472 - kw
- 2297, // 473 - kw-gb
- 2302, // 474 - ky
- 2304, // 475 - ky-kg
- 2309, // 476 - la
- 2311, // 477 - la-001
- 2317, // 478 - lag
- 2320, // 479 - lag-tz
- 2326, // 480 - lb
- 2328, // 481 - lb-lu
- 2333, // 482 - lg
- 2335, // 483 - lg-ug
- 2340, // 484 - lkt
- 2343, // 485 - lkt-us
- 2349, // 486 - ln
- 2351, // 487 - ln-ao
- 2356, // 488 - ln-cd
- 2361, // 489 - ln-cf
- 2366, // 490 - ln-cg
- 2371, // 491 - lo
- 2373, // 492 - lo-la
- 2378, // 493 - lrc-iq
- 2384, // 494 - lrc-ir
- 2390, // 495 - lt
- 2392, // 496 - lt-lt
- 2397, // 497 - lu
- 2399, // 498 - lu-cd
- 2404, // 499 - luo
- 2407, // 500 - luo-ke
- 2413, // 501 - luy
- 2416, // 502 - luy-ke
- 2422, // 503 - lv
- 2424, // 504 - lv-lv
- 2429, // 505 - mas
- 2432, // 506 - mas-ke
- 2438, // 507 - mas-tz
- 2444, // 508 - mer
- 2447, // 509 - mer-ke
- 2453, // 510 - mfe
- 2456, // 511 - mfe-mu
- 2462, // 512 - mg
- 2464, // 513 - mg-mg
- 2469, // 514 - mgh
- 2472, // 515 - mgh-mz
- 2478, // 516 - mgo
- 2481, // 517 - mgo-cm
- 2487, // 518 - mi
- 2489, // 519 - mi-nz
- 2494, // 520 - mk
- 2496, // 521 - mk-mk
- 2501, // 522 - ml
- 2503, // 523 - ml-in
- 2508, // 524 - mn
- 2510, // 525 - mn-cyrl
- 2517, // 526 - mn-mn
- 2522, // 527 - mn-mong
- 2529, // 528 - mn-mong-cn
- 2539, // 529 - mn-mong-mn
- 2549, // 530 - mni
- 2552, // 531 - mni-in
- 2558, // 532 - moh
- 2561, // 533 - moh-ca
- 2567, // 534 - mr
- 2569, // 535 - mr-in
- 2574, // 536 - ms
- 2576, // 537 - ms-bn
- 2581, // 538 - ms-my
- 2586, // 539 - ms-sg
- 2591, // 540 - mt
- 2593, // 541 - mt-mt
- 2598, // 542 - mua
- 2601, // 543 - mua-cm
- 2607, // 544 - my
- 2609, // 545 - my-mm
- 2614, // 546 - mzn-ir
- 2620, // 547 - naq
- 2623, // 548 - naq-na
- 2629, // 549 - nb
- 2631, // 550 - nb-no
- 2636, // 551 - nb-sj
- 2641, // 552 - nd
- 2643, // 553 - nd-zw
- 2648, // 554 - nds-de
- 2654, // 555 - nds-nl
- 2660, // 556 - ne
- 2662, // 557 - ne-in
- 2667, // 558 - ne-np
- 2672, // 559 - nl
- 2674, // 560 - nl-aw
- 2679, // 561 - nl-be
- 2684, // 562 - nl-bq
- 2689, // 563 - nl-cw
- 2694, // 564 - nl-nl
- 2699, // 565 - nl-sr
- 2704, // 566 - nl-sx
- 2709, // 567 - nmg
- 2712, // 568 - nmg-cm
- 2718, // 569 - nn
- 2720, // 570 - nn-no
- 2725, // 571 - nnh
- 2728, // 572 - nnh-cm
- 2734, // 573 - no
- 2736, // 574 - nqo
- 2739, // 575 - nqo-gn
- 2745, // 576 - nr
- 2747, // 577 - nr-za
- 2752, // 578 - nso
- 2755, // 579 - nso-za
- 2761, // 580 - nus
- 2764, // 581 - nus-ss
- 2770, // 582 - nyn
- 2773, // 583 - nyn-ug
- 2779, // 584 - oc
- 2781, // 585 - oc-fr
- 2786, // 586 - om
- 2788, // 587 - om-et
- 2793, // 588 - om-ke
- 2798, // 589 - or
- 2800, // 590 - or-in
- 2805, // 591 - os
- 2807, // 592 - os-ge
- 2812, // 593 - os-ru
- 2817, // 594 - pa
- 2819, // 595 - pa-arab
- 2826, // 596 - pa-arab-pk
- 2836, // 597 - pa-in
- 2841, // 598 - pap
- 2844, // 599 - pap-029
- 2851, // 600 - pl
- 2853, // 601 - pl-pl
- 2858, // 602 - prg-001
- 2865, // 603 - prs
- 2868, // 604 - prs-af
- 2874, // 605 - ps
- 2876, // 606 - ps-af
- 2881, // 607 - pt
- 2883, // 608 - pt-ao
- 2888, // 609 - pt-br
- 2893, // 610 - pt-ch
- 2898, // 611 - pt-cv
- 2903, // 612 - pt-gq
- 2908, // 613 - pt-gw
- 2913, // 614 - pt-lu
- 2918, // 615 - pt-mo
- 2923, // 616 - pt-mz
- 2928, // 617 - pt-pt
- 2933, // 618 - pt-st
- 2938, // 619 - pt-tl
- 2943, // 620 - qps-latn-x-sh
- 2956, // 621 - qps-ploc
- 2964, // 622 - qps-ploca
- 2973, // 623 - qps-plocm
- 2982, // 624 - quc
- 2985, // 625 - quc-latn
- 2993, // 626 - quc-latn-gt
- 3004, // 627 - quz
- 3007, // 628 - quz-bo
- 3013, // 629 - quz-ec
- 3019, // 630 - quz-pe
- 3025, // 631 - rm
- 3027, // 632 - rm-ch
- 3032, // 633 - rn
- 3034, // 634 - rn-bi
- 3039, // 635 - ro
- 3041, // 636 - ro-md
- 3046, // 637 - ro-ro
- 3051, // 638 - rof
- 3054, // 639 - rof-tz
- 3060, // 640 - ru
- 3062, // 641 - ru-by
- 3067, // 642 - ru-kg
- 3072, // 643 - ru-kz
- 3077, // 644 - ru-md
- 3082, // 645 - ru-ru
- 3087, // 646 - ru-ua
- 3092, // 647 - rw
- 3094, // 648 - rw-rw
- 3099, // 649 - rwk
- 3102, // 650 - rwk-tz
- 3108, // 651 - sa
- 3110, // 652 - sa-in
- 3115, // 653 - sah
- 3118, // 654 - sah-ru
- 3124, // 655 - saq
- 3127, // 656 - saq-ke
- 3133, // 657 - sbp
- 3136, // 658 - sbp-tz
- 3142, // 659 - sd
- 3144, // 660 - sd-arab
- 3151, // 661 - sd-arab-pk
- 3161, // 662 - sd-deva
- 3168, // 663 - sd-deva-in
- 3178, // 664 - se
- 3180, // 665 - se-fi
- 3185, // 666 - se-no
- 3190, // 667 - se-se
- 3195, // 668 - seh
- 3198, // 669 - seh-mz
- 3204, // 670 - ses
- 3207, // 671 - ses-ml
- 3213, // 672 - sg
- 3215, // 673 - sg-cf
- 3220, // 674 - shi
- 3223, // 675 - shi-latn
- 3231, // 676 - shi-latn-ma
- 3242, // 677 - shi-tfng
- 3250, // 678 - shi-tfng-ma
- 3261, // 679 - si
- 3263, // 680 - si-lk
- 3268, // 681 - sk
- 3270, // 682 - sk-sk
- 3275, // 683 - sl
- 3277, // 684 - sl-si
- 3282, // 685 - sma
- 3285, // 686 - sma-no
- 3291, // 687 - sma-se
- 3297, // 688 - smj
- 3300, // 689 - smj-no
- 3306, // 690 - smj-se
- 3312, // 691 - smn
- 3315, // 692 - smn-fi
- 3321, // 693 - sms
- 3324, // 694 - sms-fi
- 3330, // 695 - sn
- 3332, // 696 - sn-latn
- 3339, // 697 - sn-latn-zw
- 3349, // 698 - so
- 3351, // 699 - so-dj
- 3356, // 700 - so-et
- 3361, // 701 - so-ke
- 3366, // 702 - so-so
- 3371, // 703 - sq
- 3373, // 704 - sq-al
- 3378, // 705 - sq-mk
- 3383, // 706 - sq-xk
- 3388, // 707 - sr
- 3390, // 708 - sr-cyrl
- 3397, // 709 - sr-cyrl-ba
- 3407, // 710 - sr-cyrl-cs
- 3417, // 711 - sr-cyrl-me
- 3427, // 712 - sr-cyrl-rs
- 3437, // 713 - sr-cyrl-xk
- 3447, // 714 - sr-latn
- 3454, // 715 - sr-latn-ba
- 3464, // 716 - sr-latn-cs
- 3474, // 717 - sr-latn-me
- 3484, // 718 - sr-latn-rs
- 3494, // 719 - sr-latn-xk
- 3504, // 720 - ss
- 3506, // 721 - ss-sz
- 3511, // 722 - ss-za
- 3516, // 723 - ssy
- 3519, // 724 - ssy-er
- 3525, // 725 - st
- 3527, // 726 - st-ls
- 3532, // 727 - st-za
- 3537, // 728 - sv
- 3539, // 729 - sv-ax
- 3544, // 730 - sv-fi
- 3549, // 731 - sv-se
- 3554, // 732 - sw
- 3556, // 733 - sw-cd
- 3561, // 734 - sw-ke
- 3566, // 735 - sw-tz
- 3571, // 736 - sw-ug
- 3576, // 737 - swc
- 3579, // 738 - swc-cd
- 3585, // 739 - syr
- 3588, // 740 - syr-sy
- 3594, // 741 - ta
- 3596, // 742 - ta-in
- 3601, // 743 - ta-lk
- 3606, // 744 - ta-my
- 3611, // 745 - ta-sg
- 3616, // 746 - te
- 3618, // 747 - te-in
- 3623, // 748 - teo
- 3626, // 749 - teo-ke
- 3632, // 750 - teo-ug
- 3638, // 751 - tg
- 3640, // 752 - tg-cyrl
- 3647, // 753 - tg-cyrl-tj
- 3657, // 754 - th
- 3659, // 755 - th-th
- 3664, // 756 - ti
- 3666, // 757 - ti-er
- 3671, // 758 - ti-et
- 3676, // 759 - tig
- 3679, // 760 - tig-er
- 3685, // 761 - tk
- 3687, // 762 - tk-tm
- 3692, // 763 - tn
- 3694, // 764 - tn-bw
- 3699, // 765 - tn-za
- 3704, // 766 - to
- 3706, // 767 - to-to
- 3711, // 768 - tr
- 3713, // 769 - tr-cy
- 3718, // 770 - tr-tr
- 3723, // 771 - ts
- 3725, // 772 - ts-za
- 3730, // 773 - tt
- 3732, // 774 - tt-ru
- 3737, // 775 - twq
- 3740, // 776 - twq-ne
- 3746, // 777 - tzm
- 3749, // 778 - tzm-arab
- 3757, // 779 - tzm-arab-ma
- 3768, // 780 - tzm-latn
- 3776, // 781 - tzm-latn-dz
- 3787, // 782 - tzm-latn-ma
- 3798, // 783 - tzm-tfng
- 3806, // 784 - tzm-tfng-ma
- 3817, // 785 - ug
- 3819, // 786 - ug-cn
- 3824, // 787 - uk
- 3826, // 788 - uk-ua
- 3831, // 789 - ur
- 3833, // 790 - ur-in
- 3838, // 791 - ur-pk
- 3843, // 792 - uz
- 3845, // 793 - uz-arab
- 3852, // 794 - uz-arab-af
- 3862, // 795 - uz-cyrl
- 3869, // 796 - uz-cyrl-uz
- 3879, // 797 - uz-latn
- 3886, // 798 - uz-latn-uz
- 3896, // 799 - vai
- 3899, // 800 - vai-latn
- 3907, // 801 - vai-latn-lr
- 3918, // 802 - vai-vaii
- 3926, // 803 - vai-vaii-lr
- 3937, // 804 - ve
- 3939, // 805 - ve-za
- 3944, // 806 - vi
- 3946, // 807 - vi-vn
- 3951, // 808 - vo
- 3953, // 809 - vo-001
- 3959, // 810 - vun
- 3962, // 811 - vun-tz
- 3968, // 812 - wae
- 3971, // 813 - wae-ch
- 3977, // 814 - wal
- 3980, // 815 - wal-et
- 3986, // 816 - wo
- 3988, // 817 - wo-sn
- 3993, // 818 - x-iv_mathan
- 4004, // 819 - xh
- 4006, // 820 - xh-za
- 4011, // 821 - xog
- 4014, // 822 - xog-ug
- 4020, // 823 - yav
- 4023, // 824 - yav-cm
- 4029, // 825 - yi
- 4031, // 826 - yi-001
- 4037, // 827 - yo
- 4039, // 828 - yo-bj
- 4044, // 829 - yo-ng
- 4049, // 830 - yue-hk
- 4055, // 831 - zgh
- 4058, // 832 - zgh-tfng
- 4066, // 833 - zgh-tfng-ma
- 4077, // 834 - zh
- 4079, // 835 - zh-chs
- 4085, // 836 - zh-cht
- 4091, // 837 - zh-cn
- 4096, // 838 - zh-cn_phoneb
- 4108, // 839 - zh-cn_stroke
- 4120, // 840 - zh-hans
- 4127, // 841 - zh-hans-hk
- 4137, // 842 - zh-hans-mo
- 4147, // 843 - zh-hant
- 4154, // 844 - zh-hk
- 4159, // 845 - zh-hk_radstr
- 4171, // 846 - zh-mo
- 4176, // 847 - zh-mo_radstr
- 4188, // 848 - zh-mo_stroke
- 4200, // 849 - zh-sg
- 4205, // 850 - zh-sg_phoneb
- 4217, // 851 - zh-sg_stroke
- 4229, // 852 - zh-tw
- 4234, // 853 - zh-tw_pronun
- 4246, // 854 - zh-tw_radstr
- 4258, // 855 - zu
- 4260, // 856 - zu-za
- 4265, // 857 -
- };
-
- // s_nameIndexTolcids is mapping from index in s_localeNamesIndices to lcid
- private static readonly int[] s_nameIndexTolcids = new int[]
- {
- // Lcid, index - locale name
- 0x1000 , // 0 - aa
- 0x1000 , // 1 - aa-dj
- 0x1000 , // 2 - aa-er
- 0x1000 , // 3 - aa-et
- 0x36 , // 4 - af
- 0x1000 , // 5 - af-na
- 0x436 , // 6 - af-za
- 0x1000 , // 7 - agq
- 0x1000 , // 8 - agq-cm
- 0x1000 , // 9 - ak
- 0x1000 , // 10 - ak-gh
- 0x5e , // 11 - am
- 0x45e , // 12 - am-et
- 0x1 , // 13 - ar
- 0x1000 , // 14 - ar-001
- 0x3801 , // 15 - ar-ae
- 0x3c01 , // 16 - ar-bh
- 0x1000 , // 17 - ar-dj
- 0x1401 , // 18 - ar-dz
- 0xc01 , // 19 - ar-eg
- 0x1000 , // 20 - ar-er
- 0x1000 , // 21 - ar-il
- 0x801 , // 22 - ar-iq
- 0x2c01 , // 23 - ar-jo
- 0x1000 , // 24 - ar-km
- 0x3401 , // 25 - ar-kw
- 0x3001 , // 26 - ar-lb
- 0x1001 , // 27 - ar-ly
- 0x1801 , // 28 - ar-ma
- 0x1000 , // 29 - ar-mr
- 0x2001 , // 30 - ar-om
- 0x1000 , // 31 - ar-ps
- 0x4001 , // 32 - ar-qa
- 0x401 , // 33 - ar-sa
- 0x1000 , // 34 - ar-sd
- 0x1000 , // 35 - ar-so
- 0x1000 , // 36 - ar-ss
- 0x2801 , // 37 - ar-sy
- 0x1000 , // 38 - ar-td
- 0x1c01 , // 39 - ar-tn
- 0x2401 , // 40 - ar-ye
- 0x7a , // 41 - arn
- 0x47a , // 42 - arn-cl
- 0x4d , // 43 - as
- 0x44d , // 44 - as-in
- 0x1000 , // 45 - asa
- 0x1000 , // 46 - asa-tz
- 0x1000 , // 47 - ast
- 0x1000 , // 48 - ast-es
- 0x2c , // 49 - az
- 0x742c , // 50 - az-cyrl
- 0x82c , // 51 - az-cyrl-az
- 0x782c , // 52 - az-latn
- 0x42c , // 53 - az-latn-az
- 0x6d , // 54 - ba
- 0x46d , // 55 - ba-ru
- 0x1000 , // 56 - bas
- 0x1000 , // 57 - bas-cm
- 0x23 , // 58 - be
- 0x423 , // 59 - be-by
- 0x1000 , // 60 - bem
- 0x1000 , // 61 - bem-zm
- 0x1000 , // 62 - bez
- 0x1000 , // 63 - bez-tz
- 0x2 , // 64 - bg
- 0x402 , // 65 - bg-bg
- 0x66 , // 66 - bin
- 0x466 , // 67 - bin-ng
- 0x1000 , // 68 - bm
- 0x1000 , // 69 - bm-latn
- 0x1000 , // 70 - bm-latn-ml
- 0x45 , // 71 - bn
- 0x845 , // 72 - bn-bd
- 0x445 , // 73 - bn-in
- 0x51 , // 74 - bo
- 0x451 , // 75 - bo-cn
- 0x1000 , // 76 - bo-in
- 0x7e , // 77 - br
- 0x47e , // 78 - br-fr
- 0x1000 , // 79 - brx
- 0x1000 , // 80 - brx-in
- 0x781a , // 81 - bs
- 0x641a , // 82 - bs-cyrl
- 0x201a , // 83 - bs-cyrl-ba
- 0x681a , // 84 - bs-latn
- 0x141a , // 85 - bs-latn-ba
- 0x1000 , // 86 - byn
- 0x1000 , // 87 - byn-er
- 0x3 , // 88 - ca
- 0x1000 , // 89 - ca-ad
- 0x403 , // 90 - ca-es
- 0x803 , // 91 - ca-es-valencia
- 0x1000 , // 92 - ca-fr
- 0x1000 , // 93 - ca-it
- 0x1000 , // 94 - ce-ru
- 0x1000 , // 95 - cgg
- 0x1000 , // 96 - cgg-ug
- 0x5c , // 97 - chr
- 0x7c5c , // 98 - chr-cher
- 0x45c , // 99 - chr-cher-us
- 0x83 , // 100 - co
- 0x483 , // 101 - co-fr
- 0x5 , // 102 - cs
- 0x405 , // 103 - cs-cz
- 0x1000 , // 104 - cu-ru
- 0x52 , // 105 - cy
- 0x452 , // 106 - cy-gb
- 0x6 , // 107 - da
- 0x406 , // 108 - da-dk
- 0x1000 , // 109 - da-gl
- 0x1000 , // 110 - dav
- 0x1000 , // 111 - dav-ke
- 0x7 , // 112 - de
- 0xc07 , // 113 - de-at
- 0x1000 , // 114 - de-be
- 0x807 , // 115 - de-ch
- 0x407 , // 116 - de-de
- 0x10407, // 117 - de-de_phoneb
- 0x1000 , // 118 - de-it
- 0x1407 , // 119 - de-li
- 0x1007 , // 120 - de-lu
- 0x1000 , // 121 - dje
- 0x1000 , // 122 - dje-ne
- 0x7c2e , // 123 - dsb
- 0x82e , // 124 - dsb-de
- 0x1000 , // 125 - dua
- 0x1000 , // 126 - dua-cm
- 0x65 , // 127 - dv
- 0x465 , // 128 - dv-mv
- 0x1000 , // 129 - dyo
- 0x1000 , // 130 - dyo-sn
- 0x1000 , // 131 - dz
- 0xc51 , // 132 - dz-bt
- 0x1000 , // 133 - ebu
- 0x1000 , // 134 - ebu-ke
- 0x1000 , // 135 - ee
- 0x1000 , // 136 - ee-gh
- 0x1000 , // 137 - ee-tg
- 0x8 , // 138 - el
- 0x1000 , // 139 - el-cy
- 0x408 , // 140 - el-gr
- 0x9 , // 141 - en
- 0x1000 , // 142 - en-001
- 0x2409 , // 143 - en-029
- 0x1000 , // 144 - en-150
- 0x1000 , // 145 - en-ag
- 0x1000 , // 146 - en-ai
- 0x1000 , // 147 - en-as
- 0x1000 , // 148 - en-at
- 0xc09 , // 149 - en-au
- 0x1000 , // 150 - en-bb
- 0x1000 , // 151 - en-be
- 0x1000 , // 152 - en-bi
- 0x1000 , // 153 - en-bm
- 0x1000 , // 154 - en-bs
- 0x1000 , // 155 - en-bw
- 0x2809 , // 156 - en-bz
- 0x1009 , // 157 - en-ca
- 0x1000 , // 158 - en-cc
- 0x1000 , // 159 - en-ch
- 0x1000 , // 160 - en-ck
- 0x1000 , // 161 - en-cm
- 0x1000 , // 162 - en-cx
- 0x1000 , // 163 - en-cy
- 0x1000 , // 164 - en-de
- 0x1000 , // 165 - en-dk
- 0x1000 , // 166 - en-dm
- 0x1000 , // 167 - en-er
- 0x1000 , // 168 - en-fi
- 0x1000 , // 169 - en-fj
- 0x1000 , // 170 - en-fk
- 0x1000 , // 171 - en-fm
- 0x809 , // 172 - en-gb
- 0x1000 , // 173 - en-gd
- 0x1000 , // 174 - en-gg
- 0x1000 , // 175 - en-gh
- 0x1000 , // 176 - en-gi
- 0x1000 , // 177 - en-gm
- 0x1000 , // 178 - en-gu
- 0x1000 , // 179 - en-gy
- 0x3c09 , // 180 - en-hk
- 0x3809 , // 181 - en-id
- 0x1809 , // 182 - en-ie
- 0x1000 , // 183 - en-il
- 0x1000 , // 184 - en-im
- 0x4009 , // 185 - en-in
- 0x1000 , // 186 - en-io
- 0x1000 , // 187 - en-je
- 0x2009 , // 188 - en-jm
- 0x1000 , // 189 - en-ke
- 0x1000 , // 190 - en-ki
- 0x1000 , // 191 - en-kn
- 0x1000 , // 192 - en-ky
- 0x1000 , // 193 - en-lc
- 0x1000 , // 194 - en-lr
- 0x1000 , // 195 - en-ls
- 0x1000 , // 196 - en-mg
- 0x1000 , // 197 - en-mh
- 0x1000 , // 198 - en-mo
- 0x1000 , // 199 - en-mp
- 0x1000 , // 200 - en-ms
- 0x1000 , // 201 - en-mt
- 0x1000 , // 202 - en-mu
- 0x1000 , // 203 - en-mw
- 0x4409 , // 204 - en-my
- 0x1000 , // 205 - en-na
- 0x1000 , // 206 - en-nf
- 0x1000 , // 207 - en-ng
- 0x1000 , // 208 - en-nl
- 0x1000 , // 209 - en-nr
- 0x1000 , // 210 - en-nu
- 0x1409 , // 211 - en-nz
- 0x1000 , // 212 - en-pg
- 0x3409 , // 213 - en-ph
- 0x1000 , // 214 - en-pk
- 0x1000 , // 215 - en-pn
- 0x1000 , // 216 - en-pr
- 0x1000 , // 217 - en-pw
- 0x1000 , // 218 - en-rw
- 0x1000 , // 219 - en-sb
- 0x1000 , // 220 - en-sc
- 0x1000 , // 221 - en-sd
- 0x1000 , // 222 - en-se
- 0x4809 , // 223 - en-sg
- 0x1000 , // 224 - en-sh
- 0x1000 , // 225 - en-si
- 0x1000 , // 226 - en-sl
- 0x1000 , // 227 - en-ss
- 0x1000 , // 228 - en-sx
- 0x1000 , // 229 - en-sz
- 0x1000 , // 230 - en-tc
- 0x1000 , // 231 - en-tk
- 0x1000 , // 232 - en-to
- 0x2c09 , // 233 - en-tt
- 0x1000 , // 234 - en-tv
- 0x1000 , // 235 - en-tz
- 0x1000 , // 236 - en-ug
- 0x1000 , // 237 - en-um
- 0x409 , // 238 - en-us
- 0x1000 , // 239 - en-vc
- 0x1000 , // 240 - en-vg
- 0x1000 , // 241 - en-vi
- 0x1000 , // 242 - en-vu
- 0x1000 , // 243 - en-ws
- 0x1c09 , // 244 - en-za
- 0x1000 , // 245 - en-zm
- 0x3009 , // 246 - en-zw
- 0x1000 , // 247 - eo
- 0x1000 , // 248 - eo-001
- 0xa , // 249 - es
- 0x580a , // 250 - es-419
- 0x2c0a , // 251 - es-ar
- 0x400a , // 252 - es-bo
- 0x1000 , // 253 - es-br
- 0x340a , // 254 - es-cl
- 0x240a , // 255 - es-co
- 0x140a , // 256 - es-cr
- 0x5c0a , // 257 - es-cu
- 0x1c0a , // 258 - es-do
- 0x300a , // 259 - es-ec
- 0xc0a , // 260 - es-es
- 0x40a , // 261 - es-es_tradnl
- 0x1000 , // 262 - es-gq
- 0x100a , // 263 - es-gt
- 0x480a , // 264 - es-hn
- 0x80a , // 265 - es-mx
- 0x4c0a , // 266 - es-ni
- 0x180a , // 267 - es-pa
- 0x280a , // 268 - es-pe
- 0x1000 , // 269 - es-ph
- 0x500a , // 270 - es-pr
- 0x3c0a , // 271 - es-py
- 0x440a , // 272 - es-sv
- 0x540a , // 273 - es-us
- 0x380a , // 274 - es-uy
- 0x200a , // 275 - es-ve
- 0x25 , // 276 - et
- 0x425 , // 277 - et-ee
- 0x2d , // 278 - eu
- 0x42d , // 279 - eu-es
- 0x1000 , // 280 - ewo
- 0x1000 , // 281 - ewo-cm
- 0x29 , // 282 - fa
- 0x429 , // 283 - fa-ir
- 0x67 , // 284 - ff
- 0x1000 , // 285 - ff-cm
- 0x1000 , // 286 - ff-gn
- 0x7c67 , // 287 - ff-latn
- 0x867 , // 288 - ff-latn-sn
- 0x1000 , // 289 - ff-mr
- 0x467 , // 290 - ff-ng
- 0xb , // 291 - fi
- 0x40b , // 292 - fi-fi
- 0x64 , // 293 - fil
- 0x464 , // 294 - fil-ph
- 0x38 , // 295 - fo
- 0x1000 , // 296 - fo-dk
- 0x438 , // 297 - fo-fo
- 0xc , // 298 - fr
- 0x1c0c , // 299 - fr-029
- 0x80c , // 300 - fr-be
- 0x1000 , // 301 - fr-bf
- 0x1000 , // 302 - fr-bi
- 0x1000 , // 303 - fr-bj
- 0x1000 , // 304 - fr-bl
- 0xc0c , // 305 - fr-ca
- 0x240c , // 306 - fr-cd
- 0x1000 , // 307 - fr-cf
- 0x1000 , // 308 - fr-cg
- 0x100c , // 309 - fr-ch
- 0x300c , // 310 - fr-ci
- 0x2c0c , // 311 - fr-cm
- 0x1000 , // 312 - fr-dj
- 0x1000 , // 313 - fr-dz
- 0x40c , // 314 - fr-fr
- 0x1000 , // 315 - fr-ga
- 0x1000 , // 316 - fr-gf
- 0x1000 , // 317 - fr-gn
- 0x1000 , // 318 - fr-gp
- 0x1000 , // 319 - fr-gq
- 0x3c0c , // 320 - fr-ht
- 0x1000 , // 321 - fr-km
- 0x140c , // 322 - fr-lu
- 0x380c , // 323 - fr-ma
- 0x180c , // 324 - fr-mc
- 0x1000 , // 325 - fr-mf
- 0x1000 , // 326 - fr-mg
- 0x340c , // 327 - fr-ml
- 0x1000 , // 328 - fr-mq
- 0x1000 , // 329 - fr-mr
- 0x1000 , // 330 - fr-mu
- 0x1000 , // 331 - fr-nc
- 0x1000 , // 332 - fr-ne
- 0x1000 , // 333 - fr-pf
- 0x1000 , // 334 - fr-pm
- 0x200c , // 335 - fr-re
- 0x1000 , // 336 - fr-rw
- 0x1000 , // 337 - fr-sc
- 0x280c , // 338 - fr-sn
- 0x1000 , // 339 - fr-sy
- 0x1000 , // 340 - fr-td
- 0x1000 , // 341 - fr-tg
- 0x1000 , // 342 - fr-tn
- 0x1000 , // 343 - fr-vu
- 0x1000 , // 344 - fr-wf
- 0x1000 , // 345 - fr-yt
- 0x1000 , // 346 - fur
- 0x1000 , // 347 - fur-it
- 0x62 , // 348 - fy
- 0x462 , // 349 - fy-nl
- 0x3c , // 350 - ga
- 0x83c , // 351 - ga-ie
- 0x91 , // 352 - gd
- 0x491 , // 353 - gd-gb
- 0x56 , // 354 - gl
- 0x456 , // 355 - gl-es
- 0x74 , // 356 - gn
- 0x474 , // 357 - gn-py
- 0x84 , // 358 - gsw
- 0x1000 , // 359 - gsw-ch
- 0x484 , // 360 - gsw-fr
- 0x1000 , // 361 - gsw-li
- 0x47 , // 362 - gu
- 0x447 , // 363 - gu-in
- 0x1000 , // 364 - guz
- 0x1000 , // 365 - guz-ke
- 0x1000 , // 366 - gv
- 0x1000 , // 367 - gv-im
- 0x68 , // 368 - ha
- 0x7c68 , // 369 - ha-latn
- 0x1000 , // 370 - ha-latn-gh
- 0x1000 , // 371 - ha-latn-ne
- 0x468 , // 372 - ha-latn-ng
- 0x75 , // 373 - haw
- 0x475 , // 374 - haw-us
- 0xd , // 375 - he
- 0x40d , // 376 - he-il
- 0x39 , // 377 - hi
- 0x439 , // 378 - hi-in
- 0x1a , // 379 - hr
- 0x101a , // 380 - hr-ba
- 0x41a , // 381 - hr-hr
- 0x2e , // 382 - hsb
- 0x42e , // 383 - hsb-de
- 0xe , // 384 - hu
- 0x40e , // 385 - hu-hu
- 0x1040e, // 386 - hu-hu_technl
- 0x2b , // 387 - hy
- 0x42b , // 388 - hy-am
- 0x1000 , // 389 - ia
- 0x1000 , // 390 - ia-001
- 0x1000 , // 391 - ia-fr
- 0x69 , // 392 - ibb
- 0x469 , // 393 - ibb-ng
- 0x21 , // 394 - id
- 0x421 , // 395 - id-id
- 0x70 , // 396 - ig
- 0x470 , // 397 - ig-ng
- 0x78 , // 398 - ii
- 0x478 , // 399 - ii-cn
- 0xf , // 400 - is
- 0x40f , // 401 - is-is
- 0x10 , // 402 - it
- 0x810 , // 403 - it-ch
- 0x410 , // 404 - it-it
- 0x1000 , // 405 - it-sm
- 0x5d , // 406 - iu
- 0x785d , // 407 - iu-cans
- 0x45d , // 408 - iu-cans-ca
- 0x7c5d , // 409 - iu-latn
- 0x85d , // 410 - iu-latn-ca
- 0x11 , // 411 - ja
- 0x411 , // 412 - ja-jp
- 0x40411, // 413 - ja-jp_radstr
- 0x1000 , // 414 - jgo
- 0x1000 , // 415 - jgo-cm
- 0x1000 , // 416 - jmc
- 0x1000 , // 417 - jmc-tz
- 0x1000 , // 418 - jv
- 0x1000 , // 419 - jv-java
- 0x1000 , // 420 - jv-java-id
- 0x1000 , // 421 - jv-latn
- 0x1000 , // 422 - jv-latn-id
- 0x37 , // 423 - ka
- 0x437 , // 424 - ka-ge
- 0x10437, // 425 - ka-ge_modern
- 0x1000 , // 426 - kab
- 0x1000 , // 427 - kab-dz
- 0x1000 , // 428 - kam
- 0x1000 , // 429 - kam-ke
- 0x1000 , // 430 - kde
- 0x1000 , // 431 - kde-tz
- 0x1000 , // 432 - kea
- 0x1000 , // 433 - kea-cv
- 0x1000 , // 434 - khq
- 0x1000 , // 435 - khq-ml
- 0x1000 , // 436 - ki
- 0x1000 , // 437 - ki-ke
- 0x3f , // 438 - kk
- 0x43f , // 439 - kk-kz
- 0x1000 , // 440 - kkj
- 0x1000 , // 441 - kkj-cm
- 0x6f , // 442 - kl
- 0x46f , // 443 - kl-gl
- 0x1000 , // 444 - kln
- 0x1000 , // 445 - kln-ke
- 0x53 , // 446 - km
- 0x453 , // 447 - km-kh
- 0x4b , // 448 - kn
- 0x44b , // 449 - kn-in
- 0x12 , // 450 - ko
- 0x1000 , // 451 - ko-kp
- 0x412 , // 452 - ko-kr
- 0x57 , // 453 - kok
- 0x457 , // 454 - kok-in
- 0x71 , // 455 - kr
- 0x471 , // 456 - kr-ng
- 0x60 , // 457 - ks
- 0x460 , // 458 - ks-arab
- 0x1000 , // 459 - ks-arab-in
- 0x1000 , // 460 - ks-deva
- 0x860 , // 461 - ks-deva-in
- 0x1000 , // 462 - ksb
- 0x1000 , // 463 - ksb-tz
- 0x1000 , // 464 - ksf
- 0x1000 , // 465 - ksf-cm
- 0x1000 , // 466 - ksh
- 0x1000 , // 467 - ksh-de
- 0x92 , // 468 - ku
- 0x7c92 , // 469 - ku-arab
- 0x492 , // 470 - ku-arab-iq
- 0x1000 , // 471 - ku-arab-ir
- 0x1000 , // 472 - kw
- 0x1000 , // 473 - kw-gb
- 0x40 , // 474 - ky
- 0x440 , // 475 - ky-kg
- 0x76 , // 476 - la
- 0x476 , // 477 - la-001
- 0x1000 , // 478 - lag
- 0x1000 , // 479 - lag-tz
- 0x6e , // 480 - lb
- 0x46e , // 481 - lb-lu
- 0x1000 , // 482 - lg
- 0x1000 , // 483 - lg-ug
- 0x1000 , // 484 - lkt
- 0x1000 , // 485 - lkt-us
- 0x1000 , // 486 - ln
- 0x1000 , // 487 - ln-ao
- 0x1000 , // 488 - ln-cd
- 0x1000 , // 489 - ln-cf
- 0x1000 , // 490 - ln-cg
- 0x54 , // 491 - lo
- 0x454 , // 492 - lo-la
- 0x1000 , // 493 - lrc-iq
- 0x1000 , // 494 - lrc-ir
- 0x27 , // 495 - lt
- 0x427 , // 496 - lt-lt
- 0x1000 , // 497 - lu
- 0x1000 , // 498 - lu-cd
- 0x1000 , // 499 - luo
- 0x1000 , // 500 - luo-ke
- 0x1000 , // 501 - luy
- 0x1000 , // 502 - luy-ke
- 0x26 , // 503 - lv
- 0x426 , // 504 - lv-lv
- 0x1000 , // 505 - mas
- 0x1000 , // 506 - mas-ke
- 0x1000 , // 507 - mas-tz
- 0x1000 , // 508 - mer
- 0x1000 , // 509 - mer-ke
- 0x1000 , // 510 - mfe
- 0x1000 , // 511 - mfe-mu
- 0x1000 , // 512 - mg
- 0x1000 , // 513 - mg-mg
- 0x1000 , // 514 - mgh
- 0x1000 , // 515 - mgh-mz
- 0x1000 , // 516 - mgo
- 0x1000 , // 517 - mgo-cm
- 0x81 , // 518 - mi
- 0x481 , // 519 - mi-nz
- 0x2f , // 520 - mk
- 0x42f , // 521 - mk-mk
- 0x4c , // 522 - ml
- 0x44c , // 523 - ml-in
- 0x50 , // 524 - mn
- 0x7850 , // 525 - mn-cyrl
- 0x450 , // 526 - mn-mn
- 0x7c50 , // 527 - mn-mong
- 0x850 , // 528 - mn-mong-cn
- 0xc50 , // 529 - mn-mong-mn
- 0x58 , // 530 - mni
- 0x458 , // 531 - mni-in
- 0x7c , // 532 - moh
- 0x47c , // 533 - moh-ca
- 0x4e , // 534 - mr
- 0x44e , // 535 - mr-in
- 0x3e , // 536 - ms
- 0x83e , // 537 - ms-bn
- 0x43e , // 538 - ms-my
- 0x1000 , // 539 - ms-sg
- 0x3a , // 540 - mt
- 0x43a , // 541 - mt-mt
- 0x1000 , // 542 - mua
- 0x1000 , // 543 - mua-cm
- 0x55 , // 544 - my
- 0x455 , // 545 - my-mm
- 0x1000 , // 546 - mzn-ir
- 0x1000 , // 547 - naq
- 0x1000 , // 548 - naq-na
- 0x7c14 , // 549 - nb
- 0x414 , // 550 - nb-no
- 0x1000 , // 551 - nb-sj
- 0x1000 , // 552 - nd
- 0x1000 , // 553 - nd-zw
- 0x1000 , // 554 - nds-de
- 0x1000 , // 555 - nds-nl
- 0x61 , // 556 - ne
- 0x861 , // 557 - ne-in
- 0x461 , // 558 - ne-np
- 0x13 , // 559 - nl
- 0x1000 , // 560 - nl-aw
- 0x813 , // 561 - nl-be
- 0x1000 , // 562 - nl-bq
- 0x1000 , // 563 - nl-cw
- 0x413 , // 564 - nl-nl
- 0x1000 , // 565 - nl-sr
- 0x1000 , // 566 - nl-sx
- 0x1000 , // 567 - nmg
- 0x1000 , // 568 - nmg-cm
- 0x7814 , // 569 - nn
- 0x814 , // 570 - nn-no
- 0x1000 , // 571 - nnh
- 0x1000 , // 572 - nnh-cm
- 0x14 , // 573 - no
- 0x1000 , // 574 - nqo
- 0x1000 , // 575 - nqo-gn
- 0x1000 , // 576 - nr
- 0x1000 , // 577 - nr-za
- 0x6c , // 578 - nso
- 0x46c , // 579 - nso-za
- 0x1000 , // 580 - nus
- 0x1000 , // 581 - nus-ss
- 0x1000 , // 582 - nyn
- 0x1000 , // 583 - nyn-ug
- 0x82 , // 584 - oc
- 0x482 , // 585 - oc-fr
- 0x72 , // 586 - om
- 0x472 , // 587 - om-et
- 0x1000 , // 588 - om-ke
- 0x48 , // 589 - or
- 0x448 , // 590 - or-in
- 0x1000 , // 591 - os
- 0x1000 , // 592 - os-ge
- 0x1000 , // 593 - os-ru
- 0x46 , // 594 - pa
- 0x7c46 , // 595 - pa-arab
- 0x846 , // 596 - pa-arab-pk
- 0x446 , // 597 - pa-in
- 0x79 , // 598 - pap
- 0x479 , // 599 - pap-029
- 0x15 , // 600 - pl
- 0x415 , // 601 - pl-pl
- 0x1000 , // 602 - prg-001
- 0x8c , // 603 - prs
- 0x48c , // 604 - prs-af
- 0x63 , // 605 - ps
- 0x463 , // 606 - ps-af
- 0x16 , // 607 - pt
- 0x1000 , // 608 - pt-ao
- 0x416 , // 609 - pt-br
- 0x1000 , // 610 - pt-ch
- 0x1000 , // 611 - pt-cv
- 0x1000 , // 612 - pt-gq
- 0x1000 , // 613 - pt-gw
- 0x1000 , // 614 - pt-lu
- 0x1000 , // 615 - pt-mo
- 0x1000 , // 616 - pt-mz
- 0x816 , // 617 - pt-pt
- 0x1000 , // 618 - pt-st
- 0x1000 , // 619 - pt-tl
- 0x901 , // 620 - qps-latn-x-sh
- 0x501 , // 621 - qps-ploc
- 0x5fe , // 622 - qps-ploca
- 0x9ff , // 623 - qps-plocm
- 0x86 , // 624 - quc
- 0x7c86 , // 625 - quc-latn
- 0x486 , // 626 - quc-latn-gt
- 0x6b , // 627 - quz
- 0x46b , // 628 - quz-bo
- 0x86b , // 629 - quz-ec
- 0xc6b , // 630 - quz-pe
- 0x17 , // 631 - rm
- 0x417 , // 632 - rm-ch
- 0x1000 , // 633 - rn
- 0x1000 , // 634 - rn-bi
- 0x18 , // 635 - ro
- 0x818 , // 636 - ro-md
- 0x418 , // 637 - ro-ro
- 0x1000 , // 638 - rof
- 0x1000 , // 639 - rof-tz
- 0x19 , // 640 - ru
- 0x1000 , // 641 - ru-by
- 0x1000 , // 642 - ru-kg
- 0x1000 , // 643 - ru-kz
- 0x819 , // 644 - ru-md
- 0x419 , // 645 - ru-ru
- 0x1000 , // 646 - ru-ua
- 0x87 , // 647 - rw
- 0x487 , // 648 - rw-rw
- 0x1000 , // 649 - rwk
- 0x1000 , // 650 - rwk-tz
- 0x4f , // 651 - sa
- 0x44f , // 652 - sa-in
- 0x85 , // 653 - sah
- 0x485 , // 654 - sah-ru
- 0x1000 , // 655 - saq
- 0x1000 , // 656 - saq-ke
- 0x1000 , // 657 - sbp
- 0x1000 , // 658 - sbp-tz
- 0x59 , // 659 - sd
- 0x7c59 , // 660 - sd-arab
- 0x859 , // 661 - sd-arab-pk
- 0x1000 , // 662 - sd-deva
- 0x459 , // 663 - sd-deva-in
- 0x3b , // 664 - se
- 0xc3b , // 665 - se-fi
- 0x43b , // 666 - se-no
- 0x83b , // 667 - se-se
- 0x1000 , // 668 - seh
- 0x1000 , // 669 - seh-mz
- 0x1000 , // 670 - ses
- 0x1000 , // 671 - ses-ml
- 0x1000 , // 672 - sg
- 0x1000 , // 673 - sg-cf
- 0x1000 , // 674 - shi
- 0x1000 , // 675 - shi-latn
- 0x1000 , // 676 - shi-latn-ma
- 0x1000 , // 677 - shi-tfng
- 0x1000 , // 678 - shi-tfng-ma
- 0x5b , // 679 - si
- 0x45b , // 680 - si-lk
- 0x1b , // 681 - sk
- 0x41b , // 682 - sk-sk
- 0x24 , // 683 - sl
- 0x424 , // 684 - sl-si
- 0x783b , // 685 - sma
- 0x183b , // 686 - sma-no
- 0x1c3b , // 687 - sma-se
- 0x7c3b , // 688 - smj
- 0x103b , // 689 - smj-no
- 0x143b , // 690 - smj-se
- 0x703b , // 691 - smn
- 0x243b , // 692 - smn-fi
- 0x743b , // 693 - sms
- 0x203b , // 694 - sms-fi
- 0x1000 , // 695 - sn
- 0x1000 , // 696 - sn-latn
- 0x1000 , // 697 - sn-latn-zw
- 0x77 , // 698 - so
- 0x1000 , // 699 - so-dj
- 0x1000 , // 700 - so-et
- 0x1000 , // 701 - so-ke
- 0x477 , // 702 - so-so
- 0x1c , // 703 - sq
- 0x41c , // 704 - sq-al
- 0x1000 , // 705 - sq-mk
- 0x1000 , // 706 - sq-xk
- 0x7c1a , // 707 - sr
- 0x6c1a , // 708 - sr-cyrl
- 0x1c1a , // 709 - sr-cyrl-ba
- 0xc1a , // 710 - sr-cyrl-cs
- 0x301a , // 711 - sr-cyrl-me
- 0x281a , // 712 - sr-cyrl-rs
- 0x1000 , // 713 - sr-cyrl-xk
- 0x701a , // 714 - sr-latn
- 0x181a , // 715 - sr-latn-ba
- 0x81a , // 716 - sr-latn-cs
- 0x2c1a , // 717 - sr-latn-me
- 0x241a , // 718 - sr-latn-rs
- 0x1000 , // 719 - sr-latn-xk
- 0x1000 , // 720 - ss
- 0x1000 , // 721 - ss-sz
- 0x1000 , // 722 - ss-za
- 0x1000 , // 723 - ssy
- 0x1000 , // 724 - ssy-er
- 0x30 , // 725 - st
- 0x1000 , // 726 - st-ls
- 0x430 , // 727 - st-za
- 0x1d , // 728 - sv
- 0x1000 , // 729 - sv-ax
- 0x81d , // 730 - sv-fi
- 0x41d , // 731 - sv-se
- 0x41 , // 732 - sw
- 0x1000 , // 733 - sw-cd
- 0x441 , // 734 - sw-ke
- 0x1000 , // 735 - sw-tz
- 0x1000 , // 736 - sw-ug
- 0x1000 , // 737 - swc
- 0x1000 , // 738 - swc-cd
- 0x5a , // 739 - syr
- 0x45a , // 740 - syr-sy
- 0x49 , // 741 - ta
- 0x449 , // 742 - ta-in
- 0x849 , // 743 - ta-lk
- 0x1000 , // 744 - ta-my
- 0x1000 , // 745 - ta-sg
- 0x4a , // 746 - te
- 0x44a , // 747 - te-in
- 0x1000 , // 748 - teo
- 0x1000 , // 749 - teo-ke
- 0x1000 , // 750 - teo-ug
- 0x28 , // 751 - tg
- 0x7c28 , // 752 - tg-cyrl
- 0x428 , // 753 - tg-cyrl-tj
- 0x1e , // 754 - th
- 0x41e , // 755 - th-th
- 0x73 , // 756 - ti
- 0x873 , // 757 - ti-er
- 0x473 , // 758 - ti-et
- 0x1000 , // 759 - tig
- 0x1000 , // 760 - tig-er
- 0x42 , // 761 - tk
- 0x442 , // 762 - tk-tm
- 0x32 , // 763 - tn
- 0x832 , // 764 - tn-bw
- 0x432 , // 765 - tn-za
- 0x1000 , // 766 - to
- 0x1000 , // 767 - to-to
- 0x1f , // 768 - tr
- 0x1000 , // 769 - tr-cy
- 0x41f , // 770 - tr-tr
- 0x31 , // 771 - ts
- 0x431 , // 772 - ts-za
- 0x44 , // 773 - tt
- 0x444 , // 774 - tt-ru
- 0x1000 , // 775 - twq
- 0x1000 , // 776 - twq-ne
- 0x5f , // 777 - tzm
- 0x1000 , // 778 - tzm-arab
- 0x45f , // 779 - tzm-arab-ma
- 0x7c5f , // 780 - tzm-latn
- 0x85f , // 781 - tzm-latn-dz
- 0x1000 , // 782 - tzm-latn-ma
- 0x785f , // 783 - tzm-tfng
- 0x105f , // 784 - tzm-tfng-ma
- 0x80 , // 785 - ug
- 0x480 , // 786 - ug-cn
- 0x22 , // 787 - uk
- 0x422 , // 788 - uk-ua
- 0x20 , // 789 - ur
- 0x820 , // 790 - ur-in
- 0x420 , // 791 - ur-pk
- 0x43 , // 792 - uz
- 0x1000 , // 793 - uz-arab
- 0x1000 , // 794 - uz-arab-af
- 0x7843 , // 795 - uz-cyrl
- 0x843 , // 796 - uz-cyrl-uz
- 0x7c43 , // 797 - uz-latn
- 0x443 , // 798 - uz-latn-uz
- 0x1000 , // 799 - vai
- 0x1000 , // 800 - vai-latn
- 0x1000 , // 801 - vai-latn-lr
- 0x1000 , // 802 - vai-vaii
- 0x1000 , // 803 - vai-vaii-lr
- 0x33 , // 804 - ve
- 0x433 , // 805 - ve-za
- 0x2a , // 806 - vi
- 0x42a , // 807 - vi-vn
- 0x1000 , // 808 - vo
- 0x1000 , // 809 - vo-001
- 0x1000 , // 810 - vun
- 0x1000 , // 811 - vun-tz
- 0x1000 , // 812 - wae
- 0x1000 , // 813 - wae-ch
- 0x1000 , // 814 - wal
- 0x1000 , // 815 - wal-et
- 0x88 , // 816 - wo
- 0x488 , // 817 - wo-sn
- 0x1007f, // 818 - x-iv_mathan
- 0x34 , // 819 - xh
- 0x434 , // 820 - xh-za
- 0x1000 , // 821 - xog
- 0x1000 , // 822 - xog-ug
- 0x1000 , // 823 - yav
- 0x1000 , // 824 - yav-cm
- 0x3d , // 825 - yi
- 0x43d , // 826 - yi-001
- 0x6a , // 827 - yo
- 0x1000 , // 828 - yo-bj
- 0x46a , // 829 - yo-ng
- 0x1000 , // 830 - yue-hk
- 0x1000 , // 831 - zgh
- 0x1000 , // 832 - zgh-tfng
- 0x1000 , // 833 - zgh-tfng-ma
- 0x7804 , // 834 - zh
- 0x4 , // 835 - zh-chs
- 0x7c04 , // 836 - zh-cht
- 0x804 , // 837 - zh-cn
- 0x50804, // 838 - zh-cn_phoneb
- 0x20804, // 839 - zh-cn_stroke
- 0x4 , // 840 - zh-hans
- 0x1000 , // 841 - zh-hans-hk
- 0x1000 , // 842 - zh-hans-mo
- 0x7c04 , // 843 - zh-hant
- 0xc04 , // 844 - zh-hk
- 0x40c04, // 845 - zh-hk_radstr
- 0x1404 , // 846 - zh-mo
- 0x41404, // 847 - zh-mo_radstr
- 0x21404, // 848 - zh-mo_stroke
- 0x1004 , // 849 - zh-sg
- 0x51004, // 850 - zh-sg_phoneb
- 0x21004, // 851 - zh-sg_stroke
- 0x404 , // 852 - zh-tw
- 0x30404, // 853 - zh-tw_pronun
- 0x40404, // 854 - zh-tw_radstr
- 0x35 , // 855 - zu
- 0x435 , // 856 - zu-za
- 0x0 , // 857 -
- };
-
-
- // s_lcids list all supported lcids. used to binary search and we use the index of the matched lcid to
- // get the index in s_localeNamesIndices using s_lcidToCultureNameIndecis
- private static readonly int[] s_lcids = new int[]
- {
- // Lcid , index - index in
- 0x1 , // 0 - 52
- 0x2 , // 1 - 301
- 0x3 , // 2 - 421
- 0x4 , // 3 - 4120
- 0x5 , // 4 - 500
- 0x6 , // 5 - 519
- 0x7 , // 6 - 540
- 0x8 , // 7 - 660
- 0x9 , // 8 - 672
- 0xa , // 9 - 1210
- 0xb , // 10 - 1419
- 0xc , // 11 - 1447
- 0xd , // 12 - 1821
- 0xe , // 13 - 1856
- 0xf , // 14 - 1925
- 0x10 , // 15 - 1932
- 0x11 , // 16 - 1985
- 0x12 , // 17 - 2175
- 0x13 , // 18 - 2672
- 0x14 , // 19 - 2734
- 0x15 , // 20 - 2851
- 0x16 , // 21 - 2881
- 0x17 , // 22 - 3025
- 0x18 , // 23 - 3039
- 0x19 , // 24 - 3060
- 0x1a , // 25 - 1835
- 0x1b , // 26 - 3268
- 0x1c , // 27 - 3371
- 0x1d , // 28 - 3537
- 0x1e , // 29 - 3657
- 0x1f , // 30 - 3711
- 0x20 , // 31 - 3831
- 0x21 , // 32 - 1904
- 0x22 , // 33 - 3824
- 0x23 , // 34 - 276
- 0x24 , // 35 - 3275
- 0x25 , // 36 - 1350
- 0x26 , // 37 - 2422
- 0x27 , // 38 - 2390
- 0x28 , // 39 - 3638
- 0x29 , // 40 - 1373
- 0x2a , // 41 - 3944
- 0x2b , // 42 - 1875
- 0x2c , // 43 - 224
- 0x2d , // 44 - 1357
- 0x2e , // 45 - 1847
- 0x2f , // 46 - 2494
- 0x30 , // 47 - 3525
- 0x31 , // 48 - 3723
- 0x32 , // 49 - 3692
- 0x33 , // 50 - 3937
- 0x34 , // 51 - 4004
- 0x35 , // 52 - 4258
- 0x36 , // 53 - 17
- 0x37 , // 54 - 2058
- 0x38 , // 55 - 1435
- 0x39 , // 56 - 1828
- 0x3a , // 57 - 2591
- 0x3b , // 58 - 3178
- 0x3c , // 59 - 1701
- 0x3d , // 60 - 4029
- 0x3e , // 61 - 2574
- 0x3f , // 62 - 2129
- 0x40 , // 63 - 2302
- 0x41 , // 64 - 3554
- 0x42 , // 65 - 3685
- 0x43 , // 66 - 3843
- 0x44 , // 67 - 3730
- 0x45 , // 68 - 336
- 0x46 , // 69 - 2817
- 0x47 , // 70 - 1750
- 0x48 , // 71 - 2798
- 0x49 , // 72 - 3594
- 0x4a , // 73 - 3616
- 0x4b , // 74 - 2168
- 0x4c , // 75 - 2501
- 0x4d , // 76 - 199
- 0x4e , // 77 - 2567
- 0x4f , // 78 - 3108
- 0x50 , // 79 - 2508
- 0x51 , // 80 - 348
- 0x52 , // 81 - 512
- 0x53 , // 82 - 2161
- 0x54 , // 83 - 2371
- 0x55 , // 84 - 2607
- 0x56 , // 85 - 1715
- 0x57 , // 86 - 2187
- 0x58 , // 87 - 2549
- 0x59 , // 88 - 3142
- 0x5a , // 89 - 3585
- 0x5b , // 90 - 3261
- 0x5c , // 91 - 471
- 0x5d , // 92 - 1949
- 0x5e , // 93 - 45
- 0x5f , // 94 - 3746
- 0x60 , // 95 - 2203
- 0x61 , // 96 - 2660
- 0x62 , // 97 - 1694
- 0x63 , // 98 - 2874
- 0x64 , // 99 - 1426
- 0x65 , // 100 - 616
- 0x66 , // 101 - 308
- 0x67 , // 102 - 1380
- 0x68 , // 103 - 1773
- 0x69 , // 104 - 1895
- 0x6a , // 105 - 4037
- 0x6b , // 106 - 3004
- 0x6c , // 107 - 2752
- 0x6d , // 108 - 260
- 0x6e , // 109 - 2326
- 0x6f , // 110 - 2145
- 0x70 , // 111 - 1911
- 0x71 , // 112 - 2196
- 0x72 , // 113 - 2786
- 0x73 , // 114 - 3664
- 0x74 , // 115 - 1722
- 0x75 , // 116 - 1812
- 0x76 , // 117 - 2309
- 0x77 , // 118 - 3349
- 0x78 , // 119 - 1918
- 0x79 , // 120 - 2841
- 0x7a , // 121 - 190
- 0x7c , // 122 - 2558
- 0x7e , // 123 - 360
- 0x80 , // 124 - 3817
- 0x81 , // 125 - 2487
- 0x82 , // 126 - 2779
- 0x83 , // 127 - 493
- 0x84 , // 128 - 1729
- 0x85 , // 129 - 3115
- 0x86 , // 130 - 2982
- 0x87 , // 131 - 3092
- 0x88 , // 132 - 3986
- 0x8c , // 133 - 2865
- 0x91 , // 134 - 1708
- 0x92 , // 135 - 2266
- 0x401 , // 136 - 150
- 0x402 , // 137 - 303
- 0x403 , // 138 - 428
- 0x404 , // 139 - 4229
- 0x405 , // 140 - 502
- 0x406 , // 141 - 521
- 0x407 , // 142 - 557
- 0x408 , // 143 - 667
- 0x409 , // 144 - 1157
- 0x40a , // 145 - 1268
- 0x40b , // 146 - 1421
- 0x40c , // 147 - 1525
- 0x40d , // 148 - 1823
- 0x40e , // 149 - 1858
- 0x40f , // 150 - 1927
- 0x410 , // 151 - 1939
- 0x411 , // 152 - 1987
- 0x412 , // 153 - 2182
- 0x413 , // 154 - 2694
- 0x414 , // 155 - 2631
- 0x415 , // 156 - 2853
- 0x416 , // 157 - 2888
- 0x417 , // 158 - 3027
- 0x418 , // 159 - 3046
- 0x419 , // 160 - 3082
- 0x41a , // 161 - 1842
- 0x41b , // 162 - 3270
- 0x41c , // 163 - 3373
- 0x41d , // 164 - 3549
- 0x41e , // 165 - 3659
- 0x41f , // 166 - 3718
- 0x420 , // 167 - 3838
- 0x421 , // 168 - 1906
- 0x422 , // 169 - 3826
- 0x423 , // 170 - 278
- 0x424 , // 171 - 3277
- 0x425 , // 172 - 1352
- 0x426 , // 173 - 2424
- 0x427 , // 174 - 2392
- 0x428 , // 175 - 3647
- 0x429 , // 176 - 1375
- 0x42a , // 177 - 3946
- 0x42b , // 178 - 1877
- 0x42c , // 179 - 250
- 0x42d , // 180 - 1359
- 0x42e , // 181 - 1850
- 0x42f , // 182 - 2496
- 0x430 , // 183 - 3532
- 0x431 , // 184 - 3725
- 0x432 , // 185 - 3699
- 0x433 , // 186 - 3939
- 0x434 , // 187 - 4006
- 0x435 , // 188 - 4260
- 0x436 , // 189 - 24
- 0x437 , // 190 - 2060
- 0x438 , // 191 - 1442
- 0x439 , // 192 - 1830
- 0x43a , // 193 - 2593
- 0x43b , // 194 - 3185
- 0x43d , // 195 - 4031
- 0x43e , // 196 - 2581
- 0x43f , // 197 - 2131
- 0x440 , // 198 - 2304
- 0x441 , // 199 - 3561
- 0x442 , // 200 - 3687
- 0x443 , // 201 - 3886
- 0x444 , // 202 - 3732
- 0x445 , // 203 - 343
- 0x446 , // 204 - 2836
- 0x447 , // 205 - 1752
- 0x448 , // 206 - 2800
- 0x449 , // 207 - 3596
- 0x44a , // 208 - 3618
- 0x44b , // 209 - 2170
- 0x44c , // 210 - 2503
- 0x44d , // 211 - 201
- 0x44e , // 212 - 2569
- 0x44f , // 213 - 3110
- 0x450 , // 214 - 2517
- 0x451 , // 215 - 350
- 0x452 , // 216 - 514
- 0x453 , // 217 - 2163
- 0x454 , // 218 - 2373
- 0x455 , // 219 - 2609
- 0x456 , // 220 - 1717
- 0x457 , // 221 - 2190
- 0x458 , // 222 - 2552
- 0x459 , // 223 - 3168
- 0x45a , // 224 - 3588
- 0x45b , // 225 - 3263
- 0x45c , // 226 - 482
- 0x45d , // 227 - 1958
- 0x45e , // 228 - 47
- 0x45f , // 229 - 3757
- 0x460 , // 230 - 2205
- 0x461 , // 231 - 2667
- 0x462 , // 232 - 1696
- 0x463 , // 233 - 2876
- 0x464 , // 234 - 1429
- 0x465 , // 235 - 618
- 0x466 , // 236 - 311
- 0x467 , // 237 - 1414
- 0x468 , // 238 - 1802
- 0x469 , // 239 - 1898
- 0x46a , // 240 - 4044
- 0x46b , // 241 - 3007
- 0x46c , // 242 - 2755
- 0x46d , // 243 - 262
- 0x46e , // 244 - 2328
- 0x46f , // 245 - 2147
- 0x470 , // 246 - 1913
- 0x471 , // 247 - 2198
- 0x472 , // 248 - 2788
- 0x473 , // 249 - 3671
- 0x474 , // 250 - 1724
- 0x475 , // 251 - 1815
- 0x476 , // 252 - 2311
- 0x477 , // 253 - 3366
- 0x478 , // 254 - 1920
- 0x479 , // 255 - 2844
- 0x47a , // 256 - 193
- 0x47c , // 257 - 2561
- 0x47e , // 258 - 362
- 0x480 , // 259 - 3819
- 0x481 , // 260 - 2489
- 0x482 , // 261 - 2781
- 0x483 , // 262 - 495
- 0x484 , // 263 - 1738
- 0x485 , // 264 - 3118
- 0x486 , // 265 - 2993
- 0x487 , // 266 - 3094
- 0x488 , // 267 - 3988
- 0x48c , // 268 - 2868
- 0x491 , // 269 - 1710
- 0x492 , // 270 - 2275
- 0x501 , // 271 - 2956
- 0x5fe , // 272 - 2964
- 0x801 , // 273 - 95
- 0x803 , // 274 - 433
- 0x804 , // 275 - 4091
- 0x807 , // 276 - 552
- 0x809 , // 277 - 827
- 0x80a , // 278 - 1295
- 0x80c , // 279 - 1455
- 0x810 , // 280 - 1934
- 0x813 , // 281 - 2679
- 0x814 , // 282 - 2720
- 0x816 , // 283 - 2928
- 0x818 , // 284 - 3041
- 0x819 , // 285 - 3077
- 0x81a , // 286 - 3464
- 0x81d , // 287 - 3544
- 0x820 , // 288 - 3833
- 0x82c , // 289 - 233
- 0x82e , // 290 - 601
- 0x832 , // 291 - 3694
- 0x83b , // 292 - 3190
- 0x83c , // 293 - 1703
- 0x83e , // 294 - 2576
- 0x843 , // 295 - 3869
- 0x845 , // 296 - 338
- 0x846 , // 297 - 2826
- 0x849 , // 298 - 3601
- 0x850 , // 299 - 2529
- 0x859 , // 300 - 3151
- 0x85d , // 301 - 1975
- 0x85f , // 302 - 3776
- 0x860 , // 303 - 2229
- 0x861 , // 304 - 2662
- 0x867 , // 305 - 1399
- 0x86b , // 306 - 3013
- 0x873 , // 307 - 3666
- 0x901 , // 308 - 2943
- 0x9ff , // 309 - 2973
- 0xc01 , // 310 - 80
- 0xc04 , // 311 - 4154
- 0xc07 , // 312 - 542
- 0xc09 , // 313 - 712
- 0xc0a , // 314 - 1263
- 0xc0c , // 315 - 1480
- 0xc1a , // 316 - 3407
- 0xc3b , // 317 - 3180
- 0xc50 , // 318 - 2539
- 0xc51 , // 319 - 634
- 0xc6b , // 320 - 3019
- 0x1001 , // 321 - 120
- 0x1004 , // 322 - 4200
- 0x1007 , // 323 - 584
- 0x1009 , // 324 - 752
- 0x100a , // 325 - 1285
- 0x100c , // 326 - 1500
- 0x101a , // 327 - 1837
- 0x103b , // 328 - 3300
- 0x105f , // 329 - 3806
- 0x1401 , // 330 - 75
- 0x1404 , // 331 - 4171
- 0x1407 , // 332 - 579
- 0x1409 , // 333 - 1022
- 0x140a , // 334 - 1243
- 0x140c , // 335 - 1565
- 0x141a , // 336 - 402
- 0x143b , // 337 - 3306
- 0x1801 , // 338 - 125
- 0x1809 , // 339 - 877
- 0x180a , // 340 - 1305
- 0x180c , // 341 - 1575
- 0x181a , // 342 - 3454
- 0x183b , // 343 - 3285
- 0x1c01 , // 344 - 180
- 0x1c09 , // 345 - 1187
- 0x1c0a , // 346 - 1253
- 0x1c0c , // 347 - 1449
- 0x1c1a , // 348 - 3397
- 0x1c3b , // 349 - 3291
- 0x2001 , // 350 - 135
- 0x2009 , // 351 - 907
- 0x200a , // 352 - 1345
- 0x200c , // 353 - 1630
- 0x201a , // 354 - 385
- 0x203b , // 355 - 3324
- 0x2401 , // 356 - 185
- 0x2409 , // 357 - 680
- 0x240a , // 358 - 1238
- 0x240c , // 359 - 1485
- 0x241a , // 360 - 3484
- 0x243b , // 361 - 3315
- 0x2801 , // 362 - 170
- 0x2809 , // 363 - 747
- 0x280a , // 364 - 1310
- 0x280c , // 365 - 1645
- 0x281a , // 366 - 3427
- 0x2c01 , // 367 - 100
- 0x2c09 , // 368 - 1132
- 0x2c0a , // 369 - 1218
- 0x2c0c , // 370 - 1510
- 0x2c1a , // 371 - 3474
- 0x3001 , // 372 - 115
- 0x3009 , // 373 - 1197
- 0x300a , // 374 - 1258
- 0x300c , // 375 - 1505
- 0x301a , // 376 - 3417
- 0x3401 , // 377 - 110
- 0x3409 , // 378 - 1032
- 0x340a , // 379 - 1233
- 0x340c , // 380 - 1590
- 0x3801 , // 381 - 60
- 0x3809 , // 382 - 872
- 0x380a , // 383 - 1340
- 0x380c , // 384 - 1570
- 0x3c01 , // 385 - 65
- 0x3c09 , // 386 - 867
- 0x3c0a , // 387 - 1325
- 0x3c0c , // 388 - 1555
- 0x4001 , // 389 - 145
- 0x4009 , // 390 - 892
- 0x400a , // 391 - 1223
- 0x4409 , // 392 - 987
- 0x440a , // 393 - 1330
- 0x4809 , // 394 - 1082
- 0x480a , // 395 - 1290
- 0x4c0a , // 396 - 1300
- 0x500a , // 397 - 1320
- 0x540a , // 398 - 1335
- 0x580a , // 399 - 1212
- 0x5c0a , // 400 - 1248
- 0x641a , // 401 - 378
- 0x681a , // 402 - 395
- 0x6c1a , // 403 - 3390
- 0x701a , // 404 - 3447
- 0x703b , // 405 - 3312
- 0x742c , // 406 - 226
- 0x743b , // 407 - 3321
- 0x7804 , // 408 - 4077
- 0x7814 , // 409 - 2718
- 0x781a , // 410 - 376
- 0x782c , // 411 - 243
- 0x783b , // 412 - 3282
- 0x7843 , // 413 - 3862
- 0x7850 , // 414 - 2510
- 0x785d , // 415 - 1951
- 0x785f , // 416 - 3798
- 0x7c04 , // 417 - 4147
- 0x7c14 , // 418 - 2629
- 0x7c1a , // 419 - 3388
- 0x7c28 , // 420 - 3640
- 0x7c2e , // 421 - 598
- 0x7c3b , // 422 - 3297
- 0x7c43 , // 423 - 3879
- 0x7c46 , // 424 - 2819
- 0x7c50 , // 425 - 2522
- 0x7c59 , // 426 - 3144
- 0x7c5c , // 427 - 474
- 0x7c5d , // 428 - 1968
- 0x7c5f , // 429 - 3768
- 0x7c67 , // 430 - 1392
- 0x7c68 , // 431 - 1775
- 0x7c86 , // 432 - 2985
- 0x7c92 , // 433 - 2268
- 0x1007f, // 434 - 3993
- 0x10407, // 435 - 562
- 0x1040e, // 436 - 1863
- 0x10437, // 437 - 2065
- 0x20804, // 438 - 4108
- 0x21004, // 439 - 4217
- 0x21404, // 440 - 4188
- 0x30404, // 441 - 4234
- 0x40404, // 442 - 4246
- 0x40411, // 443 - 1992
- 0x40c04, // 444 - 4159
- 0x41404, // 445 - 4176
- 0x50804, // 446 - 4096
- 0x51004, // 447 - 4205
- };
-
- // each element in s_lcidToCultureNameIndecis is index to s_localeNamesIndices
- private static readonly int[] s_lcidToCultureNameIndecis = new int[]
- {
- // Index to s_localeNamesIndices, index to this array - lcid - index to the c_localeNames
- 13 , // 0 - 1 - 52
- 64 , // 1 - 2 - 301
- 88 , // 2 - 3 - 421
- 840 , // 3 - 4 - 4120
- 102 , // 4 - 5 - 500
- 107 , // 5 - 6 - 519
- 112 , // 6 - 7 - 540
- 138 , // 7 - 8 - 660
- 141 , // 8 - 9 - 672
- 249 , // 9 - a - 1210
- 291 , // 10 - b - 1419
- 298 , // 11 - c - 1447
- 375 , // 12 - d - 1821
- 384 , // 13 - e - 1856
- 400 , // 14 - f - 1925
- 402 , // 15 - 10 - 1932
- 411 , // 16 - 11 - 1985
- 450 , // 17 - 12 - 2175
- 559 , // 18 - 13 - 2672
- 573 , // 19 - 14 - 2734
- 600 , // 20 - 15 - 2851
- 607 , // 21 - 16 - 2881
- 631 , // 22 - 17 - 3025
- 635 , // 23 - 18 - 3039
- 640 , // 24 - 19 - 3060
- 379 , // 25 - 1a - 1835
- 681 , // 26 - 1b - 3268
- 703 , // 27 - 1c - 3371
- 728 , // 28 - 1d - 3537
- 754 , // 29 - 1e - 3657
- 768 , // 30 - 1f - 3711
- 789 , // 31 - 20 - 3831
- 394 , // 32 - 21 - 1904
- 787 , // 33 - 22 - 3824
- 58 , // 34 - 23 - 276
- 683 , // 35 - 24 - 3275
- 276 , // 36 - 25 - 1350
- 503 , // 37 - 26 - 2422
- 495 , // 38 - 27 - 2390
- 751 , // 39 - 28 - 3638
- 282 , // 40 - 29 - 1373
- 806 , // 41 - 2a - 3944
- 387 , // 42 - 2b - 1875
- 49 , // 43 - 2c - 224
- 278 , // 44 - 2d - 1357
- 382 , // 45 - 2e - 1847
- 520 , // 46 - 2f - 2494
- 725 , // 47 - 30 - 3525
- 771 , // 48 - 31 - 3723
- 763 , // 49 - 32 - 3692
- 804 , // 50 - 33 - 3937
- 819 , // 51 - 34 - 4004
- 855 , // 52 - 35 - 4258
- 4 , // 53 - 36 - 17
- 423 , // 54 - 37 - 2058
- 295 , // 55 - 38 - 1435
- 377 , // 56 - 39 - 1828
- 540 , // 57 - 3a - 2591
- 664 , // 58 - 3b - 3178
- 350 , // 59 - 3c - 1701
- 825 , // 60 - 3d - 4029
- 536 , // 61 - 3e - 2574
- 438 , // 62 - 3f - 2129
- 474 , // 63 - 40 - 2302
- 732 , // 64 - 41 - 3554
- 761 , // 65 - 42 - 3685
- 792 , // 66 - 43 - 3843
- 773 , // 67 - 44 - 3730
- 71 , // 68 - 45 - 336
- 594 , // 69 - 46 - 2817
- 362 , // 70 - 47 - 1750
- 589 , // 71 - 48 - 2798
- 741 , // 72 - 49 - 3594
- 746 , // 73 - 4a - 3616
- 448 , // 74 - 4b - 2168
- 522 , // 75 - 4c - 2501
- 43 , // 76 - 4d - 199
- 534 , // 77 - 4e - 2567
- 651 , // 78 - 4f - 3108
- 524 , // 79 - 50 - 2508
- 74 , // 80 - 51 - 348
- 105 , // 81 - 52 - 512
- 446 , // 82 - 53 - 2161
- 491 , // 83 - 54 - 2371
- 544 , // 84 - 55 - 2607
- 354 , // 85 - 56 - 1715
- 453 , // 86 - 57 - 2187
- 530 , // 87 - 58 - 2549
- 659 , // 88 - 59 - 3142
- 739 , // 89 - 5a - 3585
- 679 , // 90 - 5b - 3261
- 97 , // 91 - 5c - 471
- 406 , // 92 - 5d - 1949
- 11 , // 93 - 5e - 45
- 777 , // 94 - 5f - 3746
- 457 , // 95 - 60 - 2203
- 556 , // 96 - 61 - 2660
- 348 , // 97 - 62 - 1694
- 605 , // 98 - 63 - 2874
- 293 , // 99 - 64 - 1426
- 127 , // 100 - 65 - 616
- 66 , // 101 - 66 - 308
- 284 , // 102 - 67 - 1380
- 368 , // 103 - 68 - 1773
- 392 , // 104 - 69 - 1895
- 827 , // 105 - 6a - 4037
- 627 , // 106 - 6b - 3004
- 578 , // 107 - 6c - 2752
- 54 , // 108 - 6d - 260
- 480 , // 109 - 6e - 2326
- 442 , // 110 - 6f - 2145
- 396 , // 111 - 70 - 1911
- 455 , // 112 - 71 - 2196
- 586 , // 113 - 72 - 2786
- 756 , // 114 - 73 - 3664
- 356 , // 115 - 74 - 1722
- 373 , // 116 - 75 - 1812
- 476 , // 117 - 76 - 2309
- 698 , // 118 - 77 - 3349
- 398 , // 119 - 78 - 1918
- 598 , // 120 - 79 - 2841
- 41 , // 121 - 7a - 190
- 532 , // 122 - 7c - 2558
- 77 , // 123 - 7e - 360
- 785 , // 124 - 80 - 3817
- 518 , // 125 - 81 - 2487
- 584 , // 126 - 82 - 2779
- 100 , // 127 - 83 - 493
- 358 , // 128 - 84 - 1729
- 653 , // 129 - 85 - 3115
- 624 , // 130 - 86 - 2982
- 647 , // 131 - 87 - 3092
- 816 , // 132 - 88 - 3986
- 603 , // 133 - 8c - 2865
- 352 , // 134 - 91 - 1708
- 468 , // 135 - 92 - 2266
- 33 , // 136 - 401 - 150
- 65 , // 137 - 402 - 303
- 90 , // 138 - 403 - 428
- 852 , // 139 - 404 - 4229
- 103 , // 140 - 405 - 502
- 108 , // 141 - 406 - 521
- 116 , // 142 - 407 - 557
- 140 , // 143 - 408 - 667
- 238 , // 144 - 409 - 1157
- 261 , // 145 - 40a - 1268
- 292 , // 146 - 40b - 1421
- 314 , // 147 - 40c - 1525
- 376 , // 148 - 40d - 1823
- 385 , // 149 - 40e - 1858
- 401 , // 150 - 40f - 1927
- 404 , // 151 - 410 - 1939
- 412 , // 152 - 411 - 1987
- 452 , // 153 - 412 - 2182
- 564 , // 154 - 413 - 2694
- 550 , // 155 - 414 - 2631
- 601 , // 156 - 415 - 2853
- 609 , // 157 - 416 - 2888
- 632 , // 158 - 417 - 3027
- 637 , // 159 - 418 - 3046
- 645 , // 160 - 419 - 3082
- 381 , // 161 - 41a - 1842
- 682 , // 162 - 41b - 3270
- 704 , // 163 - 41c - 3373
- 731 , // 164 - 41d - 3549
- 755 , // 165 - 41e - 3659
- 770 , // 166 - 41f - 3718
- 791 , // 167 - 420 - 3838
- 395 , // 168 - 421 - 1906
- 788 , // 169 - 422 - 3826
- 59 , // 170 - 423 - 278
- 684 , // 171 - 424 - 3277
- 277 , // 172 - 425 - 1352
- 504 , // 173 - 426 - 2424
- 496 , // 174 - 427 - 2392
- 753 , // 175 - 428 - 3647
- 283 , // 176 - 429 - 1375
- 807 , // 177 - 42a - 3946
- 388 , // 178 - 42b - 1877
- 53 , // 179 - 42c - 250
- 279 , // 180 - 42d - 1359
- 383 , // 181 - 42e - 1850
- 521 , // 182 - 42f - 2496
- 727 , // 183 - 430 - 3532
- 772 , // 184 - 431 - 3725
- 765 , // 185 - 432 - 3699
- 805 , // 186 - 433 - 3939
- 820 , // 187 - 434 - 4006
- 856 , // 188 - 435 - 4260
- 6 , // 189 - 436 - 24
- 424 , // 190 - 437 - 2060
- 297 , // 191 - 438 - 1442
- 378 , // 192 - 439 - 1830
- 541 , // 193 - 43a - 2593
- 666 , // 194 - 43b - 3185
- 826 , // 195 - 43d - 4031
- 538 , // 196 - 43e - 2581
- 439 , // 197 - 43f - 2131
- 475 , // 198 - 440 - 2304
- 734 , // 199 - 441 - 3561
- 762 , // 200 - 442 - 3687
- 798 , // 201 - 443 - 3886
- 774 , // 202 - 444 - 3732
- 73 , // 203 - 445 - 343
- 597 , // 204 - 446 - 2836
- 363 , // 205 - 447 - 1752
- 590 , // 206 - 448 - 2800
- 742 , // 207 - 449 - 3596
- 747 , // 208 - 44a - 3618
- 449 , // 209 - 44b - 2170
- 523 , // 210 - 44c - 2503
- 44 , // 211 - 44d - 201
- 535 , // 212 - 44e - 2569
- 652 , // 213 - 44f - 3110
- 526 , // 214 - 450 - 2517
- 75 , // 215 - 451 - 350
- 106 , // 216 - 452 - 514
- 447 , // 217 - 453 - 2163
- 492 , // 218 - 454 - 2373
- 545 , // 219 - 455 - 2609
- 355 , // 220 - 456 - 1717
- 454 , // 221 - 457 - 2190
- 531 , // 222 - 458 - 2552
- 663 , // 223 - 459 - 3168
- 740 , // 224 - 45a - 3588
- 680 , // 225 - 45b - 3263
- 99 , // 226 - 45c - 482
- 408 , // 227 - 45d - 1958
- 12 , // 228 - 45e - 47
- 779 , // 229 - 45f - 3757
- 458 , // 230 - 460 - 2205
- 558 , // 231 - 461 - 2667
- 349 , // 232 - 462 - 1696
- 606 , // 233 - 463 - 2876
- 294 , // 234 - 464 - 1429
- 128 , // 235 - 465 - 618
- 67 , // 236 - 466 - 311
- 290 , // 237 - 467 - 1414
- 372 , // 238 - 468 - 1802
- 393 , // 239 - 469 - 1898
- 829 , // 240 - 46a - 4044
- 628 , // 241 - 46b - 3007
- 579 , // 242 - 46c - 2755
- 55 , // 243 - 46d - 262
- 481 , // 244 - 46e - 2328
- 443 , // 245 - 46f - 2147
- 397 , // 246 - 470 - 1913
- 456 , // 247 - 471 - 2198
- 587 , // 248 - 472 - 2788
- 758 , // 249 - 473 - 3671
- 357 , // 250 - 474 - 1724
- 374 , // 251 - 475 - 1815
- 477 , // 252 - 476 - 2311
- 702 , // 253 - 477 - 3366
- 399 , // 254 - 478 - 1920
- 599 , // 255 - 479 - 2844
- 42 , // 256 - 47a - 193
- 533 , // 257 - 47c - 2561
- 78 , // 258 - 47e - 362
- 786 , // 259 - 480 - 3819
- 519 , // 260 - 481 - 2489
- 585 , // 261 - 482 - 2781
- 101 , // 262 - 483 - 495
- 360 , // 263 - 484 - 1738
- 654 , // 264 - 485 - 3118
- 626 , // 265 - 486 - 2993
- 648 , // 266 - 487 - 3094
- 817 , // 267 - 488 - 3988
- 604 , // 268 - 48c - 2868
- 353 , // 269 - 491 - 1710
- 470 , // 270 - 492 - 2275
- 621 , // 271 - 501 - 2956
- 622 , // 272 - 5fe - 2964
- 22 , // 273 - 801 - 95
- 91 , // 274 - 803 - 433
- 837 , // 275 - 804 - 4091
- 115 , // 276 - 807 - 552
- 172 , // 277 - 809 - 827
- 265 , // 278 - 80a - 1295
- 300 , // 279 - 80c - 1455
- 403 , // 280 - 810 - 1934
- 561 , // 281 - 813 - 2679
- 570 , // 282 - 814 - 2720
- 617 , // 283 - 816 - 2928
- 636 , // 284 - 818 - 3041
- 644 , // 285 - 819 - 3077
- 716 , // 286 - 81a - 3464
- 730 , // 287 - 81d - 3544
- 790 , // 288 - 820 - 3833
- 51 , // 289 - 82c - 233
- 124 , // 290 - 82e - 601
- 764 , // 291 - 832 - 3694
- 667 , // 292 - 83b - 3190
- 351 , // 293 - 83c - 1703
- 537 , // 294 - 83e - 2576
- 796 , // 295 - 843 - 3869
- 72 , // 296 - 845 - 338
- 596 , // 297 - 846 - 2826
- 743 , // 298 - 849 - 3601
- 528 , // 299 - 850 - 2529
- 661 , // 300 - 859 - 3151
- 410 , // 301 - 85d - 1975
- 781 , // 302 - 85f - 3776
- 461 , // 303 - 860 - 2229
- 557 , // 304 - 861 - 2662
- 288 , // 305 - 867 - 1399
- 629 , // 306 - 86b - 3013
- 757 , // 307 - 873 - 3666
- 620 , // 308 - 901 - 2943
- 623 , // 309 - 9ff - 2973
- 19 , // 310 - c01 - 80
- 844 , // 311 - c04 - 4154
- 113 , // 312 - c07 - 542
- 149 , // 313 - c09 - 712
- 260 , // 314 - c0a - 1263
- 305 , // 315 - c0c - 1480
- 710 , // 316 - c1a - 3407
- 665 , // 317 - c3b - 3180
- 529 , // 318 - c50 - 2539
- 132 , // 319 - c51 - 634
- 630 , // 320 - c6b - 3019
- 27 , // 321 - 1001 - 120
- 849 , // 322 - 1004 - 4200
- 120 , // 323 - 1007 - 584
- 157 , // 324 - 1009 - 752
- 263 , // 325 - 100a - 1285
- 309 , // 326 - 100c - 1500
- 380 , // 327 - 101a - 1837
- 689 , // 328 - 103b - 3300
- 784 , // 329 - 105f - 3806
- 18 , // 330 - 1401 - 75
- 846 , // 331 - 1404 - 4171
- 119 , // 332 - 1407 - 579
- 211 , // 333 - 1409 - 1022
- 256 , // 334 - 140a - 1243
- 322 , // 335 - 140c - 1565
- 85 , // 336 - 141a - 402
- 690 , // 337 - 143b - 3306
- 28 , // 338 - 1801 - 125
- 182 , // 339 - 1809 - 877
- 267 , // 340 - 180a - 1305
- 324 , // 341 - 180c - 1575
- 715 , // 342 - 181a - 3454
- 686 , // 343 - 183b - 3285
- 39 , // 344 - 1c01 - 180
- 244 , // 345 - 1c09 - 1187
- 258 , // 346 - 1c0a - 1253
- 299 , // 347 - 1c0c - 1449
- 709 , // 348 - 1c1a - 3397
- 687 , // 349 - 1c3b - 3291
- 30 , // 350 - 2001 - 135
- 188 , // 351 - 2009 - 907
- 275 , // 352 - 200a - 1345
- 335 , // 353 - 200c - 1630
- 83 , // 354 - 201a - 385
- 694 , // 355 - 203b - 3324
- 40 , // 356 - 2401 - 185
- 143 , // 357 - 2409 - 680
- 255 , // 358 - 240a - 1238
- 306 , // 359 - 240c - 1485
- 718 , // 360 - 241a - 3484
- 692 , // 361 - 243b - 3315
- 37 , // 362 - 2801 - 170
- 156 , // 363 - 2809 - 747
- 268 , // 364 - 280a - 1310
- 338 , // 365 - 280c - 1645
- 712 , // 366 - 281a - 3427
- 23 , // 367 - 2c01 - 100
- 233 , // 368 - 2c09 - 1132
- 251 , // 369 - 2c0a - 1218
- 311 , // 370 - 2c0c - 1510
- 717 , // 371 - 2c1a - 3474
- 26 , // 372 - 3001 - 115
- 246 , // 373 - 3009 - 1197
- 259 , // 374 - 300a - 1258
- 310 , // 375 - 300c - 1505
- 711 , // 376 - 301a - 3417
- 25 , // 377 - 3401 - 110
- 213 , // 378 - 3409 - 1032
- 254 , // 379 - 340a - 1233
- 327 , // 380 - 340c - 1590
- 15 , // 381 - 3801 - 60
- 181 , // 382 - 3809 - 872
- 274 , // 383 - 380a - 1340
- 323 , // 384 - 380c - 1570
- 16 , // 385 - 3c01 - 65
- 180 , // 386 - 3c09 - 867
- 271 , // 387 - 3c0a - 1325
- 320 , // 388 - 3c0c - 1555
- 32 , // 389 - 4001 - 145
- 185 , // 390 - 4009 - 892
- 252 , // 391 - 400a - 1223
- 204 , // 392 - 4409 - 987
- 272 , // 393 - 440a - 1330
- 223 , // 394 - 4809 - 1082
- 264 , // 395 - 480a - 1290
- 266 , // 396 - 4c0a - 1300
- 270 , // 397 - 500a - 1320
- 273 , // 398 - 540a - 1335
- 250 , // 399 - 580a - 1212
- 257 , // 400 - 5c0a - 1248
- 82 , // 401 - 641a - 378
- 84 , // 402 - 681a - 395
- 708 , // 403 - 6c1a - 3390
- 714 , // 404 - 701a - 3447
- 691 , // 405 - 703b - 3312
- 50 , // 406 - 742c - 226
- 693 , // 407 - 743b - 3321
- 834 , // 408 - 7804 - 4077
- 569 , // 409 - 7814 - 2718
- 81 , // 410 - 781a - 376
- 52 , // 411 - 782c - 243
- 685 , // 412 - 783b - 3282
- 795 , // 413 - 7843 - 3862
- 525 , // 414 - 7850 - 2510
- 407 , // 415 - 785d - 1951
- 783 , // 416 - 785f - 3798
- 843 , // 417 - 7c04 - 4147
- 549 , // 418 - 7c14 - 2629
- 707 , // 419 - 7c1a - 3388
- 752 , // 420 - 7c28 - 3640
- 123 , // 421 - 7c2e - 598
- 688 , // 422 - 7c3b - 3297
- 797 , // 423 - 7c43 - 3879
- 595 , // 424 - 7c46 - 2819
- 527 , // 425 - 7c50 - 2522
- 660 , // 426 - 7c59 - 3144
- 98 , // 427 - 7c5c - 474
- 409 , // 428 - 7c5d - 1968
- 780 , // 429 - 7c5f - 3768
- 287 , // 430 - 7c67 - 1392
- 369 , // 431 - 7c68 - 1775
- 625 , // 432 - 7c86 - 2985
- 469 , // 433 - 7c92 - 2268
- 818 , // 434 - 1007f - 3993
- 117 , // 435 - 10407 - 562
- 386 , // 436 - 1040e - 1863
- 425 , // 437 - 10437 - 2065
- 839 , // 438 - 20804 - 4108
- 851 , // 439 - 21004 - 4217
- 848 , // 440 - 21404 - 4188
- 853 , // 441 - 30404 - 4234
- 854 , // 442 - 40404 - 4246
- 413 , // 443 - 40411 - 1992
- 845 , // 444 - 40c04 - 4159
- 847 , // 445 - 41404 - 4176
- 838 , // 446 - 50804 - 4096
- 850 , // 447 - 51004 - 4205
- };
/// <summary>
/// This method uses the sRealName field (which is initialized by the constructor before this is called) to
private static string LCIDToLocaleName(int culture)
{
- int left = 0;
- int right = s_lcids.Length - 1;
- int index;
-
- Contract.Assert(s_lcids.Length == s_lcidToCultureNameIndecis.Length);
-
- while (left <= right)
- {
- index = (right + left) / 2;
-
- if (culture == s_lcids[index])
- {
- int indexToLocaleNamesIndices = s_lcidToCultureNameIndecis[index];
- Contract.Assert(indexToLocaleNamesIndices < s_localeNamesIndices.Length - 1);
-
- return c_localeNames.Substring(s_localeNamesIndices[indexToLocaleNamesIndices],
- s_localeNamesIndices[indexToLocaleNamesIndices + 1] -
- s_localeNamesIndices[indexToLocaleNamesIndices]);
- }
- else if (culture < s_lcids[index])
- {
- right = index - 1;
- }
- else
- {
- left = index + 1;
- }
- }
-
- return null;
+ return LocaleData.LCIDToLocaleName(culture);
}
private static int LocaleNameToLCID(string cultureName)
{
- int index = SearchCultureName(cultureName);
- if (index < 0)
- {
- return CultureInfo.LOCALE_CUSTOM_UNSPECIFIED;
- }
-
- Contract.Assert(s_localeNamesIndices.Length == s_nameIndexTolcids.Length && index < s_localeNamesIndices.Length);
-
- return s_nameIndexTolcids[index];
+ int lcid = LocaleData.GetLocaleDataNumericPart(cultureName, LocaleDataParts.Lcid);
+ return lcid == -1 ? CultureInfo.LOCALE_CUSTOM_UNSPECIFIED : lcid;
}
-
- // SearchCultureName will binary search c_localeNames using s_localeNamesIndices.
- // return index in s_localeNamesIndices, or -1 if it fail finding any match
- private static int SearchCultureName(string name)
+ private static int GetAnsiCodePage(string cultureName)
{
- int left = 0;
- int right = s_localeNamesIndices.Length - 2;
- int index;
- int result;
-
- Contract.Assert(s_localeNamesIndices[s_localeNamesIndices.Length - 1] == c_localeNames.Length);
-
- name = AnsiToLower(name);
-
- // Binary search the array until we have only a couple of elements left and then
- // just walk those elements.
- while ((right - left) > 3)
- {
- index = ((right - left) / 2) + left;
-
- Contract.Assert(index < s_localeNamesIndices.Length - 1);
- result = CompareOrdinal(name, c_localeNames, s_localeNamesIndices[index], s_localeNamesIndices[index + 1] - s_localeNamesIndices[index]);
- if (result == 0)
- {
- return index;
- }
- else if (result < 0)
- {
- right = index;
- }
- else
- {
- left = index;
- }
- }
-
- // Walk the remaining elements (it'll be 3 or fewer).
- for (; left <= right; left++)
- {
- Contract.Assert(left < s_localeNamesIndices.Length - 1);
- if (CompareOrdinal(name, c_localeNames, s_localeNamesIndices[left], s_localeNamesIndices[left + 1] - s_localeNamesIndices[left]) == 0)
- {
- return (left);
- }
- }
-
- // The encoding name is not valid.
- return -1;
+ int ansiCodePage = LocaleData.GetLocaleDataNumericPart(cultureName, LocaleDataParts.AnsiCodePage);
+ return ansiCodePage == -1 ? CultureData.Invariant.IDEFAULTANSICODEPAGE : ansiCodePage;
}
-
- // optimized to avoid parameters checking
- private static int CompareOrdinal(string s1, string s2, int index, int length)
- {
- int count = s1.Length;
- if (count > length)
- count = length;
- int i = 0;
- while (i < count && s1[i] == s2[index + i])
- i++;
+ private static int GetOemCodePage(string cultureName)
+ {
+ int oemCodePage = LocaleData.GetLocaleDataNumericPart(cultureName, LocaleDataParts.OemCodePage);
+ return oemCodePage == -1 ? CultureData.Invariant.IDEFAULTOEMCODEPAGE : oemCodePage;
+ }
- if (i < count)
- return (int)(s1[i] - s2[index + i]);
+ private static int GetMacCodePage(string cultureName)
+ {
+ int macCodePage = LocaleData.GetLocaleDataNumericPart(cultureName, LocaleDataParts.MacCodePage);
+ return macCodePage == -1 ? CultureData.Invariant.IDEFAULTMACCODEPAGE : macCodePage;
+ }
- return s1.Length - length;
+ private static int GetEbcdicCodePage(string cultureName)
+ {
+ int ebcdicCodePage = LocaleData.GetLocaleDataNumericPart(cultureName, LocaleDataParts.EbcdicCodePage);
+ return ebcdicCodePage == -1 ? CultureData.Invariant.IDEFAULTEBCDICCODEPAGE : ebcdicCodePage;
}
}
}
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Diagnostics.Contracts;
+
+// This file contains the handling of Windows OS specific culture features.
+
+namespace System.Globalization
+{
+ internal enum LocaleDataParts
+ {
+ Lcid = 0,
+ AnsiCodePage = 1,
+ OemCodePage = 2,
+ MacCodePage = 3,
+ EbcdicCodePage = 4,
+ GeoId = 5
+ }
+
+ internal partial class LocaleData
+ {
+ // this is done rather than using a large readonly array of strings to avoid
+ // generating a large amount of code in the static constructor.
+ // Using indices from s_localeNamesIndices, we binary search this string when mapping
+ // an culture name to Lcid. Note that these names are all lowercase and are
+ // sorted alphabetically (ordinal).
+ private const string c_localeNames =
+ // culture name Lcid
+ "aa" + // 01000 - 0
+ "aa-dj" + // 01000 - 2
+ "aa-er" + // 01000 - 7
+ "aa-et" + // 01000 - 12
+ "af" + // 00036 - 17
+ "af-na" + // 01000 - 19
+ "af-za" + // 00436 - 24
+ "agq" + // 01000 - 29
+ "agq-cm" + // 01000 - 32
+ "ak" + // 01000 - 38
+ "ak-gh" + // 01000 - 40
+ "am" + // 0005e - 45
+ "am-et" + // 0045e - 47
+ "ar" + // 00001 - 52
+ "ar-001" + // 01000 - 54
+ "ar-ae" + // 03801 - 60
+ "ar-bh" + // 03c01 - 65
+ "ar-dj" + // 01000 - 70
+ "ar-dz" + // 01401 - 75
+ "ar-eg" + // 00c01 - 80
+ "ar-er" + // 01000 - 85
+ "ar-il" + // 01000 - 90
+ "ar-iq" + // 00801 - 95
+ "ar-jo" + // 02c01 - 100
+ "ar-km" + // 01000 - 105
+ "ar-kw" + // 03401 - 110
+ "ar-lb" + // 03001 - 115
+ "ar-ly" + // 01001 - 120
+ "ar-ma" + // 01801 - 125
+ "ar-mr" + // 01000 - 130
+ "ar-om" + // 02001 - 135
+ "ar-ps" + // 01000 - 140
+ "ar-qa" + // 04001 - 145
+ "ar-sa" + // 00401 - 150
+ "ar-sd" + // 01000 - 155
+ "ar-so" + // 01000 - 160
+ "ar-ss" + // 01000 - 165
+ "ar-sy" + // 02801 - 170
+ "ar-td" + // 01000 - 175
+ "ar-tn" + // 01c01 - 180
+ "ar-ye" + // 02401 - 185
+ "arn" + // 0007a - 190
+ "arn-cl" + // 0047a - 193
+ "as" + // 0004d - 199
+ "as-in" + // 0044d - 201
+ "asa" + // 01000 - 206
+ "asa-tz" + // 01000 - 209
+ "ast" + // 01000 - 215
+ "ast-es" + // 01000 - 218
+ "az" + // 0002c - 224
+ "az-cyrl" + // 0742c - 226
+ "az-cyrl-az" + // 0082c - 233
+ "az-latn" + // 0782c - 243
+ "az-latn-az" + // 0042c - 250
+ "ba" + // 0006d - 260
+ "ba-ru" + // 0046d - 262
+ "bas" + // 01000 - 267
+ "bas-cm" + // 01000 - 270
+ "be" + // 00023 - 276
+ "be-by" + // 00423 - 278
+ "bem" + // 01000 - 283
+ "bem-zm" + // 01000 - 286
+ "bez" + // 01000 - 292
+ "bez-tz" + // 01000 - 295
+ "bg" + // 00002 - 301
+ "bg-bg" + // 00402 - 303
+ "bin" + // 00066 - 308
+ "bin-ng" + // 00466 - 311
+ "bm" + // 01000 - 317
+ "bm-latn" + // 01000 - 319
+ "bm-latn-ml" + // 01000 - 326
+ "bn" + // 00045 - 336
+ "bn-bd" + // 00845 - 338
+ "bn-in" + // 00445 - 343
+ "bo" + // 00051 - 348
+ "bo-cn" + // 00451 - 350
+ "bo-in" + // 01000 - 355
+ "br" + // 0007e - 360
+ "br-fr" + // 0047e - 362
+ "brx" + // 01000 - 367
+ "brx-in" + // 01000 - 370
+ "bs" + // 0781a - 376
+ "bs-cyrl" + // 0641a - 378
+ "bs-cyrl-ba" + // 0201a - 385
+ "bs-latn" + // 0681a - 395
+ "bs-latn-ba" + // 0141a - 402
+ "byn" + // 01000 - 412
+ "byn-er" + // 01000 - 415
+ "ca" + // 00003 - 421
+ "ca-ad" + // 01000 - 423
+ "ca-es" + // 00403 - 428
+ "ca-es-valencia" + // 00803 - 433
+ "ca-fr" + // 01000 - 447
+ "ca-it" + // 01000 - 452
+ "ce" + // 01000 - 457
+ "ce-ru" + // 01000 - 459
+ "cgg" + // 01000 - 464
+ "cgg-ug" + // 01000 - 467
+ "chr" + // 0005c - 473
+ "chr-cher" + // 07c5c - 476
+ "chr-cher-us" + // 0045c - 484
+ "co" + // 00083 - 495
+ "co-fr" + // 00483 - 497
+ "cs" + // 00005 - 502
+ "cs-cz" + // 00405 - 504
+ "cu" + // 01000 - 509
+ "cu-ru" + // 01000 - 511
+ "cy" + // 00052 - 516
+ "cy-gb" + // 00452 - 518
+ "da" + // 00006 - 523
+ "da-dk" + // 00406 - 525
+ "da-gl" + // 01000 - 530
+ "dav" + // 01000 - 535
+ "dav-ke" + // 01000 - 538
+ "de" + // 00007 - 544
+ "de-at" + // 00c07 - 546
+ "de-be" + // 01000 - 551
+ "de-ch" + // 00807 - 556
+ "de-de" + // 00407 - 561
+ "de-de_phoneb" + // 10407 - 566
+ "de-it" + // 01000 - 578
+ "de-li" + // 01407 - 583
+ "de-lu" + // 01007 - 588
+ "dje" + // 01000 - 593
+ "dje-ne" + // 01000 - 596
+ "dsb" + // 07c2e - 602
+ "dsb-de" + // 0082e - 605
+ "dua" + // 01000 - 611
+ "dua-cm" + // 01000 - 614
+ "dv" + // 00065 - 620
+ "dv-mv" + // 00465 - 622
+ "dyo" + // 01000 - 627
+ "dyo-sn" + // 01000 - 630
+ "dz" + // 01000 - 636
+ "dz-bt" + // 00c51 - 638
+ "ebu" + // 01000 - 643
+ "ebu-ke" + // 01000 - 646
+ "ee" + // 01000 - 652
+ "ee-gh" + // 01000 - 654
+ "ee-tg" + // 01000 - 659
+ "el" + // 00008 - 664
+ "el-cy" + // 01000 - 666
+ "el-gr" + // 00408 - 671
+ "en" + // 00009 - 676
+ "en-001" + // 01000 - 678
+ "en-029" + // 02409 - 684
+ "en-150" + // 01000 - 690
+ "en-ag" + // 01000 - 696
+ "en-ai" + // 01000 - 701
+ "en-as" + // 01000 - 706
+ "en-at" + // 01000 - 711
+ "en-au" + // 00c09 - 716
+ "en-bb" + // 01000 - 721
+ "en-be" + // 01000 - 726
+ "en-bi" + // 01000 - 731
+ "en-bm" + // 01000 - 736
+ "en-bs" + // 01000 - 741
+ "en-bw" + // 01000 - 746
+ "en-bz" + // 02809 - 751
+ "en-ca" + // 01009 - 756
+ "en-cc" + // 01000 - 761
+ "en-ch" + // 01000 - 766
+ "en-ck" + // 01000 - 771
+ "en-cm" + // 01000 - 776
+ "en-cx" + // 01000 - 781
+ "en-cy" + // 01000 - 786
+ "en-de" + // 01000 - 791
+ "en-dk" + // 01000 - 796
+ "en-dm" + // 01000 - 801
+ "en-er" + // 01000 - 806
+ "en-fi" + // 01000 - 811
+ "en-fj" + // 01000 - 816
+ "en-fk" + // 01000 - 821
+ "en-fm" + // 01000 - 826
+ "en-gb" + // 00809 - 831
+ "en-gd" + // 01000 - 836
+ "en-gg" + // 01000 - 841
+ "en-gh" + // 01000 - 846
+ "en-gi" + // 01000 - 851
+ "en-gm" + // 01000 - 856
+ "en-gu" + // 01000 - 861
+ "en-gy" + // 01000 - 866
+ "en-hk" + // 03c09 - 871
+ "en-id" + // 03809 - 876
+ "en-ie" + // 01809 - 881
+ "en-il" + // 01000 - 886
+ "en-im" + // 01000 - 891
+ "en-in" + // 04009 - 896
+ "en-io" + // 01000 - 901
+ "en-je" + // 01000 - 906
+ "en-jm" + // 02009 - 911
+ "en-ke" + // 01000 - 916
+ "en-ki" + // 01000 - 921
+ "en-kn" + // 01000 - 926
+ "en-ky" + // 01000 - 931
+ "en-lc" + // 01000 - 936
+ "en-lr" + // 01000 - 941
+ "en-ls" + // 01000 - 946
+ "en-mg" + // 01000 - 951
+ "en-mh" + // 01000 - 956
+ "en-mo" + // 01000 - 961
+ "en-mp" + // 01000 - 966
+ "en-ms" + // 01000 - 971
+ "en-mt" + // 01000 - 976
+ "en-mu" + // 01000 - 981
+ "en-mw" + // 01000 - 986
+ "en-my" + // 04409 - 991
+ "en-na" + // 01000 - 996
+ "en-nf" + // 01000 - 1001
+ "en-ng" + // 01000 - 1006
+ "en-nl" + // 01000 - 1011
+ "en-nr" + // 01000 - 1016
+ "en-nu" + // 01000 - 1021
+ "en-nz" + // 01409 - 1026
+ "en-pg" + // 01000 - 1031
+ "en-ph" + // 03409 - 1036
+ "en-pk" + // 01000 - 1041
+ "en-pn" + // 01000 - 1046
+ "en-pr" + // 01000 - 1051
+ "en-pw" + // 01000 - 1056
+ "en-rw" + // 01000 - 1061
+ "en-sb" + // 01000 - 1066
+ "en-sc" + // 01000 - 1071
+ "en-sd" + // 01000 - 1076
+ "en-se" + // 01000 - 1081
+ "en-sg" + // 04809 - 1086
+ "en-sh" + // 01000 - 1091
+ "en-si" + // 01000 - 1096
+ "en-sl" + // 01000 - 1101
+ "en-ss" + // 01000 - 1106
+ "en-sx" + // 01000 - 1111
+ "en-sz" + // 01000 - 1116
+ "en-tc" + // 01000 - 1121
+ "en-tk" + // 01000 - 1126
+ "en-to" + // 01000 - 1131
+ "en-tt" + // 02c09 - 1136
+ "en-tv" + // 01000 - 1141
+ "en-tz" + // 01000 - 1146
+ "en-ug" + // 01000 - 1151
+ "en-um" + // 01000 - 1156
+ "en-us" + // 00409 - 1161
+ "en-vc" + // 01000 - 1166
+ "en-vg" + // 01000 - 1171
+ "en-vi" + // 01000 - 1176
+ "en-vu" + // 01000 - 1181
+ "en-ws" + // 01000 - 1186
+ "en-za" + // 01c09 - 1191
+ "en-zm" + // 01000 - 1196
+ "en-zw" + // 03009 - 1201
+ "eo" + // 01000 - 1206
+ "eo-001" + // 01000 - 1208
+ "es" + // 0000a - 1214
+ "es-419" + // 0580a - 1216
+ "es-ar" + // 02c0a - 1222
+ "es-bo" + // 0400a - 1227
+ "es-br" + // 01000 - 1232
+ "es-cl" + // 0340a - 1237
+ "es-co" + // 0240a - 1242
+ "es-cr" + // 0140a - 1247
+ "es-cu" + // 05c0a - 1252
+ "es-do" + // 01c0a - 1257
+ "es-ec" + // 0300a - 1262
+ "es-es" + // 00c0a - 1267
+ "es-es_tradnl" + // 0040a - 1272
+ "es-gq" + // 01000 - 1284
+ "es-gt" + // 0100a - 1289
+ "es-hn" + // 0480a - 1294
+ "es-mx" + // 0080a - 1299
+ "es-ni" + // 04c0a - 1304
+ "es-pa" + // 0180a - 1309
+ "es-pe" + // 0280a - 1314
+ "es-ph" + // 01000 - 1319
+ "es-pr" + // 0500a - 1324
+ "es-py" + // 03c0a - 1329
+ "es-sv" + // 0440a - 1334
+ "es-us" + // 0540a - 1339
+ "es-uy" + // 0380a - 1344
+ "es-ve" + // 0200a - 1349
+ "et" + // 00025 - 1354
+ "et-ee" + // 00425 - 1356
+ "eu" + // 0002d - 1361
+ "eu-es" + // 0042d - 1363
+ "ewo" + // 01000 - 1368
+ "ewo-cm" + // 01000 - 1371
+ "fa" + // 00029 - 1377
+ "fa-ir" + // 00429 - 1379
+ "ff" + // 00067 - 1384
+ "ff-cm" + // 01000 - 1386
+ "ff-gn" + // 01000 - 1391
+ "ff-latn" + // 07c67 - 1396
+ "ff-latn-sn" + // 00867 - 1403
+ "ff-mr" + // 01000 - 1413
+ "ff-ng" + // 00467 - 1418
+ "fi" + // 0000b - 1423
+ "fi-fi" + // 0040b - 1425
+ "fil" + // 00064 - 1430
+ "fil-ph" + // 00464 - 1433
+ "fo" + // 00038 - 1439
+ "fo-dk" + // 01000 - 1441
+ "fo-fo" + // 00438 - 1446
+ "fr" + // 0000c - 1451
+ "fr-029" + // 01c0c - 1453
+ "fr-be" + // 0080c - 1459
+ "fr-bf" + // 01000 - 1464
+ "fr-bi" + // 01000 - 1469
+ "fr-bj" + // 01000 - 1474
+ "fr-bl" + // 01000 - 1479
+ "fr-ca" + // 00c0c - 1484
+ "fr-cd" + // 0240c - 1489
+ "fr-cf" + // 01000 - 1494
+ "fr-cg" + // 01000 - 1499
+ "fr-ch" + // 0100c - 1504
+ "fr-ci" + // 0300c - 1509
+ "fr-cm" + // 02c0c - 1514
+ "fr-dj" + // 01000 - 1519
+ "fr-dz" + // 01000 - 1524
+ "fr-fr" + // 0040c - 1529
+ "fr-ga" + // 01000 - 1534
+ "fr-gf" + // 01000 - 1539
+ "fr-gn" + // 01000 - 1544
+ "fr-gp" + // 01000 - 1549
+ "fr-gq" + // 01000 - 1554
+ "fr-ht" + // 03c0c - 1559
+ "fr-km" + // 01000 - 1564
+ "fr-lu" + // 0140c - 1569
+ "fr-ma" + // 0380c - 1574
+ "fr-mc" + // 0180c - 1579
+ "fr-mf" + // 01000 - 1584
+ "fr-mg" + // 01000 - 1589
+ "fr-ml" + // 0340c - 1594
+ "fr-mq" + // 01000 - 1599
+ "fr-mr" + // 01000 - 1604
+ "fr-mu" + // 01000 - 1609
+ "fr-nc" + // 01000 - 1614
+ "fr-ne" + // 01000 - 1619
+ "fr-pf" + // 01000 - 1624
+ "fr-pm" + // 01000 - 1629
+ "fr-re" + // 0200c - 1634
+ "fr-rw" + // 01000 - 1639
+ "fr-sc" + // 01000 - 1644
+ "fr-sn" + // 0280c - 1649
+ "fr-sy" + // 01000 - 1654
+ "fr-td" + // 01000 - 1659
+ "fr-tg" + // 01000 - 1664
+ "fr-tn" + // 01000 - 1669
+ "fr-vu" + // 01000 - 1674
+ "fr-wf" + // 01000 - 1679
+ "fr-yt" + // 01000 - 1684
+ "fur" + // 01000 - 1689
+ "fur-it" + // 01000 - 1692
+ "fy" + // 00062 - 1698
+ "fy-nl" + // 00462 - 1700
+ "ga" + // 0003c - 1705
+ "ga-ie" + // 0083c - 1707
+ "gd" + // 00091 - 1712
+ "gd-gb" + // 00491 - 1714
+ "gl" + // 00056 - 1719
+ "gl-es" + // 00456 - 1721
+ "gn" + // 00074 - 1726
+ "gn-py" + // 00474 - 1728
+ "gsw" + // 00084 - 1733
+ "gsw-ch" + // 01000 - 1736
+ "gsw-fr" + // 00484 - 1742
+ "gsw-li" + // 01000 - 1748
+ "gu" + // 00047 - 1754
+ "gu-in" + // 00447 - 1756
+ "guz" + // 01000 - 1761
+ "guz-ke" + // 01000 - 1764
+ "gv" + // 01000 - 1770
+ "gv-im" + // 01000 - 1772
+ "ha" + // 00068 - 1777
+ "ha-latn" + // 07c68 - 1779
+ "ha-latn-gh" + // 01000 - 1786
+ "ha-latn-ne" + // 01000 - 1796
+ "ha-latn-ng" + // 00468 - 1806
+ "haw" + // 00075 - 1816
+ "haw-us" + // 00475 - 1819
+ "he" + // 0000d - 1825
+ "he-il" + // 0040d - 1827
+ "hi" + // 00039 - 1832
+ "hi-in" + // 00439 - 1834
+ "hr" + // 0001a - 1839
+ "hr-ba" + // 0101a - 1841
+ "hr-hr" + // 0041a - 1846
+ "hsb" + // 0002e - 1851
+ "hsb-de" + // 0042e - 1854
+ "hu" + // 0000e - 1860
+ "hu-hu" + // 0040e - 1862
+ "hu-hu_technl" + // 1040e - 1867
+ "hy" + // 0002b - 1879
+ "hy-am" + // 0042b - 1881
+ "ia" + // 01000 - 1886
+ "ia-001" + // 01000 - 1888
+ "ia-fr" + // 01000 - 1894
+ "ibb" + // 00069 - 1899
+ "ibb-ng" + // 00469 - 1902
+ "id" + // 00021 - 1908
+ "id-id" + // 00421 - 1910
+ "ig" + // 00070 - 1915
+ "ig-ng" + // 00470 - 1917
+ "ii" + // 00078 - 1922
+ "ii-cn" + // 00478 - 1924
+ "is" + // 0000f - 1929
+ "is-is" + // 0040f - 1931
+ "it" + // 00010 - 1936
+ "it-ch" + // 00810 - 1938
+ "it-it" + // 00410 - 1943
+ "it-sm" + // 01000 - 1948
+ "iu" + // 0005d - 1953
+ "iu-cans" + // 0785d - 1955
+ "iu-cans-ca" + // 0045d - 1962
+ "iu-latn" + // 07c5d - 1972
+ "iu-latn-ca" + // 0085d - 1979
+ "ja" + // 00011 - 1989
+ "ja-jp" + // 00411 - 1991
+ "ja-jp_radstr" + // 40411 - 1996
+ "jgo" + // 01000 - 2008
+ "jgo-cm" + // 01000 - 2011
+ "jmc" + // 01000 - 2017
+ "jmc-tz" + // 01000 - 2020
+ "jv" + // 01000 - 2026
+ "jv-java" + // 01000 - 2028
+ "jv-java-id" + // 01000 - 2035
+ "jv-latn" + // 01000 - 2045
+ "jv-latn-id" + // 01000 - 2052
+ "ka" + // 00037 - 2062
+ "ka-ge" + // 00437 - 2064
+ "ka-ge_modern" + // 10437 - 2069
+ "kab" + // 01000 - 2081
+ "kab-dz" + // 01000 - 2084
+ "kam" + // 01000 - 2090
+ "kam-ke" + // 01000 - 2093
+ "kde" + // 01000 - 2099
+ "kde-tz" + // 01000 - 2102
+ "kea" + // 01000 - 2108
+ "kea-cv" + // 01000 - 2111
+ "khq" + // 01000 - 2117
+ "khq-ml" + // 01000 - 2120
+ "ki" + // 01000 - 2126
+ "ki-ke" + // 01000 - 2128
+ "kk" + // 0003f - 2133
+ "kk-kz" + // 0043f - 2135
+ "kkj" + // 01000 - 2140
+ "kkj-cm" + // 01000 - 2143
+ "kl" + // 0006f - 2149
+ "kl-gl" + // 0046f - 2151
+ "kln" + // 01000 - 2156
+ "kln-ke" + // 01000 - 2159
+ "km" + // 00053 - 2165
+ "km-kh" + // 00453 - 2167
+ "kn" + // 0004b - 2172
+ "kn-in" + // 0044b - 2174
+ "ko" + // 00012 - 2179
+ "ko-kp" + // 01000 - 2181
+ "ko-kr" + // 00412 - 2186
+ "kok" + // 00057 - 2191
+ "kok-in" + // 00457 - 2194
+ "kr" + // 00071 - 2200
+ "kr-ng" + // 00471 - 2202
+ "ks" + // 00060 - 2207
+ "ks-arab" + // 00460 - 2209
+ "ks-arab-in" + // 01000 - 2216
+ "ks-deva" + // 01000 - 2226
+ "ks-deva-in" + // 00860 - 2233
+ "ksb" + // 01000 - 2243
+ "ksb-tz" + // 01000 - 2246
+ "ksf" + // 01000 - 2252
+ "ksf-cm" + // 01000 - 2255
+ "ksh" + // 01000 - 2261
+ "ksh-de" + // 01000 - 2264
+ "ku" + // 00092 - 2270
+ "ku-arab" + // 07c92 - 2272
+ "ku-arab-iq" + // 00492 - 2279
+ "ku-arab-ir" + // 01000 - 2289
+ "kw" + // 01000 - 2299
+ "kw-gb" + // 01000 - 2301
+ "ky" + // 00040 - 2306
+ "ky-kg" + // 00440 - 2308
+ "la" + // 00076 - 2313
+ "la-001" + // 00476 - 2315
+ "lag" + // 01000 - 2321
+ "lag-tz" + // 01000 - 2324
+ "lb" + // 0006e - 2330
+ "lb-lu" + // 0046e - 2332
+ "lg" + // 01000 - 2337
+ "lg-ug" + // 01000 - 2339
+ "lkt" + // 01000 - 2344
+ "lkt-us" + // 01000 - 2347
+ "ln" + // 01000 - 2353
+ "ln-ao" + // 01000 - 2355
+ "ln-cd" + // 01000 - 2360
+ "ln-cf" + // 01000 - 2365
+ "ln-cg" + // 01000 - 2370
+ "lo" + // 00054 - 2375
+ "lo-la" + // 00454 - 2377
+ "lrc" + // 01000 - 2382
+ "lrc-iq" + // 01000 - 2385
+ "lrc-ir" + // 01000 - 2391
+ "lt" + // 00027 - 2397
+ "lt-lt" + // 00427 - 2399
+ "lu" + // 01000 - 2404
+ "lu-cd" + // 01000 - 2406
+ "luo" + // 01000 - 2411
+ "luo-ke" + // 01000 - 2414
+ "luy" + // 01000 - 2420
+ "luy-ke" + // 01000 - 2423
+ "lv" + // 00026 - 2429
+ "lv-lv" + // 00426 - 2431
+ "mas" + // 01000 - 2436
+ "mas-ke" + // 01000 - 2439
+ "mas-tz" + // 01000 - 2445
+ "mer" + // 01000 - 2451
+ "mer-ke" + // 01000 - 2454
+ "mfe" + // 01000 - 2460
+ "mfe-mu" + // 01000 - 2463
+ "mg" + // 01000 - 2469
+ "mg-mg" + // 01000 - 2471
+ "mgh" + // 01000 - 2476
+ "mgh-mz" + // 01000 - 2479
+ "mgo" + // 01000 - 2485
+ "mgo-cm" + // 01000 - 2488
+ "mi" + // 00081 - 2494
+ "mi-nz" + // 00481 - 2496
+ "mk" + // 0002f - 2501
+ "mk-mk" + // 0042f - 2503
+ "ml" + // 0004c - 2508
+ "ml-in" + // 0044c - 2510
+ "mn" + // 00050 - 2515
+ "mn-cyrl" + // 07850 - 2517
+ "mn-mn" + // 00450 - 2524
+ "mn-mong" + // 07c50 - 2529
+ "mn-mong-cn" + // 00850 - 2536
+ "mn-mong-mn" + // 00c50 - 2546
+ "mni" + // 00058 - 2556
+ "mni-in" + // 00458 - 2559
+ "moh" + // 0007c - 2565
+ "moh-ca" + // 0047c - 2568
+ "mr" + // 0004e - 2574
+ "mr-in" + // 0044e - 2576
+ "ms" + // 0003e - 2581
+ "ms-bn" + // 0083e - 2583
+ "ms-my" + // 0043e - 2588
+ "ms-sg" + // 01000 - 2593
+ "mt" + // 0003a - 2598
+ "mt-mt" + // 0043a - 2600
+ "mua" + // 01000 - 2605
+ "mua-cm" + // 01000 - 2608
+ "my" + // 00055 - 2614
+ "my-mm" + // 00455 - 2616
+ "mzn" + // 01000 - 2621
+ "mzn-ir" + // 01000 - 2624
+ "naq" + // 01000 - 2630
+ "naq-na" + // 01000 - 2633
+ "nb" + // 07c14 - 2639
+ "nb-no" + // 00414 - 2641
+ "nb-sj" + // 01000 - 2646
+ "nd" + // 01000 - 2651
+ "nd-zw" + // 01000 - 2653
+ "nds" + // 01000 - 2658
+ "nds-de" + // 01000 - 2661
+ "nds-nl" + // 01000 - 2667
+ "ne" + // 00061 - 2673
+ "ne-in" + // 00861 - 2675
+ "ne-np" + // 00461 - 2680
+ "nl" + // 00013 - 2685
+ "nl-aw" + // 01000 - 2687
+ "nl-be" + // 00813 - 2692
+ "nl-bq" + // 01000 - 2697
+ "nl-cw" + // 01000 - 2702
+ "nl-nl" + // 00413 - 2707
+ "nl-sr" + // 01000 - 2712
+ "nl-sx" + // 01000 - 2717
+ "nmg" + // 01000 - 2722
+ "nmg-cm" + // 01000 - 2725
+ "nn" + // 07814 - 2731
+ "nn-no" + // 00814 - 2733
+ "nnh" + // 01000 - 2738
+ "nnh-cm" + // 01000 - 2741
+ "no" + // 00014 - 2747
+ "nqo" + // 01000 - 2749
+ "nqo-gn" + // 01000 - 2752
+ "nr" + // 01000 - 2758
+ "nr-za" + // 01000 - 2760
+ "nso" + // 0006c - 2765
+ "nso-za" + // 0046c - 2768
+ "nus" + // 01000 - 2774
+ "nus-ss" + // 01000 - 2777
+ "nyn" + // 01000 - 2783
+ "nyn-ug" + // 01000 - 2786
+ "oc" + // 00082 - 2792
+ "oc-fr" + // 00482 - 2794
+ "om" + // 00072 - 2799
+ "om-et" + // 00472 - 2801
+ "om-ke" + // 01000 - 2806
+ "or" + // 00048 - 2811
+ "or-in" + // 00448 - 2813
+ "os" + // 01000 - 2818
+ "os-ge" + // 01000 - 2820
+ "os-ru" + // 01000 - 2825
+ "pa" + // 00046 - 2830
+ "pa-arab" + // 07c46 - 2832
+ "pa-arab-pk" + // 00846 - 2839
+ "pa-in" + // 00446 - 2849
+ "pap" + // 00079 - 2854
+ "pap-029" + // 00479 - 2857
+ "pl" + // 00015 - 2864
+ "pl-pl" + // 00415 - 2866
+ "prg" + // 01000 - 2871
+ "prg-001" + // 01000 - 2874
+ "prs" + // 0008c - 2881
+ "prs-af" + // 0048c - 2884
+ "ps" + // 00063 - 2890
+ "ps-af" + // 00463 - 2892
+ "pt" + // 00016 - 2897
+ "pt-ao" + // 01000 - 2899
+ "pt-br" + // 00416 - 2904
+ "pt-ch" + // 01000 - 2909
+ "pt-cv" + // 01000 - 2914
+ "pt-gq" + // 01000 - 2919
+ "pt-gw" + // 01000 - 2924
+ "pt-lu" + // 01000 - 2929
+ "pt-mo" + // 01000 - 2934
+ "pt-mz" + // 01000 - 2939
+ "pt-pt" + // 00816 - 2944
+ "pt-st" + // 01000 - 2949
+ "pt-tl" + // 01000 - 2954
+ "qps-latn-x-sh" + // 00901 - 2959
+ "qps-ploc" + // 00501 - 2972
+ "qps-ploca" + // 005fe - 2980
+ "qps-plocm" + // 009ff - 2989
+ "quc" + // 00086 - 2998
+ "quc-latn" + // 07c86 - 3001
+ "quc-latn-gt" + // 00486 - 3009
+ "quz" + // 0006b - 3020
+ "quz-bo" + // 0046b - 3023
+ "quz-ec" + // 0086b - 3029
+ "quz-pe" + // 00c6b - 3035
+ "rm" + // 00017 - 3041
+ "rm-ch" + // 00417 - 3043
+ "rn" + // 01000 - 3048
+ "rn-bi" + // 01000 - 3050
+ "ro" + // 00018 - 3055
+ "ro-md" + // 00818 - 3057
+ "ro-ro" + // 00418 - 3062
+ "rof" + // 01000 - 3067
+ "rof-tz" + // 01000 - 3070
+ "ru" + // 00019 - 3076
+ "ru-by" + // 01000 - 3078
+ "ru-kg" + // 01000 - 3083
+ "ru-kz" + // 01000 - 3088
+ "ru-md" + // 00819 - 3093
+ "ru-ru" + // 00419 - 3098
+ "ru-ua" + // 01000 - 3103
+ "rw" + // 00087 - 3108
+ "rw-rw" + // 00487 - 3110
+ "rwk" + // 01000 - 3115
+ "rwk-tz" + // 01000 - 3118
+ "sa" + // 0004f - 3124
+ "sa-in" + // 0044f - 3126
+ "sah" + // 00085 - 3131
+ "sah-ru" + // 00485 - 3134
+ "saq" + // 01000 - 3140
+ "saq-ke" + // 01000 - 3143
+ "sbp" + // 01000 - 3149
+ "sbp-tz" + // 01000 - 3152
+ "sd" + // 00059 - 3158
+ "sd-arab" + // 07c59 - 3160
+ "sd-arab-pk" + // 00859 - 3167
+ "sd-deva" + // 01000 - 3177
+ "sd-deva-in" + // 00459 - 3184
+ "se" + // 0003b - 3194
+ "se-fi" + // 00c3b - 3196
+ "se-no" + // 0043b - 3201
+ "se-se" + // 0083b - 3206
+ "seh" + // 01000 - 3211
+ "seh-mz" + // 01000 - 3214
+ "ses" + // 01000 - 3220
+ "ses-ml" + // 01000 - 3223
+ "sg" + // 01000 - 3229
+ "sg-cf" + // 01000 - 3231
+ "shi" + // 01000 - 3236
+ "shi-latn" + // 01000 - 3239
+ "shi-latn-ma" + // 01000 - 3247
+ "shi-tfng" + // 01000 - 3258
+ "shi-tfng-ma" + // 01000 - 3266
+ "si" + // 0005b - 3277
+ "si-lk" + // 0045b - 3279
+ "sk" + // 0001b - 3284
+ "sk-sk" + // 0041b - 3286
+ "sl" + // 00024 - 3291
+ "sl-si" + // 00424 - 3293
+ "sma" + // 0783b - 3298
+ "sma-no" + // 0183b - 3301
+ "sma-se" + // 01c3b - 3307
+ "smj" + // 07c3b - 3313
+ "smj-no" + // 0103b - 3316
+ "smj-se" + // 0143b - 3322
+ "smn" + // 0703b - 3328
+ "smn-fi" + // 0243b - 3331
+ "sms" + // 0743b - 3337
+ "sms-fi" + // 0203b - 3340
+ "sn" + // 01000 - 3346
+ "sn-latn" + // 01000 - 3348
+ "sn-latn-zw" + // 01000 - 3355
+ "so" + // 00077 - 3365
+ "so-dj" + // 01000 - 3367
+ "so-et" + // 01000 - 3372
+ "so-ke" + // 01000 - 3377
+ "so-so" + // 00477 - 3382
+ "sq" + // 0001c - 3387
+ "sq-al" + // 0041c - 3389
+ "sq-mk" + // 01000 - 3394
+ "sq-xk" + // 01000 - 3399
+ "sr" + // 07c1a - 3404
+ "sr-cyrl" + // 06c1a - 3406
+ "sr-cyrl-ba" + // 01c1a - 3413
+ "sr-cyrl-cs" + // 00c1a - 3423
+ "sr-cyrl-me" + // 0301a - 3433
+ "sr-cyrl-rs" + // 0281a - 3443
+ "sr-cyrl-xk" + // 01000 - 3453
+ "sr-latn" + // 0701a - 3463
+ "sr-latn-ba" + // 0181a - 3470
+ "sr-latn-cs" + // 0081a - 3480
+ "sr-latn-me" + // 02c1a - 3490
+ "sr-latn-rs" + // 0241a - 3500
+ "sr-latn-xk" + // 01000 - 3510
+ "ss" + // 01000 - 3520
+ "ss-sz" + // 01000 - 3522
+ "ss-za" + // 01000 - 3527
+ "ssy" + // 01000 - 3532
+ "ssy-er" + // 01000 - 3535
+ "st" + // 00030 - 3541
+ "st-ls" + // 01000 - 3543
+ "st-za" + // 00430 - 3548
+ "sv" + // 0001d - 3553
+ "sv-ax" + // 01000 - 3555
+ "sv-fi" + // 0081d - 3560
+ "sv-se" + // 0041d - 3565
+ "sw" + // 00041 - 3570
+ "sw-cd" + // 01000 - 3572
+ "sw-ke" + // 00441 - 3577
+ "sw-tz" + // 01000 - 3582
+ "sw-ug" + // 01000 - 3587
+ "swc" + // 01000 - 3592
+ "swc-cd" + // 01000 - 3595
+ "syr" + // 0005a - 3601
+ "syr-sy" + // 0045a - 3604
+ "ta" + // 00049 - 3610
+ "ta-in" + // 00449 - 3612
+ "ta-lk" + // 00849 - 3617
+ "ta-my" + // 01000 - 3622
+ "ta-sg" + // 01000 - 3627
+ "te" + // 0004a - 3632
+ "te-in" + // 0044a - 3634
+ "teo" + // 01000 - 3639
+ "teo-ke" + // 01000 - 3642
+ "teo-ug" + // 01000 - 3648
+ "tg" + // 00028 - 3654
+ "tg-cyrl" + // 07c28 - 3656
+ "tg-cyrl-tj" + // 00428 - 3663
+ "th" + // 0001e - 3673
+ "th-th" + // 0041e - 3675
+ "ti" + // 00073 - 3680
+ "ti-er" + // 00873 - 3682
+ "ti-et" + // 00473 - 3687
+ "tig" + // 01000 - 3692
+ "tig-er" + // 01000 - 3695
+ "tk" + // 00042 - 3701
+ "tk-tm" + // 00442 - 3703
+ "tn" + // 00032 - 3708
+ "tn-bw" + // 00832 - 3710
+ "tn-za" + // 00432 - 3715
+ "to" + // 01000 - 3720
+ "to-to" + // 01000 - 3722
+ "tr" + // 0001f - 3727
+ "tr-cy" + // 01000 - 3729
+ "tr-tr" + // 0041f - 3734
+ "ts" + // 00031 - 3739
+ "ts-za" + // 00431 - 3741
+ "tt" + // 00044 - 3746
+ "tt-ru" + // 00444 - 3748
+ "twq" + // 01000 - 3753
+ "twq-ne" + // 01000 - 3756
+ "tzm" + // 0005f - 3762
+ "tzm-arab" + // 01000 - 3765
+ "tzm-arab-ma" + // 0045f - 3773
+ "tzm-latn" + // 07c5f - 3784
+ "tzm-latn-dz" + // 0085f - 3792
+ "tzm-latn-ma" + // 01000 - 3803
+ "tzm-tfng" + // 0785f - 3814
+ "tzm-tfng-ma" + // 0105f - 3822
+ "ug" + // 00080 - 3833
+ "ug-cn" + // 00480 - 3835
+ "uk" + // 00022 - 3840
+ "uk-ua" + // 00422 - 3842
+ "ur" + // 00020 - 3847
+ "ur-in" + // 00820 - 3849
+ "ur-pk" + // 00420 - 3854
+ "uz" + // 00043 - 3859
+ "uz-arab" + // 01000 - 3861
+ "uz-arab-af" + // 01000 - 3868
+ "uz-cyrl" + // 07843 - 3878
+ "uz-cyrl-uz" + // 00843 - 3885
+ "uz-latn" + // 07c43 - 3895
+ "uz-latn-uz" + // 00443 - 3902
+ "vai" + // 01000 - 3912
+ "vai-latn" + // 01000 - 3915
+ "vai-latn-lr" + // 01000 - 3923
+ "vai-vaii" + // 01000 - 3934
+ "vai-vaii-lr" + // 01000 - 3942
+ "ve" + // 00033 - 3953
+ "ve-za" + // 00433 - 3955
+ "vi" + // 0002a - 3960
+ "vi-vn" + // 0042a - 3962
+ "vo" + // 01000 - 3967
+ "vo-001" + // 01000 - 3969
+ "vun" + // 01000 - 3975
+ "vun-tz" + // 01000 - 3978
+ "wae" + // 01000 - 3984
+ "wae-ch" + // 01000 - 3987
+ "wal" + // 01000 - 3993
+ "wal-et" + // 01000 - 3996
+ "wo" + // 00088 - 4002
+ "wo-sn" + // 00488 - 4004
+ "x-iv_mathan" + // 1007f - 4009
+ "xh" + // 00034 - 4020
+ "xh-za" + // 00434 - 4022
+ "xog" + // 01000 - 4027
+ "xog-ug" + // 01000 - 4030
+ "yav" + // 01000 - 4036
+ "yav-cm" + // 01000 - 4039
+ "yi" + // 0003d - 4045
+ "yi-001" + // 0043d - 4047
+ "yo" + // 0006a - 4053
+ "yo-bj" + // 01000 - 4055
+ "yo-ng" + // 0046a - 4060
+ "yue" + // 01000 - 4065
+ "yue-hk" + // 01000 - 4068
+ "zgh" + // 01000 - 4074
+ "zgh-tfng" + // 01000 - 4077
+ "zgh-tfng-ma" + // 01000 - 4085
+ "zh" + // 07804 - 4096
+ "zh-chs" + // 00004 - 4098
+ "zh-cht" + // 07c04 - 4104
+ "zh-cn" + // 00804 - 4110
+ "zh-cn_phoneb" + // 50804 - 4115
+ "zh-cn_stroke" + // 20804 - 4127
+ "zh-hans" + // 00004 - 4139
+ "zh-hans-hk" + // 01000 - 4146
+ "zh-hans-mo" + // 01000 - 4156
+ "zh-hant" + // 07c04 - 4166
+ "zh-hk" + // 00c04 - 4173
+ "zh-hk_radstr" + // 40c04 - 4178
+ "zh-mo" + // 01404 - 4190
+ "zh-mo_radstr" + // 41404 - 4195
+ "zh-mo_stroke" + // 21404 - 4207
+ "zh-sg" + // 01004 - 4219
+ "zh-sg_phoneb" + // 51004 - 4224
+ "zh-sg_stroke" + // 21004 - 4236
+ "zh-tw" + // 00404 - 4248
+ "zh-tw_pronun" + // 30404 - 4253
+ "zh-tw_radstr" + // 40404 - 4265
+ "zu" + // 00035 - 4277
+ "zu-za"; // 00435 - 4279
+ // s_localeNamesIndices contains the start index of every culture name in the string
+ // s_localeNames. We infer the length of each string by looking at the start index
+ // of the next string.
+ private static readonly int[] s_localeNamesIndices = new int[]
+ {
+ // c_localeNames index, // index to this array - culture name
+ 0 , // 0 - aa
+ 2 , // 1 - aa-dj
+ 7 , // 2 - aa-er
+ 12 , // 3 - aa-et
+ 17 , // 4 - af
+ 19 , // 5 - af-na
+ 24 , // 6 - af-za
+ 29 , // 7 - agq
+ 32 , // 8 - agq-cm
+ 38 , // 9 - ak
+ 40 , // 10 - ak-gh
+ 45 , // 11 - am
+ 47 , // 12 - am-et
+ 52 , // 13 - ar
+ 54 , // 14 - ar-001
+ 60 , // 15 - ar-ae
+ 65 , // 16 - ar-bh
+ 70 , // 17 - ar-dj
+ 75 , // 18 - ar-dz
+ 80 , // 19 - ar-eg
+ 85 , // 20 - ar-er
+ 90 , // 21 - ar-il
+ 95 , // 22 - ar-iq
+ 100 , // 23 - ar-jo
+ 105 , // 24 - ar-km
+ 110 , // 25 - ar-kw
+ 115 , // 26 - ar-lb
+ 120 , // 27 - ar-ly
+ 125 , // 28 - ar-ma
+ 130 , // 29 - ar-mr
+ 135 , // 30 - ar-om
+ 140 , // 31 - ar-ps
+ 145 , // 32 - ar-qa
+ 150 , // 33 - ar-sa
+ 155 , // 34 - ar-sd
+ 160 , // 35 - ar-so
+ 165 , // 36 - ar-ss
+ 170 , // 37 - ar-sy
+ 175 , // 38 - ar-td
+ 180 , // 39 - ar-tn
+ 185 , // 40 - ar-ye
+ 190 , // 41 - arn
+ 193 , // 42 - arn-cl
+ 199 , // 43 - as
+ 201 , // 44 - as-in
+ 206 , // 45 - asa
+ 209 , // 46 - asa-tz
+ 215 , // 47 - ast
+ 218 , // 48 - ast-es
+ 224 , // 49 - az
+ 226 , // 50 - az-cyrl
+ 233 , // 51 - az-cyrl-az
+ 243 , // 52 - az-latn
+ 250 , // 53 - az-latn-az
+ 260 , // 54 - ba
+ 262 , // 55 - ba-ru
+ 267 , // 56 - bas
+ 270 , // 57 - bas-cm
+ 276 , // 58 - be
+ 278 , // 59 - be-by
+ 283 , // 60 - bem
+ 286 , // 61 - bem-zm
+ 292 , // 62 - bez
+ 295 , // 63 - bez-tz
+ 301 , // 64 - bg
+ 303 , // 65 - bg-bg
+ 308 , // 66 - bin
+ 311 , // 67 - bin-ng
+ 317 , // 68 - bm
+ 319 , // 69 - bm-latn
+ 326 , // 70 - bm-latn-ml
+ 336 , // 71 - bn
+ 338 , // 72 - bn-bd
+ 343 , // 73 - bn-in
+ 348 , // 74 - bo
+ 350 , // 75 - bo-cn
+ 355 , // 76 - bo-in
+ 360 , // 77 - br
+ 362 , // 78 - br-fr
+ 367 , // 79 - brx
+ 370 , // 80 - brx-in
+ 376 , // 81 - bs
+ 378 , // 82 - bs-cyrl
+ 385 , // 83 - bs-cyrl-ba
+ 395 , // 84 - bs-latn
+ 402 , // 85 - bs-latn-ba
+ 412 , // 86 - byn
+ 415 , // 87 - byn-er
+ 421 , // 88 - ca
+ 423 , // 89 - ca-ad
+ 428 , // 90 - ca-es
+ 433 , // 91 - ca-es-valencia
+ 447 , // 92 - ca-fr
+ 452 , // 93 - ca-it
+ 457 , // 94 - ce
+ 459 , // 95 - ce-ru
+ 464 , // 96 - cgg
+ 467 , // 97 - cgg-ug
+ 473 , // 98 - chr
+ 476 , // 99 - chr-cher
+ 484 , // 100 - chr-cher-us
+ 495 , // 101 - co
+ 497 , // 102 - co-fr
+ 502 , // 103 - cs
+ 504 , // 104 - cs-cz
+ 509 , // 105 - cu
+ 511 , // 106 - cu-ru
+ 516 , // 107 - cy
+ 518 , // 108 - cy-gb
+ 523 , // 109 - da
+ 525 , // 110 - da-dk
+ 530 , // 111 - da-gl
+ 535 , // 112 - dav
+ 538 , // 113 - dav-ke
+ 544 , // 114 - de
+ 546 , // 115 - de-at
+ 551 , // 116 - de-be
+ 556 , // 117 - de-ch
+ 561 , // 118 - de-de
+ 566 , // 119 - de-de_phoneb
+ 578 , // 120 - de-it
+ 583 , // 121 - de-li
+ 588 , // 122 - de-lu
+ 593 , // 123 - dje
+ 596 , // 124 - dje-ne
+ 602 , // 125 - dsb
+ 605 , // 126 - dsb-de
+ 611 , // 127 - dua
+ 614 , // 128 - dua-cm
+ 620 , // 129 - dv
+ 622 , // 130 - dv-mv
+ 627 , // 131 - dyo
+ 630 , // 132 - dyo-sn
+ 636 , // 133 - dz
+ 638 , // 134 - dz-bt
+ 643 , // 135 - ebu
+ 646 , // 136 - ebu-ke
+ 652 , // 137 - ee
+ 654 , // 138 - ee-gh
+ 659 , // 139 - ee-tg
+ 664 , // 140 - el
+ 666 , // 141 - el-cy
+ 671 , // 142 - el-gr
+ 676 , // 143 - en
+ 678 , // 144 - en-001
+ 684 , // 145 - en-029
+ 690 , // 146 - en-150
+ 696 , // 147 - en-ag
+ 701 , // 148 - en-ai
+ 706 , // 149 - en-as
+ 711 , // 150 - en-at
+ 716 , // 151 - en-au
+ 721 , // 152 - en-bb
+ 726 , // 153 - en-be
+ 731 , // 154 - en-bi
+ 736 , // 155 - en-bm
+ 741 , // 156 - en-bs
+ 746 , // 157 - en-bw
+ 751 , // 158 - en-bz
+ 756 , // 159 - en-ca
+ 761 , // 160 - en-cc
+ 766 , // 161 - en-ch
+ 771 , // 162 - en-ck
+ 776 , // 163 - en-cm
+ 781 , // 164 - en-cx
+ 786 , // 165 - en-cy
+ 791 , // 166 - en-de
+ 796 , // 167 - en-dk
+ 801 , // 168 - en-dm
+ 806 , // 169 - en-er
+ 811 , // 170 - en-fi
+ 816 , // 171 - en-fj
+ 821 , // 172 - en-fk
+ 826 , // 173 - en-fm
+ 831 , // 174 - en-gb
+ 836 , // 175 - en-gd
+ 841 , // 176 - en-gg
+ 846 , // 177 - en-gh
+ 851 , // 178 - en-gi
+ 856 , // 179 - en-gm
+ 861 , // 180 - en-gu
+ 866 , // 181 - en-gy
+ 871 , // 182 - en-hk
+ 876 , // 183 - en-id
+ 881 , // 184 - en-ie
+ 886 , // 185 - en-il
+ 891 , // 186 - en-im
+ 896 , // 187 - en-in
+ 901 , // 188 - en-io
+ 906 , // 189 - en-je
+ 911 , // 190 - en-jm
+ 916 , // 191 - en-ke
+ 921 , // 192 - en-ki
+ 926 , // 193 - en-kn
+ 931 , // 194 - en-ky
+ 936 , // 195 - en-lc
+ 941 , // 196 - en-lr
+ 946 , // 197 - en-ls
+ 951 , // 198 - en-mg
+ 956 , // 199 - en-mh
+ 961 , // 200 - en-mo
+ 966 , // 201 - en-mp
+ 971 , // 202 - en-ms
+ 976 , // 203 - en-mt
+ 981 , // 204 - en-mu
+ 986 , // 205 - en-mw
+ 991 , // 206 - en-my
+ 996 , // 207 - en-na
+ 1001, // 208 - en-nf
+ 1006, // 209 - en-ng
+ 1011, // 210 - en-nl
+ 1016, // 211 - en-nr
+ 1021, // 212 - en-nu
+ 1026, // 213 - en-nz
+ 1031, // 214 - en-pg
+ 1036, // 215 - en-ph
+ 1041, // 216 - en-pk
+ 1046, // 217 - en-pn
+ 1051, // 218 - en-pr
+ 1056, // 219 - en-pw
+ 1061, // 220 - en-rw
+ 1066, // 221 - en-sb
+ 1071, // 222 - en-sc
+ 1076, // 223 - en-sd
+ 1081, // 224 - en-se
+ 1086, // 225 - en-sg
+ 1091, // 226 - en-sh
+ 1096, // 227 - en-si
+ 1101, // 228 - en-sl
+ 1106, // 229 - en-ss
+ 1111, // 230 - en-sx
+ 1116, // 231 - en-sz
+ 1121, // 232 - en-tc
+ 1126, // 233 - en-tk
+ 1131, // 234 - en-to
+ 1136, // 235 - en-tt
+ 1141, // 236 - en-tv
+ 1146, // 237 - en-tz
+ 1151, // 238 - en-ug
+ 1156, // 239 - en-um
+ 1161, // 240 - en-us
+ 1166, // 241 - en-vc
+ 1171, // 242 - en-vg
+ 1176, // 243 - en-vi
+ 1181, // 244 - en-vu
+ 1186, // 245 - en-ws
+ 1191, // 246 - en-za
+ 1196, // 247 - en-zm
+ 1201, // 248 - en-zw
+ 1206, // 249 - eo
+ 1208, // 250 - eo-001
+ 1214, // 251 - es
+ 1216, // 252 - es-419
+ 1222, // 253 - es-ar
+ 1227, // 254 - es-bo
+ 1232, // 255 - es-br
+ 1237, // 256 - es-cl
+ 1242, // 257 - es-co
+ 1247, // 258 - es-cr
+ 1252, // 259 - es-cu
+ 1257, // 260 - es-do
+ 1262, // 261 - es-ec
+ 1267, // 262 - es-es
+ 1272, // 263 - es-es_tradnl
+ 1284, // 264 - es-gq
+ 1289, // 265 - es-gt
+ 1294, // 266 - es-hn
+ 1299, // 267 - es-mx
+ 1304, // 268 - es-ni
+ 1309, // 269 - es-pa
+ 1314, // 270 - es-pe
+ 1319, // 271 - es-ph
+ 1324, // 272 - es-pr
+ 1329, // 273 - es-py
+ 1334, // 274 - es-sv
+ 1339, // 275 - es-us
+ 1344, // 276 - es-uy
+ 1349, // 277 - es-ve
+ 1354, // 278 - et
+ 1356, // 279 - et-ee
+ 1361, // 280 - eu
+ 1363, // 281 - eu-es
+ 1368, // 282 - ewo
+ 1371, // 283 - ewo-cm
+ 1377, // 284 - fa
+ 1379, // 285 - fa-ir
+ 1384, // 286 - ff
+ 1386, // 287 - ff-cm
+ 1391, // 288 - ff-gn
+ 1396, // 289 - ff-latn
+ 1403, // 290 - ff-latn-sn
+ 1413, // 291 - ff-mr
+ 1418, // 292 - ff-ng
+ 1423, // 293 - fi
+ 1425, // 294 - fi-fi
+ 1430, // 295 - fil
+ 1433, // 296 - fil-ph
+ 1439, // 297 - fo
+ 1441, // 298 - fo-dk
+ 1446, // 299 - fo-fo
+ 1451, // 300 - fr
+ 1453, // 301 - fr-029
+ 1459, // 302 - fr-be
+ 1464, // 303 - fr-bf
+ 1469, // 304 - fr-bi
+ 1474, // 305 - fr-bj
+ 1479, // 306 - fr-bl
+ 1484, // 307 - fr-ca
+ 1489, // 308 - fr-cd
+ 1494, // 309 - fr-cf
+ 1499, // 310 - fr-cg
+ 1504, // 311 - fr-ch
+ 1509, // 312 - fr-ci
+ 1514, // 313 - fr-cm
+ 1519, // 314 - fr-dj
+ 1524, // 315 - fr-dz
+ 1529, // 316 - fr-fr
+ 1534, // 317 - fr-ga
+ 1539, // 318 - fr-gf
+ 1544, // 319 - fr-gn
+ 1549, // 320 - fr-gp
+ 1554, // 321 - fr-gq
+ 1559, // 322 - fr-ht
+ 1564, // 323 - fr-km
+ 1569, // 324 - fr-lu
+ 1574, // 325 - fr-ma
+ 1579, // 326 - fr-mc
+ 1584, // 327 - fr-mf
+ 1589, // 328 - fr-mg
+ 1594, // 329 - fr-ml
+ 1599, // 330 - fr-mq
+ 1604, // 331 - fr-mr
+ 1609, // 332 - fr-mu
+ 1614, // 333 - fr-nc
+ 1619, // 334 - fr-ne
+ 1624, // 335 - fr-pf
+ 1629, // 336 - fr-pm
+ 1634, // 337 - fr-re
+ 1639, // 338 - fr-rw
+ 1644, // 339 - fr-sc
+ 1649, // 340 - fr-sn
+ 1654, // 341 - fr-sy
+ 1659, // 342 - fr-td
+ 1664, // 343 - fr-tg
+ 1669, // 344 - fr-tn
+ 1674, // 345 - fr-vu
+ 1679, // 346 - fr-wf
+ 1684, // 347 - fr-yt
+ 1689, // 348 - fur
+ 1692, // 349 - fur-it
+ 1698, // 350 - fy
+ 1700, // 351 - fy-nl
+ 1705, // 352 - ga
+ 1707, // 353 - ga-ie
+ 1712, // 354 - gd
+ 1714, // 355 - gd-gb
+ 1719, // 356 - gl
+ 1721, // 357 - gl-es
+ 1726, // 358 - gn
+ 1728, // 359 - gn-py
+ 1733, // 360 - gsw
+ 1736, // 361 - gsw-ch
+ 1742, // 362 - gsw-fr
+ 1748, // 363 - gsw-li
+ 1754, // 364 - gu
+ 1756, // 365 - gu-in
+ 1761, // 366 - guz
+ 1764, // 367 - guz-ke
+ 1770, // 368 - gv
+ 1772, // 369 - gv-im
+ 1777, // 370 - ha
+ 1779, // 371 - ha-latn
+ 1786, // 372 - ha-latn-gh
+ 1796, // 373 - ha-latn-ne
+ 1806, // 374 - ha-latn-ng
+ 1816, // 375 - haw
+ 1819, // 376 - haw-us
+ 1825, // 377 - he
+ 1827, // 378 - he-il
+ 1832, // 379 - hi
+ 1834, // 380 - hi-in
+ 1839, // 381 - hr
+ 1841, // 382 - hr-ba
+ 1846, // 383 - hr-hr
+ 1851, // 384 - hsb
+ 1854, // 385 - hsb-de
+ 1860, // 386 - hu
+ 1862, // 387 - hu-hu
+ 1867, // 388 - hu-hu_technl
+ 1879, // 389 - hy
+ 1881, // 390 - hy-am
+ 1886, // 391 - ia
+ 1888, // 392 - ia-001
+ 1894, // 393 - ia-fr
+ 1899, // 394 - ibb
+ 1902, // 395 - ibb-ng
+ 1908, // 396 - id
+ 1910, // 397 - id-id
+ 1915, // 398 - ig
+ 1917, // 399 - ig-ng
+ 1922, // 400 - ii
+ 1924, // 401 - ii-cn
+ 1929, // 402 - is
+ 1931, // 403 - is-is
+ 1936, // 404 - it
+ 1938, // 405 - it-ch
+ 1943, // 406 - it-it
+ 1948, // 407 - it-sm
+ 1953, // 408 - iu
+ 1955, // 409 - iu-cans
+ 1962, // 410 - iu-cans-ca
+ 1972, // 411 - iu-latn
+ 1979, // 412 - iu-latn-ca
+ 1989, // 413 - ja
+ 1991, // 414 - ja-jp
+ 1996, // 415 - ja-jp_radstr
+ 2008, // 416 - jgo
+ 2011, // 417 - jgo-cm
+ 2017, // 418 - jmc
+ 2020, // 419 - jmc-tz
+ 2026, // 420 - jv
+ 2028, // 421 - jv-java
+ 2035, // 422 - jv-java-id
+ 2045, // 423 - jv-latn
+ 2052, // 424 - jv-latn-id
+ 2062, // 425 - ka
+ 2064, // 426 - ka-ge
+ 2069, // 427 - ka-ge_modern
+ 2081, // 428 - kab
+ 2084, // 429 - kab-dz
+ 2090, // 430 - kam
+ 2093, // 431 - kam-ke
+ 2099, // 432 - kde
+ 2102, // 433 - kde-tz
+ 2108, // 434 - kea
+ 2111, // 435 - kea-cv
+ 2117, // 436 - khq
+ 2120, // 437 - khq-ml
+ 2126, // 438 - ki
+ 2128, // 439 - ki-ke
+ 2133, // 440 - kk
+ 2135, // 441 - kk-kz
+ 2140, // 442 - kkj
+ 2143, // 443 - kkj-cm
+ 2149, // 444 - kl
+ 2151, // 445 - kl-gl
+ 2156, // 446 - kln
+ 2159, // 447 - kln-ke
+ 2165, // 448 - km
+ 2167, // 449 - km-kh
+ 2172, // 450 - kn
+ 2174, // 451 - kn-in
+ 2179, // 452 - ko
+ 2181, // 453 - ko-kp
+ 2186, // 454 - ko-kr
+ 2191, // 455 - kok
+ 2194, // 456 - kok-in
+ 2200, // 457 - kr
+ 2202, // 458 - kr-ng
+ 2207, // 459 - ks
+ 2209, // 460 - ks-arab
+ 2216, // 461 - ks-arab-in
+ 2226, // 462 - ks-deva
+ 2233, // 463 - ks-deva-in
+ 2243, // 464 - ksb
+ 2246, // 465 - ksb-tz
+ 2252, // 466 - ksf
+ 2255, // 467 - ksf-cm
+ 2261, // 468 - ksh
+ 2264, // 469 - ksh-de
+ 2270, // 470 - ku
+ 2272, // 471 - ku-arab
+ 2279, // 472 - ku-arab-iq
+ 2289, // 473 - ku-arab-ir
+ 2299, // 474 - kw
+ 2301, // 475 - kw-gb
+ 2306, // 476 - ky
+ 2308, // 477 - ky-kg
+ 2313, // 478 - la
+ 2315, // 479 - la-001
+ 2321, // 480 - lag
+ 2324, // 481 - lag-tz
+ 2330, // 482 - lb
+ 2332, // 483 - lb-lu
+ 2337, // 484 - lg
+ 2339, // 485 - lg-ug
+ 2344, // 486 - lkt
+ 2347, // 487 - lkt-us
+ 2353, // 488 - ln
+ 2355, // 489 - ln-ao
+ 2360, // 490 - ln-cd
+ 2365, // 491 - ln-cf
+ 2370, // 492 - ln-cg
+ 2375, // 493 - lo
+ 2377, // 494 - lo-la
+ 2382, // 495 - lrc
+ 2385, // 496 - lrc-iq
+ 2391, // 497 - lrc-ir
+ 2397, // 498 - lt
+ 2399, // 499 - lt-lt
+ 2404, // 500 - lu
+ 2406, // 501 - lu-cd
+ 2411, // 502 - luo
+ 2414, // 503 - luo-ke
+ 2420, // 504 - luy
+ 2423, // 505 - luy-ke
+ 2429, // 506 - lv
+ 2431, // 507 - lv-lv
+ 2436, // 508 - mas
+ 2439, // 509 - mas-ke
+ 2445, // 510 - mas-tz
+ 2451, // 511 - mer
+ 2454, // 512 - mer-ke
+ 2460, // 513 - mfe
+ 2463, // 514 - mfe-mu
+ 2469, // 515 - mg
+ 2471, // 516 - mg-mg
+ 2476, // 517 - mgh
+ 2479, // 518 - mgh-mz
+ 2485, // 519 - mgo
+ 2488, // 520 - mgo-cm
+ 2494, // 521 - mi
+ 2496, // 522 - mi-nz
+ 2501, // 523 - mk
+ 2503, // 524 - mk-mk
+ 2508, // 525 - ml
+ 2510, // 526 - ml-in
+ 2515, // 527 - mn
+ 2517, // 528 - mn-cyrl
+ 2524, // 529 - mn-mn
+ 2529, // 530 - mn-mong
+ 2536, // 531 - mn-mong-cn
+ 2546, // 532 - mn-mong-mn
+ 2556, // 533 - mni
+ 2559, // 534 - mni-in
+ 2565, // 535 - moh
+ 2568, // 536 - moh-ca
+ 2574, // 537 - mr
+ 2576, // 538 - mr-in
+ 2581, // 539 - ms
+ 2583, // 540 - ms-bn
+ 2588, // 541 - ms-my
+ 2593, // 542 - ms-sg
+ 2598, // 543 - mt
+ 2600, // 544 - mt-mt
+ 2605, // 545 - mua
+ 2608, // 546 - mua-cm
+ 2614, // 547 - my
+ 2616, // 548 - my-mm
+ 2621, // 549 - mzn
+ 2624, // 550 - mzn-ir
+ 2630, // 551 - naq
+ 2633, // 552 - naq-na
+ 2639, // 553 - nb
+ 2641, // 554 - nb-no
+ 2646, // 555 - nb-sj
+ 2651, // 556 - nd
+ 2653, // 557 - nd-zw
+ 2658, // 558 - nds
+ 2661, // 559 - nds-de
+ 2667, // 560 - nds-nl
+ 2673, // 561 - ne
+ 2675, // 562 - ne-in
+ 2680, // 563 - ne-np
+ 2685, // 564 - nl
+ 2687, // 565 - nl-aw
+ 2692, // 566 - nl-be
+ 2697, // 567 - nl-bq
+ 2702, // 568 - nl-cw
+ 2707, // 569 - nl-nl
+ 2712, // 570 - nl-sr
+ 2717, // 571 - nl-sx
+ 2722, // 572 - nmg
+ 2725, // 573 - nmg-cm
+ 2731, // 574 - nn
+ 2733, // 575 - nn-no
+ 2738, // 576 - nnh
+ 2741, // 577 - nnh-cm
+ 2747, // 578 - no
+ 2749, // 579 - nqo
+ 2752, // 580 - nqo-gn
+ 2758, // 581 - nr
+ 2760, // 582 - nr-za
+ 2765, // 583 - nso
+ 2768, // 584 - nso-za
+ 2774, // 585 - nus
+ 2777, // 586 - nus-ss
+ 2783, // 587 - nyn
+ 2786, // 588 - nyn-ug
+ 2792, // 589 - oc
+ 2794, // 590 - oc-fr
+ 2799, // 591 - om
+ 2801, // 592 - om-et
+ 2806, // 593 - om-ke
+ 2811, // 594 - or
+ 2813, // 595 - or-in
+ 2818, // 596 - os
+ 2820, // 597 - os-ge
+ 2825, // 598 - os-ru
+ 2830, // 599 - pa
+ 2832, // 600 - pa-arab
+ 2839, // 601 - pa-arab-pk
+ 2849, // 602 - pa-in
+ 2854, // 603 - pap
+ 2857, // 604 - pap-029
+ 2864, // 605 - pl
+ 2866, // 606 - pl-pl
+ 2871, // 607 - prg
+ 2874, // 608 - prg-001
+ 2881, // 609 - prs
+ 2884, // 610 - prs-af
+ 2890, // 611 - ps
+ 2892, // 612 - ps-af
+ 2897, // 613 - pt
+ 2899, // 614 - pt-ao
+ 2904, // 615 - pt-br
+ 2909, // 616 - pt-ch
+ 2914, // 617 - pt-cv
+ 2919, // 618 - pt-gq
+ 2924, // 619 - pt-gw
+ 2929, // 620 - pt-lu
+ 2934, // 621 - pt-mo
+ 2939, // 622 - pt-mz
+ 2944, // 623 - pt-pt
+ 2949, // 624 - pt-st
+ 2954, // 625 - pt-tl
+ 2959, // 626 - qps-latn-x-sh
+ 2972, // 627 - qps-ploc
+ 2980, // 628 - qps-ploca
+ 2989, // 629 - qps-plocm
+ 2998, // 630 - quc
+ 3001, // 631 - quc-latn
+ 3009, // 632 - quc-latn-gt
+ 3020, // 633 - quz
+ 3023, // 634 - quz-bo
+ 3029, // 635 - quz-ec
+ 3035, // 636 - quz-pe
+ 3041, // 637 - rm
+ 3043, // 638 - rm-ch
+ 3048, // 639 - rn
+ 3050, // 640 - rn-bi
+ 3055, // 641 - ro
+ 3057, // 642 - ro-md
+ 3062, // 643 - ro-ro
+ 3067, // 644 - rof
+ 3070, // 645 - rof-tz
+ 3076, // 646 - ru
+ 3078, // 647 - ru-by
+ 3083, // 648 - ru-kg
+ 3088, // 649 - ru-kz
+ 3093, // 650 - ru-md
+ 3098, // 651 - ru-ru
+ 3103, // 652 - ru-ua
+ 3108, // 653 - rw
+ 3110, // 654 - rw-rw
+ 3115, // 655 - rwk
+ 3118, // 656 - rwk-tz
+ 3124, // 657 - sa
+ 3126, // 658 - sa-in
+ 3131, // 659 - sah
+ 3134, // 660 - sah-ru
+ 3140, // 661 - saq
+ 3143, // 662 - saq-ke
+ 3149, // 663 - sbp
+ 3152, // 664 - sbp-tz
+ 3158, // 665 - sd
+ 3160, // 666 - sd-arab
+ 3167, // 667 - sd-arab-pk
+ 3177, // 668 - sd-deva
+ 3184, // 669 - sd-deva-in
+ 3194, // 670 - se
+ 3196, // 671 - se-fi
+ 3201, // 672 - se-no
+ 3206, // 673 - se-se
+ 3211, // 674 - seh
+ 3214, // 675 - seh-mz
+ 3220, // 676 - ses
+ 3223, // 677 - ses-ml
+ 3229, // 678 - sg
+ 3231, // 679 - sg-cf
+ 3236, // 680 - shi
+ 3239, // 681 - shi-latn
+ 3247, // 682 - shi-latn-ma
+ 3258, // 683 - shi-tfng
+ 3266, // 684 - shi-tfng-ma
+ 3277, // 685 - si
+ 3279, // 686 - si-lk
+ 3284, // 687 - sk
+ 3286, // 688 - sk-sk
+ 3291, // 689 - sl
+ 3293, // 690 - sl-si
+ 3298, // 691 - sma
+ 3301, // 692 - sma-no
+ 3307, // 693 - sma-se
+ 3313, // 694 - smj
+ 3316, // 695 - smj-no
+ 3322, // 696 - smj-se
+ 3328, // 697 - smn
+ 3331, // 698 - smn-fi
+ 3337, // 699 - sms
+ 3340, // 700 - sms-fi
+ 3346, // 701 - sn
+ 3348, // 702 - sn-latn
+ 3355, // 703 - sn-latn-zw
+ 3365, // 704 - so
+ 3367, // 705 - so-dj
+ 3372, // 706 - so-et
+ 3377, // 707 - so-ke
+ 3382, // 708 - so-so
+ 3387, // 709 - sq
+ 3389, // 710 - sq-al
+ 3394, // 711 - sq-mk
+ 3399, // 712 - sq-xk
+ 3404, // 713 - sr
+ 3406, // 714 - sr-cyrl
+ 3413, // 715 - sr-cyrl-ba
+ 3423, // 716 - sr-cyrl-cs
+ 3433, // 717 - sr-cyrl-me
+ 3443, // 718 - sr-cyrl-rs
+ 3453, // 719 - sr-cyrl-xk
+ 3463, // 720 - sr-latn
+ 3470, // 721 - sr-latn-ba
+ 3480, // 722 - sr-latn-cs
+ 3490, // 723 - sr-latn-me
+ 3500, // 724 - sr-latn-rs
+ 3510, // 725 - sr-latn-xk
+ 3520, // 726 - ss
+ 3522, // 727 - ss-sz
+ 3527, // 728 - ss-za
+ 3532, // 729 - ssy
+ 3535, // 730 - ssy-er
+ 3541, // 731 - st
+ 3543, // 732 - st-ls
+ 3548, // 733 - st-za
+ 3553, // 734 - sv
+ 3555, // 735 - sv-ax
+ 3560, // 736 - sv-fi
+ 3565, // 737 - sv-se
+ 3570, // 738 - sw
+ 3572, // 739 - sw-cd
+ 3577, // 740 - sw-ke
+ 3582, // 741 - sw-tz
+ 3587, // 742 - sw-ug
+ 3592, // 743 - swc
+ 3595, // 744 - swc-cd
+ 3601, // 745 - syr
+ 3604, // 746 - syr-sy
+ 3610, // 747 - ta
+ 3612, // 748 - ta-in
+ 3617, // 749 - ta-lk
+ 3622, // 750 - ta-my
+ 3627, // 751 - ta-sg
+ 3632, // 752 - te
+ 3634, // 753 - te-in
+ 3639, // 754 - teo
+ 3642, // 755 - teo-ke
+ 3648, // 756 - teo-ug
+ 3654, // 757 - tg
+ 3656, // 758 - tg-cyrl
+ 3663, // 759 - tg-cyrl-tj
+ 3673, // 760 - th
+ 3675, // 761 - th-th
+ 3680, // 762 - ti
+ 3682, // 763 - ti-er
+ 3687, // 764 - ti-et
+ 3692, // 765 - tig
+ 3695, // 766 - tig-er
+ 3701, // 767 - tk
+ 3703, // 768 - tk-tm
+ 3708, // 769 - tn
+ 3710, // 770 - tn-bw
+ 3715, // 771 - tn-za
+ 3720, // 772 - to
+ 3722, // 773 - to-to
+ 3727, // 774 - tr
+ 3729, // 775 - tr-cy
+ 3734, // 776 - tr-tr
+ 3739, // 777 - ts
+ 3741, // 778 - ts-za
+ 3746, // 779 - tt
+ 3748, // 780 - tt-ru
+ 3753, // 781 - twq
+ 3756, // 782 - twq-ne
+ 3762, // 783 - tzm
+ 3765, // 784 - tzm-arab
+ 3773, // 785 - tzm-arab-ma
+ 3784, // 786 - tzm-latn
+ 3792, // 787 - tzm-latn-dz
+ 3803, // 788 - tzm-latn-ma
+ 3814, // 789 - tzm-tfng
+ 3822, // 790 - tzm-tfng-ma
+ 3833, // 791 - ug
+ 3835, // 792 - ug-cn
+ 3840, // 793 - uk
+ 3842, // 794 - uk-ua
+ 3847, // 795 - ur
+ 3849, // 796 - ur-in
+ 3854, // 797 - ur-pk
+ 3859, // 798 - uz
+ 3861, // 799 - uz-arab
+ 3868, // 800 - uz-arab-af
+ 3878, // 801 - uz-cyrl
+ 3885, // 802 - uz-cyrl-uz
+ 3895, // 803 - uz-latn
+ 3902, // 804 - uz-latn-uz
+ 3912, // 805 - vai
+ 3915, // 806 - vai-latn
+ 3923, // 807 - vai-latn-lr
+ 3934, // 808 - vai-vaii
+ 3942, // 809 - vai-vaii-lr
+ 3953, // 810 - ve
+ 3955, // 811 - ve-za
+ 3960, // 812 - vi
+ 3962, // 813 - vi-vn
+ 3967, // 814 - vo
+ 3969, // 815 - vo-001
+ 3975, // 816 - vun
+ 3978, // 817 - vun-tz
+ 3984, // 818 - wae
+ 3987, // 819 - wae-ch
+ 3993, // 820 - wal
+ 3996, // 821 - wal-et
+ 4002, // 822 - wo
+ 4004, // 823 - wo-sn
+ 4009, // 824 - x-iv_mathan
+ 4020, // 825 - xh
+ 4022, // 826 - xh-za
+ 4027, // 827 - xog
+ 4030, // 828 - xog-ug
+ 4036, // 829 - yav
+ 4039, // 830 - yav-cm
+ 4045, // 831 - yi
+ 4047, // 832 - yi-001
+ 4053, // 833 - yo
+ 4055, // 834 - yo-bj
+ 4060, // 835 - yo-ng
+ 4065, // 836 - yue
+ 4068, // 837 - yue-hk
+ 4074, // 838 - zgh
+ 4077, // 839 - zgh-tfng
+ 4085, // 840 - zgh-tfng-ma
+ 4096, // 841 - zh
+ 4098, // 842 - zh-chs
+ 4104, // 843 - zh-cht
+ 4110, // 844 - zh-cn
+ 4115, // 845 - zh-cn_phoneb
+ 4127, // 846 - zh-cn_stroke
+ 4139, // 847 - zh-hans
+ 4146, // 848 - zh-hans-hk
+ 4156, // 849 - zh-hans-mo
+ 4166, // 850 - zh-hant
+ 4173, // 851 - zh-hk
+ 4178, // 852 - zh-hk_radstr
+ 4190, // 853 - zh-mo
+ 4195, // 854 - zh-mo_radstr
+ 4207, // 855 - zh-mo_stroke
+ 4219, // 856 - zh-sg
+ 4224, // 857 - zh-sg_phoneb
+ 4236, // 858 - zh-sg_stroke
+ 4248, // 859 - zh-tw
+ 4253, // 860 - zh-tw_pronun
+ 4265, // 861 - zh-tw_radstr
+ 4277, // 862 - zu
+ 4279, // 863 - zu-za
+ 4284
+ };
+
+ private const int NUMERIC_LOCALE_DATA_COUNT_PER_ROW = 6;
+ // s_nameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data:
+ // Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id
+ private static readonly int[] s_nameIndexToNumericData = new int[]
+ {
+ // Lcid, Ansi cp, Oem CP, MAC CP, Ebcdi CP, Geo Id, // index - locale name
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 0 - aa
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3e , // 1 - aa-dj
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 2 - aa-er
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 3 - aa-et
+ 0x36 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 4 - af
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe , // 5 - af-na
+ 0x436 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 6 - af-za
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 7 - agq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 8 - agq-cm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x59 , // 9 - ak
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x59 , // 10 - ak-gh
+ 0x5e , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 11 - am
+ 0x45e , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 12 - am-et
+ 0x1 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd , // 13 - ar
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x989e, // 14 - ar-001
+ 0x3801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xe0 , // 15 - ar-ae
+ 0x3c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x11 , // 16 - ar-bh
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3e , // 17 - ar-dj
+ 0x1401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x4 , // 18 - ar-dz
+ 0xc01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x43 , // 19 - ar-eg
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x47 , // 20 - ar-er
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x75 , // 21 - ar-il
+ 0x801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79 , // 22 - ar-iq
+ 0x2c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x7e , // 23 - ar-jo
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x32 , // 24 - ar-km
+ 0x3401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x88 , // 25 - ar-kw
+ 0x3001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x8b , // 26 - ar-lb
+ 0x1001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x94 , // 27 - ar-ly
+ 0x1801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f , // 28 - ar-ma
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa2 , // 29 - ar-mr
+ 0x2001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa4 , // 30 - ar-om
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xb8 , // 31 - ar-ps
+ 0x4001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xc5 , // 32 - ar-qa
+ 0x401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd , // 33 - ar-sa
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xdb , // 34 - ar-sd
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xd8 , // 35 - ar-so
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x114 , // 36 - ar-ss
+ 0x2801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xde , // 37 - ar-sy
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x29 , // 38 - ar-td
+ 0x1c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xea , // 39 - ar-tn
+ 0x2401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x105 , // 40 - ar-ye
+ 0x7a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e , // 41 - arn
+ 0x47a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e , // 42 - arn-cl
+ 0x4d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 43 - as
+ 0x44d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 44 - as-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 45 - asa
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 46 - asa-tz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd9 , // 47 - ast
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd9 , // 48 - ast-es
+ 0x2c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5 , // 49 - az
+ 0x742c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5 , // 50 - az-cyrl
+ 0x82c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5 , // 51 - az-cyrl-az
+ 0x782c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5 , // 52 - az-latn
+ 0x42c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5 , // 53 - az-latn-az
+ 0x6d , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 54 - ba
+ 0x46d , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 55 - ba-ru
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 56 - bas
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 57 - bas-cm
+ 0x23 , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d , // 58 - be
+ 0x423 , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d , // 59 - be-by
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x107 , // 60 - bem
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x107 , // 61 - bem-zm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 62 - bez
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 63 - bez-tz
+ 0x2 , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23 , // 64 - bg
+ 0x402 , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23 , // 65 - bg-bg
+ 0x66 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 66 - bin
+ 0x466 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 67 - bin-ng
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 68 - bm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 69 - bm-latn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 70 - bm-latn-ml
+ 0x45 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x17 , // 71 - bn
+ 0x845 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x17 , // 72 - bn-bd
+ 0x445 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 73 - bn-in
+ 0x51 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 74 - bo
+ 0x451 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 75 - bo-cn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 76 - bo-in
+ 0x7e , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 77 - br
+ 0x47e , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 78 - br-fr
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 79 - brx
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 80 - brx-in
+ 0x781a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19 , // 81 - bs
+ 0x641a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19 , // 82 - bs-cyrl
+ 0x201a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19 , // 83 - bs-cyrl-ba
+ 0x681a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19 , // 84 - bs-latn
+ 0x141a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19 , // 85 - bs-latn-ba
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 86 - byn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 87 - byn-er
+ 0x3 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9 , // 88 - ca
+ 0x1000 , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0x8 , // 89 - ca-ad
+ 0x403 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9 , // 90 - ca-es
+ 0x803 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9 , // 91 - ca-es-valencia
+ 0x1000 , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0x54 , // 92 - ca-fr
+ 0x1000 , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0x76 , // 93 - ca-it
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xcb , // 94 - ce
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xcb , // 95 - ce-ru
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 96 - cgg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 97 - cgg-ug
+ 0x5c , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf4 , // 98 - chr
+ 0x7c5c , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf4 , // 99 - chr-cher
+ 0x45c , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf4 , // 100 - chr-cher-us
+ 0x83 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 101 - co
+ 0x483 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 102 - co-fr
+ 0x5 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b , // 103 - cs
+ 0x405 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b , // 104 - cs-cz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xcb , // 105 - cu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xcb , // 106 - cu-ru
+ 0x52 , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2 , // 107 - cy
+ 0x452 , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2 , // 108 - cy-gb
+ 0x6 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d , // 109 - da
+ 0x406 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d , // 110 - da-dk
+ 0x1000 , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0x5d , // 111 - da-gl
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 112 - dav
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 113 - dav-ke
+ 0x7 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e , // 114 - de
+ 0xc07 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xe , // 115 - de-at
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x15 , // 116 - de-be
+ 0x807 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf , // 117 - de-ch
+ 0x407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e , // 118 - de-de
+ 0x10407, 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e , // 119 - de-de_phoneb
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x76 , // 120 - de-it
+ 0x1407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x91 , // 121 - de-li
+ 0x1007 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x93 , // 122 - de-lu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xad , // 123 - dje
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xad , // 124 - dje-ne
+ 0x7c2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e , // 125 - dsb
+ 0x82e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e , // 126 - dsb-de
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 127 - dua
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 128 - dua-cm
+ 0x65 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa5 , // 129 - dv
+ 0x465 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa5 , // 130 - dv-mv
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd2 , // 131 - dyo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd2 , // 132 - dyo-sn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x22 , // 133 - dz
+ 0xc51 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x22 , // 134 - dz-bt
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 135 - ebu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 136 - ebu-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x59 , // 137 - ee
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x59 , // 138 - ee-gh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xe8 , // 139 - ee-tg
+ 0x8 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62 , // 140 - el
+ 0x1000 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x3b , // 141 - el-cy
+ 0x408 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62 , // 142 - el-gr
+ 0x9 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xf4 , // 143 - en
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x989e, // 144 - en-001
+ 0x2409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, // 145 - en-029
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x292d, // 146 - en-150
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x2 , // 147 - en-ag
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12c , // 148 - en-ai
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa , // 149 - en-as
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xe , // 150 - en-at
+ 0xc09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc , // 151 - en-au
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12 , // 152 - en-bb
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15 , // 153 - en-be
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x26 , // 154 - en-bi
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14 , // 155 - en-bm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x16 , // 156 - en-bs
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13 , // 157 - en-bw
+ 0x2809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x18 , // 158 - en-bz
+ 0x1009 , 0x4e4 , 0x352 , 0x2710, 0x25 , 0x27 , // 159 - en-ca
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x137 , // 160 - en-cc
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xdf , // 161 - en-ch
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x138 , // 162 - en-ck
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x31 , // 163 - en-cm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x135 , // 164 - en-cx
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3b , // 165 - en-cy
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x5e , // 166 - en-de
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3d , // 167 - en-dk
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3f , // 168 - en-dm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x47 , // 169 - en-er
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x4d , // 170 - en-fi
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x4e , // 171 - en-fj
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13b , // 172 - en-fk
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x50 , // 173 - en-fm
+ 0x809 , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2 , // 174 - en-gb
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5b , // 175 - en-gd
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x144 , // 176 - en-gg
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x59 , // 177 - en-gh
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5a , // 178 - en-gi
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x56 , // 179 - en-gm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x142 , // 180 - en-gu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x65 , // 181 - en-gy
+ 0x3c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x68 , // 182 - en-hk
+ 0x3809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 183 - en-id
+ 0x1809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44 , // 184 - en-ie
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x75 , // 185 - en-il
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3b16, // 186 - en-im
+ 0x4009 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x71 , // 187 - en-in
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x72 , // 188 - en-io
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x148 , // 189 - en-je
+ 0x2009 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c , // 190 - en-jm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x81 , // 191 - en-ke
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x85 , // 192 - en-ki
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcf , // 193 - en-kn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x133 , // 194 - en-ky
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xda , // 195 - en-lc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x8e , // 196 - en-lr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x92 , // 197 - en-ls
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x95 , // 198 - en-mg
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc7 , // 199 - en-mh
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97 , // 200 - en-mo
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x151 , // 201 - en-mp
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14c , // 202 - en-ms
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa3 , // 203 - en-mt
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa0 , // 204 - en-mu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9c , // 205 - en-mw
+ 0x4409 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xa7 , // 206 - en-my
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe , // 207 - en-na
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x150 , // 208 - en-nf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 209 - en-ng
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb0 , // 210 - en-nl
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb4 , // 211 - en-nr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14f , // 212 - en-nu
+ 0x1409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb7 , // 213 - en-nz
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc2 , // 214 - en-pg
+ 0x3409 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9 , // 215 - en-ph
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xbe , // 216 - en-pk
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x153 , // 217 - en-pn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xca , // 218 - en-pr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc3 , // 219 - en-pw
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcc , // 220 - en-rw
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x1e , // 221 - en-sb
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd0 , // 222 - en-sc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdb , // 223 - en-sd
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xdd , // 224 - en-se
+ 0x4809 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xd7 , // 225 - en-sg
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x157 , // 226 - en-sh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd4 , // 227 - en-si
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd5 , // 228 - en-sl
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x114 , // 229 - en-ss
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, // 230 - en-sx
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x104 , // 231 - en-sz
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15d , // 232 - en-tc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15b , // 233 - en-tk
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe7 , // 234 - en-to
+ 0x2c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe1 , // 235 - en-tt
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xec , // 236 - en-tv
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xef , // 237 - en-tz
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf0 , // 238 - en-ug
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d40, // 239 - en-um
+ 0x409 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xf4 , // 240 - en-us
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf8 , // 241 - en-vc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15f , // 242 - en-vg
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfc , // 243 - en-vi
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xae , // 244 - en-vu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x103 , // 245 - en-ws
+ 0x1c09 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xd1 , // 246 - en-za
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x107 , // 247 - en-zm
+ 0x3009 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x108 , // 248 - en-zw
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 249 - eo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 250 - eo-001
+ 0xa , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9 , // 251 - es
+ 0x580a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x9a55d41, // 252 - es-419
+ 0x2c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb , // 253 - es-ar
+ 0x400a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a , // 254 - es-bo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x20 , // 255 - es-br
+ 0x340a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e , // 256 - es-cl
+ 0x240a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x33 , // 257 - es-co
+ 0x140a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x36 , // 258 - es-cr
+ 0x5c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x38 , // 259 - es-cu
+ 0x1c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x41 , // 260 - es-do
+ 0x300a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42 , // 261 - es-ec
+ 0xc0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9 , // 262 - es-es
+ 0x40a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9 , // 263 - es-es_tradnl
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x45 , // 264 - es-gq
+ 0x100a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63 , // 265 - es-gt
+ 0x480a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x6a , // 266 - es-hn
+ 0x80a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xa6 , // 267 - es-mx
+ 0x4c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb6 , // 268 - es-ni
+ 0x180a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc0 , // 269 - es-pa
+ 0x280a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb , // 270 - es-pe
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc9 , // 271 - es-ph
+ 0x500a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xca , // 272 - es-pr
+ 0x3c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9 , // 273 - es-py
+ 0x440a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x48 , // 274 - es-sv
+ 0x540a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf4 , // 275 - es-us
+ 0x380a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf6 , // 276 - es-uy
+ 0x200a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf9 , // 277 - es-ve
+ 0x25 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46 , // 278 - et
+ 0x425 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46 , // 279 - et-ee
+ 0x2d , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0xd9 , // 280 - eu
+ 0x42d , 0x4e4 , 0x352 , 0x2 , 0x1f4 , 0xd9 , // 281 - eu-es
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 282 - ewo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 283 - ewo-cm
+ 0x29 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74 , // 284 - fa
+ 0x429 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74 , // 285 - fa-ir
+ 0x67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 286 - ff
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31 , // 287 - ff-cm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64 , // 288 - ff-gn
+ 0x7c67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 289 - ff-latn
+ 0x867 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 290 - ff-latn-sn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2 , // 291 - ff-mr
+ 0x467 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xaf , // 292 - ff-ng
+ 0xb , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 293 - fi
+ 0x40b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 294 - fi-fi
+ 0x64 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9 , // 295 - fil
+ 0x464 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9 , // 296 - fil-ph
+ 0x38 , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51 , // 297 - fo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3d , // 298 - fo-dk
+ 0x438 , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51 , // 299 - fo-fo
+ 0xc , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 300 - fr
+ 0x1c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x993248, // 301 - fr-029
+ 0x80c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x15 , // 302 - fr-be
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xf5 , // 303 - fr-bf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x26 , // 304 - fr-bi
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x1c , // 305 - fr-bj
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9a55c4f, // 306 - fr-bl
+ 0xc0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x27 , // 307 - fr-ca
+ 0x240c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2c , // 308 - fr-cd
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x37 , // 309 - fr-cf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2b , // 310 - fr-cg
+ 0x100c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf , // 311 - fr-ch
+ 0x300c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x77 , // 312 - fr-ci
+ 0x2c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31 , // 313 - fr-cm
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x3e , // 314 - fr-dj
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4 , // 315 - fr-dz
+ 0x40c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 316 - fr-fr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x57 , // 317 - fr-ga
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13d , // 318 - fr-gf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64 , // 319 - fr-gn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x141 , // 320 - fr-gp
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x45 , // 321 - fr-gq
+ 0x3c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x67 , // 322 - fr-ht
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x32 , // 323 - fr-km
+ 0x140c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93 , // 324 - fr-lu
+ 0x380c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9f , // 325 - fr-ma
+ 0x180c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9e , // 326 - fr-mc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x7bda, // 327 - fr-mf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x95 , // 328 - fr-mg
+ 0x340c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9d , // 329 - fr-ml
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14a , // 330 - fr-mq
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2 , // 331 - fr-mr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa0 , // 332 - fr-mu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14e , // 333 - fr-nc
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xad , // 334 - fr-ne
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13e , // 335 - fr-pf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xce , // 336 - fr-pm
+ 0x200c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xc6 , // 337 - fr-re
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xcc , // 338 - fr-rw
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd0 , // 339 - fr-sc
+ 0x280c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 340 - fr-sn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xde , // 341 - fr-sy
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x29 , // 342 - fr-td
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xe8 , // 343 - fr-tg
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xea , // 344 - fr-tn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xae , // 345 - fr-vu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x160 , // 346 - fr-wf
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14b , // 347 - fr-yt
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x76 , // 348 - fur
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x76 , // 349 - fur-it
+ 0x62 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0 , // 350 - fy
+ 0x462 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0 , // 351 - fy-nl
+ 0x3c , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44 , // 352 - ga
+ 0x83c , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44 , // 353 - ga-ie
+ 0x91 , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2 , // 354 - gd
+ 0x491 , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2 , // 355 - gd-gb
+ 0x56 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9 , // 356 - gl
+ 0x456 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9 , // 357 - gl-es
+ 0x74 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9 , // 358 - gn
+ 0x474 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9 , // 359 - gn-py
+ 0x84 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf , // 360 - gsw
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf , // 361 - gsw-ch
+ 0x484 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 362 - gsw-fr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x91 , // 363 - gsw-li
+ 0x47 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 364 - gu
+ 0x447 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 365 - gu-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 366 - guz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 367 - guz-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3b16, // 368 - gv
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3b16, // 369 - gv-im
+ 0x68 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 370 - ha
+ 0x7c68 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 371 - ha-latn
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x59 , // 372 - ha-latn-gh
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xad , // 373 - ha-latn-ne
+ 0x468 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 374 - ha-latn-ng
+ 0x75 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xf4 , // 375 - haw
+ 0x475 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xf4 , // 376 - haw-us
+ 0xd , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75 , // 377 - he
+ 0x40d , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75 , // 378 - he-il
+ 0x39 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 379 - hi
+ 0x439 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 380 - hi-in
+ 0x1a , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c , // 381 - hr
+ 0x101a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19 , // 382 - hr-ba
+ 0x41a , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c , // 383 - hr-hr
+ 0x2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e , // 384 - hsb
+ 0x42e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e , // 385 - hsb-de
+ 0xe , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d , // 386 - hu
+ 0x40e , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d , // 387 - hu-hu
+ 0x1040e, 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d , // 388 - hu-hu_technl
+ 0x2b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x7 , // 389 - hy
+ 0x42b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x7 , // 390 - hy-am
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x54 , // 391 - ia
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 392 - ia-001
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x54 , // 393 - ia-fr
+ 0x69 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 394 - ibb
+ 0x469 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 395 - ibb-ng
+ 0x21 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 396 - id
+ 0x421 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 397 - id-id
+ 0x70 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 398 - ig
+ 0x470 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 399 - ig-ng
+ 0x78 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 400 - ii
+ 0x478 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 401 - ii-cn
+ 0xf , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e , // 402 - is
+ 0x40f , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e , // 403 - is-is
+ 0x10 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76 , // 404 - it
+ 0x810 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdf , // 405 - it-ch
+ 0x410 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76 , // 406 - it-it
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0xd6 , // 407 - it-sm
+ 0x5d , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x27 , // 408 - iu
+ 0x785d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x27 , // 409 - iu-cans
+ 0x45d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x27 , // 410 - iu-cans-ca
+ 0x7c5d , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x27 , // 411 - iu-latn
+ 0x85d , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x27 , // 412 - iu-latn-ca
+ 0x11 , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a , // 413 - ja
+ 0x411 , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a , // 414 - ja-jp
+ 0x40411, 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a , // 415 - ja-jp_radstr
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 416 - jgo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 417 - jgo-cm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 418 - jmc
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 419 - jmc-tz
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 420 - jv
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 421 - jv-java
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 422 - jv-java-id
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 423 - jv-latn
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f , // 424 - jv-latn-id
+ 0x37 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x58 , // 425 - ka
+ 0x437 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x58 , // 426 - ka-ge
+ 0x10437, 0x0 , 0x1 , 0x2 , 0x1f4 , 0x58 , // 427 - ka-ge_modern
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x4 , // 428 - kab
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x4 , // 429 - kab-dz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 430 - kam
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 431 - kam-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 432 - kde
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 433 - kde-tz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x39 , // 434 - kea
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x39 , // 435 - kea-cv
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 436 - khq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 437 - khq-ml
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 438 - ki
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 439 - ki-ke
+ 0x3f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x89 , // 440 - kk
+ 0x43f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x89 , // 441 - kk-kz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 442 - kkj
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 443 - kkj-cm
+ 0x6f , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d , // 444 - kl
+ 0x46f , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d , // 445 - kl-gl
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 446 - kln
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 447 - kln-ke
+ 0x53 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x28 , // 448 - km
+ 0x453 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x28 , // 449 - km-kh
+ 0x4b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 450 - kn
+ 0x44b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 451 - kn-in
+ 0x12 , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86 , // 452 - ko
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x83 , // 453 - ko-kp
+ 0x412 , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86 , // 454 - ko-kr
+ 0x57 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 455 - kok
+ 0x457 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 456 - kok-in
+ 0x71 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 457 - kr
+ 0x471 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf , // 458 - kr-ng
+ 0x60 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 459 - ks
+ 0x460 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 460 - ks-arab
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 461 - ks-arab-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 462 - ks-deva
+ 0x860 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 463 - ks-deva-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 464 - ksb
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 465 - ksb-tz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 466 - ksf
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 467 - ksf-cm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x5e , // 468 - ksh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x5e , // 469 - ksh-de
+ 0x92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79 , // 470 - ku
+ 0x7c92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79 , // 471 - ku-arab
+ 0x492 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79 , // 472 - ku-arab-iq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x74 , // 473 - ku-arab-ir
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf2 , // 474 - kw
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf2 , // 475 - kw-gb
+ 0x40 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82 , // 476 - ky
+ 0x440 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82 , // 477 - ky-kg
+ 0x76 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x989e, // 478 - la
+ 0x476 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0x989e, // 479 - la-001
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 480 - lag
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 481 - lag-tz
+ 0x6e , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93 , // 482 - lb
+ 0x46e , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93 , // 483 - lb-lu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 484 - lg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 485 - lg-ug
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf4 , // 486 - lkt
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf4 , // 487 - lkt-us
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2c , // 488 - ln
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9 , // 489 - ln-ao
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2c , // 490 - ln-cd
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x37 , // 491 - ln-cf
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2b , // 492 - ln-cg
+ 0x54 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8a , // 493 - lo
+ 0x454 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8a , // 494 - lo-la
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x74 , // 495 - lrc
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x79 , // 496 - lrc-iq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x74 , // 497 - lrc-ir
+ 0x27 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d , // 498 - lt
+ 0x427 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d , // 499 - lt-lt
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2c , // 500 - lu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2c , // 501 - lu-cd
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 502 - luo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 503 - luo-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 504 - luy
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 505 - luy-ke
+ 0x26 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c , // 506 - lv
+ 0x426 , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c , // 507 - lv-lv
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 508 - mas
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 509 - mas-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 510 - mas-tz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 511 - mer
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 512 - mer-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa0 , // 513 - mfe
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa0 , // 514 - mfe-mu
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x95 , // 515 - mg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x95 , // 516 - mg-mg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa8 , // 517 - mgh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa8 , // 518 - mgh-mz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 519 - mgo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 520 - mgo-cm
+ 0x81 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb7 , // 521 - mi
+ 0x481 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb7 , // 522 - mi-nz
+ 0x2f , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, // 523 - mk
+ 0x42f , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, // 524 - mk-mk
+ 0x4c , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 525 - ml
+ 0x44c , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 526 - ml-in
+ 0x50 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a , // 527 - mn
+ 0x7850 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a , // 528 - mn-cyrl
+ 0x450 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a , // 529 - mn-mn
+ 0x7c50 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 530 - mn-mong
+ 0x850 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2d , // 531 - mn-mong-cn
+ 0xc50 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9a , // 532 - mn-mong-mn
+ 0x58 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 533 - mni
+ 0x458 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 534 - mni-in
+ 0x7c , 0x4e4 , 0x352 , 0x2710, 0x25 , 0x27 , // 535 - moh
+ 0x47c , 0x4e4 , 0x352 , 0x2710, 0x25 , 0x27 , // 536 - moh-ca
+ 0x4e , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 537 - mr
+ 0x44e , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 538 - mr-in
+ 0x3e , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7 , // 539 - ms
+ 0x83e , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x25 , // 540 - ms-bn
+ 0x43e , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7 , // 541 - ms-my
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd7 , // 542 - ms-sg
+ 0x3a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa3 , // 543 - mt
+ 0x43a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa3 , // 544 - mt-mt
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 545 - mua
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 546 - mua-cm
+ 0x55 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x1b , // 547 - my
+ 0x455 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x1b , // 548 - my-mm
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x74 , // 549 - mzn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x74 , // 550 - mzn-ir
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xfe , // 551 - naq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xfe , // 552 - naq-na
+ 0x7c14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 553 - nb
+ 0x414 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 554 - nb-no
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xdc , // 555 - nb-sj
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x108 , // 556 - nd
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x108 , // 557 - nd-zw
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x5e , // 558 - nds
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x5e , // 559 - nds-de
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb0 , // 560 - nds-nl
+ 0x61 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb2 , // 561 - ne
+ 0x861 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 562 - ne-in
+ 0x461 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xb2 , // 563 - ne-np
+ 0x13 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0 , // 564 - nl
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12e , // 565 - nl-aw
+ 0x813 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15 , // 566 - nl-be
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d42, // 567 - nl-bq
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x111 , // 568 - nl-cw
+ 0x413 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0 , // 569 - nl-nl
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb5 , // 570 - nl-sr
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, // 571 - nl-sx
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 572 - nmg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 573 - nmg-cm
+ 0x7814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 574 - nn
+ 0x814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 575 - nn-no
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 576 - nnh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 577 - nnh-cm
+ 0x14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 578 - no
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x64 , // 579 - nqo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x64 , // 580 - nqo-gn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 581 - nr
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 582 - nr-za
+ 0x6c , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 583 - nso
+ 0x46c , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 584 - nso-za
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x114 , // 585 - nus
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x114 , // 586 - nus-ss
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 587 - nyn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 588 - nyn-ug
+ 0x82 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 589 - oc
+ 0x482 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54 , // 590 - oc-fr
+ 0x72 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 591 - om
+ 0x472 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 592 - om-et
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 593 - om-ke
+ 0x48 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 594 - or
+ 0x448 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 595 - or-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x58 , // 596 - os
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x58 , // 597 - os-ge
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xcb , // 598 - os-ru
+ 0x46 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 599 - pa
+ 0x7c46 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 600 - pa-arab
+ 0x846 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 601 - pa-arab-pk
+ 0x446 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 602 - pa-in
+ 0x79 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, // 603 - pap
+ 0x479 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, // 604 - pap-029
+ 0x15 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf , // 605 - pl
+ 0x415 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf , // 606 - pl-pl
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 607 - prg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 608 - prg-001
+ 0x8c , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3 , // 609 - prs
+ 0x48c , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3 , // 610 - prs-af
+ 0x63 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3 , // 611 - ps
+ 0x463 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3 , // 612 - ps-af
+ 0x16 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20 , // 613 - pt
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9 , // 614 - pt-ao
+ 0x416 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20 , // 615 - pt-br
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xdf , // 616 - pt-ch
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x39 , // 617 - pt-cv
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x45 , // 618 - pt-gq
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc4 , // 619 - pt-gw
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x93 , // 620 - pt-lu
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97 , // 621 - pt-mo
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa8 , // 622 - pt-mz
+ 0x816 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc1 , // 623 - pt-pt
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe9 , // 624 - pt-st
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f60e7, // 625 - pt-tl
+ 0x901 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c , // 626 - qps-latn-x-sh
+ 0x501 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xf4 , // 627 - qps-ploc
+ 0x5fe , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a , // 628 - qps-ploca
+ 0x9ff , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd , // 629 - qps-plocm
+ 0x86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63 , // 630 - quc
+ 0x7c86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63 , // 631 - quc-latn
+ 0x486 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63 , // 632 - quc-latn-gt
+ 0x6b , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a , // 633 - quz
+ 0x46b , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a , // 634 - quz-bo
+ 0x86b , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42 , // 635 - quz-ec
+ 0xc6b , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb , // 636 - quz-pe
+ 0x17 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf , // 637 - rm
+ 0x417 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf , // 638 - rm-ch
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x26 , // 639 - rn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x26 , // 640 - rn-bi
+ 0x18 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8 , // 641 - ro
+ 0x818 , 0x4e2 , 0x354 , 0x2 , 0x1f4 , 0x98 , // 642 - ro-md
+ 0x418 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8 , // 643 - ro-ro
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 644 - rof
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 645 - rof-tz
+ 0x19 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 646 - ru
+ 0x1000 , 0x4e3 , 0x362 , 0x2 , 0x1f4 , 0x1d , // 647 - ru-by
+ 0x1000 , 0x4e3 , 0x362 , 0x2 , 0x1f4 , 0x82 , // 648 - ru-kg
+ 0x1000 , 0x4e3 , 0x362 , 0x2 , 0x1f4 , 0x89 , // 649 - ru-kz
+ 0x819 , 0x4e3 , 0x362 , 0x2 , 0x1f4 , 0x98 , // 650 - ru-md
+ 0x419 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 651 - ru-ru
+ 0x1000 , 0x4e3 , 0x362 , 0x2 , 0x1f4 , 0xf1 , // 652 - ru-ua
+ 0x87 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xcc , // 653 - rw
+ 0x487 , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xcc , // 654 - rw-rw
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 655 - rwk
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 656 - rwk-tz
+ 0x4f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 657 - sa
+ 0x44f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 658 - sa-in
+ 0x85 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 659 - sah
+ 0x485 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 660 - sah-ru
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 661 - saq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 662 - saq-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 663 - sbp
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 664 - sbp-tz
+ 0x59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 665 - sd
+ 0x7c59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 666 - sd-arab
+ 0x859 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 667 - sd-arab-pk
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 668 - sd-deva
+ 0x459 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 669 - sd-deva-in
+ 0x3b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 670 - se
+ 0xc3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 671 - se-fi
+ 0x43b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 672 - se-no
+ 0x83b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 673 - se-se
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa8 , // 674 - seh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa8 , // 675 - seh-mz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 676 - ses
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9d , // 677 - ses-ml
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x37 , // 678 - sg
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x37 , // 679 - sg-cf
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 680 - shi
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 681 - shi-latn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 682 - shi-latn-ma
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 683 - shi-tfng
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 684 - shi-tfng-ma
+ 0x5b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2a , // 685 - si
+ 0x45b , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2a , // 686 - si-lk
+ 0x1b , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f , // 687 - sk
+ 0x41b , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f , // 688 - sk-sk
+ 0x24 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4 , // 689 - sl
+ 0x424 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4 , // 690 - sl-si
+ 0x783b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 691 - sma
+ 0x183b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 692 - sma-no
+ 0x1c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 693 - sma-se
+ 0x7c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 694 - smj
+ 0x103b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1 , // 695 - smj-no
+ 0x143b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 696 - smj-se
+ 0x703b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 697 - smn
+ 0x243b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 698 - smn-fi
+ 0x743b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 699 - sms
+ 0x203b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 700 - sms-fi
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x108 , // 701 - sn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x108 , // 702 - sn-latn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x108 , // 703 - sn-latn-zw
+ 0x77 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd8 , // 704 - so
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3e , // 705 - so-dj
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 706 - so-et
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 707 - so-ke
+ 0x477 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd8 , // 708 - so-so
+ 0x1c , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6 , // 709 - sq
+ 0x41c , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6 , // 710 - sq-al
+ 0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x4ca2, // 711 - sq-mk
+ 0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x974941, // 712 - sq-xk
+ 0x7c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , // 713 - sr
+ 0x6c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , // 714 - sr-cyrl
+ 0x1c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x19 , // 715 - sr-cyrl-ba
+ 0xc1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10d , // 716 - sr-cyrl-cs
+ 0x301a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10e , // 717 - sr-cyrl-me
+ 0x281a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , // 718 - sr-cyrl-rs
+ 0x1000 , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x974941, // 719 - sr-cyrl-xk
+ 0x701a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , // 720 - sr-latn
+ 0x181a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19 , // 721 - sr-latn-ba
+ 0x81a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10d , // 722 - sr-latn-cs
+ 0x2c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10e , // 723 - sr-latn-me
+ 0x241a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , // 724 - sr-latn-rs
+ 0x1000 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x974941, // 725 - sr-latn-xk
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 726 - ss
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x104 , // 727 - ss-sz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 728 - ss-za
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 729 - ssy
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 730 - ssy-er
+ 0x30 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 731 - st
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x92 , // 732 - st-ls
+ 0x430 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 733 - st-za
+ 0x1d , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 734 - sv
+ 0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x9906f5, // 735 - sv-ax
+ 0x81d , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d , // 736 - sv-fi
+ 0x41d , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd , // 737 - sv-se
+ 0x41 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81 , // 738 - sw
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x2c , // 739 - sw-cd
+ 0x441 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81 , // 740 - sw-ke
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xef , // 741 - sw-tz
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xf0 , // 742 - sw-ug
+ 0x1000 , 0x0 , 0x1 , 0x0 , 0x1f4 , 0x2c , // 743 - swc
+ 0x1000 , 0x0 , 0x1 , 0x0 , 0x1f4 , 0x2c , // 744 - swc-cd
+ 0x5a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xde , // 745 - syr
+ 0x45a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xde , // 746 - syr-sy
+ 0x49 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 747 - ta
+ 0x449 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 748 - ta-in
+ 0x849 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x2a , // 749 - ta-lk
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xa7 , // 750 - ta-my
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd7 , // 751 - ta-sg
+ 0x4a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 752 - te
+ 0x44a , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x71 , // 753 - te-in
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 754 - teo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x81 , // 755 - teo-ke
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 756 - teo-ug
+ 0x28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4 , // 757 - tg
+ 0x7c28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4 , // 758 - tg-cyrl
+ 0x428 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4 , // 759 - tg-cyrl-tj
+ 0x1e , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3 , // 760 - th
+ 0x41e , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3 , // 761 - th-th
+ 0x73 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 762 - ti
+ 0x873 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 763 - ti-er
+ 0x473 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 764 - ti-et
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 765 - tig
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x47 , // 766 - tig-er
+ 0x42 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee , // 767 - tk
+ 0x442 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee , // 768 - tk-tm
+ 0x32 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 769 - tn
+ 0x832 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13 , // 770 - tn-bw
+ 0x432 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 771 - tn-za
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xe7 , // 772 - to
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xe7 , // 773 - to-to
+ 0x1f , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb , // 774 - tr
+ 0x1000 , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x3b , // 775 - tr-cy
+ 0x41f , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb , // 776 - tr-tr
+ 0x31 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 777 - ts
+ 0x431 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 778 - ts-za
+ 0x44 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 779 - tt
+ 0x444 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb , // 780 - tt-ru
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xad , // 781 - twq
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xad , // 782 - twq-ne
+ 0x5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4 , // 783 - tzm
+ 0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f , // 784 - tzm-arab
+ 0x45f , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f , // 785 - tzm-arab-ma
+ 0x7c5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4 , // 786 - tzm-latn
+ 0x85f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4 , // 787 - tzm-latn-dz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 788 - tzm-latn-ma
+ 0x785f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 789 - tzm-tfng
+ 0x105f , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 790 - tzm-tfng-ma
+ 0x80 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d , // 791 - ug
+ 0x480 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d , // 792 - ug-cn
+ 0x22 , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1 , // 793 - uk
+ 0x422 , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1 , // 794 - uk-ua
+ 0x20 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 795 - ur
+ 0x820 , 0x4e8 , 0x2d0 , 0x2 , 0x1f4 , 0x71 , // 796 - ur-in
+ 0x420 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe , // 797 - ur-pk
+ 0x43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7 , // 798 - uz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3 , // 799 - uz-arab
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x3 , // 800 - uz-arab-af
+ 0x7843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7 , // 801 - uz-cyrl
+ 0x843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7 , // 802 - uz-cyrl-uz
+ 0x7c43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7 , // 803 - uz-latn
+ 0x443 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7 , // 804 - uz-latn-uz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8e , // 805 - vai
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8e , // 806 - vai-latn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8e , // 807 - vai-latn-lr
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8e , // 808 - vai-vaii
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x8e , // 809 - vai-vaii-lr
+ 0x33 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 810 - ve
+ 0x433 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xd1 , // 811 - ve-za
+ 0x2a , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb , // 812 - vi
+ 0x42a , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb , // 813 - vi-vn
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 814 - vo
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 815 - vo-001
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 816 - vun
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xef , // 817 - vun-tz
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xdf , // 818 - wae
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xdf , // 819 - wae-ch
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 820 - wal
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x49 , // 821 - wal-et
+ 0x88 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 822 - wo
+ 0x488 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2 , // 823 - wo-sn
+ 0x1007f, 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xf4 , // 824 - x-iv_mathan
+ 0x34 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 825 - xh
+ 0x434 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 826 - xh-za
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 827 - xog
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0xf0 , // 828 - xog-ug
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 829 - yav
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x31 , // 830 - yav-cm
+ 0x3d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 831 - yi
+ 0x43d , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x989e, // 832 - yi-001
+ 0x6a , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 833 - yo
+ 0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x1c , // 834 - yo-bj
+ 0x46a , 0x4e4 , 0x1b5 , 0x2710, 0x25 , 0xaf , // 835 - yo-ng
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x68 , // 836 - yue
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x68 , // 837 - yue-hk
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 838 - zgh
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 839 - zgh-tfng
+ 0x1000 , 0x0 , 0x1 , 0x2 , 0x1f4 , 0x9f , // 840 - zgh-tfng-ma
+ 0x7804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d , // 841 - zh
+ 0x4 , 0x3a8 , 0x3a8 , 0x0 , 0x1f4 , 0x2d , // 842 - zh-chs
+ 0x7c04 , 0x3b6 , 0x3b6 , 0x0 , 0x1f4 , 0x68 , // 843 - zh-cht
+ 0x804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d , // 844 - zh-cn
+ 0x50804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d , // 845 - zh-cn_phoneb
+ 0x20804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d , // 846 - zh-cn_stroke
+ 0x4 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d , // 847 - zh-hans
+ 0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x68 , // 848 - zh-hans-hk
+ 0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x97 , // 849 - zh-hans-mo
+ 0x7c04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68 , // 850 - zh-hant
+ 0xc04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68 , // 851 - zh-hk
+ 0x40c04, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68 , // 852 - zh-hk_radstr
+ 0x1404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97 , // 853 - zh-mo
+ 0x41404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97 , // 854 - zh-mo_radstr
+ 0x21404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97 , // 855 - zh-mo_stroke
+ 0x1004 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7 , // 856 - zh-sg
+ 0x51004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7 , // 857 - zh-sg_phoneb
+ 0x21004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7 , // 858 - zh-sg_stroke
+ 0x404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed , // 859 - zh-tw
+ 0x30404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed , // 860 - zh-tw_pronun
+ 0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed , // 861 - zh-tw_radstr
+ 0x35 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 862 - zu
+ 0x435 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1 , // 863 - zu-za
+ };
+ // s_lcids list all supported lcids. used to binary search and we use the index of the matched lcid to
+ // get the index in s_localeNamesIndices using s_lcidToCultureNameIndecis
+ private static readonly int[] s_lcids = new int[]
+ {
+ // Lcid , index - index in c_localeNames
+ 0x1 , // 0 - 52
+ 0x2 , // 1 - 301
+ 0x3 , // 2 - 421
+ 0x4 , // 3 - 4139
+ 0x5 , // 4 - 502
+ 0x6 , // 5 - 523
+ 0x7 , // 6 - 544
+ 0x8 , // 7 - 664
+ 0x9 , // 8 - 676
+ 0xa , // 9 - 1214
+ 0xb , // 10 - 1423
+ 0xc , // 11 - 1451
+ 0xd , // 12 - 1825
+ 0xe , // 13 - 1860
+ 0xf , // 14 - 1929
+ 0x10 , // 15 - 1936
+ 0x11 , // 16 - 1989
+ 0x12 , // 17 - 2179
+ 0x13 , // 18 - 2685
+ 0x14 , // 19 - 2747
+ 0x15 , // 20 - 2864
+ 0x16 , // 21 - 2897
+ 0x17 , // 22 - 3041
+ 0x18 , // 23 - 3055
+ 0x19 , // 24 - 3076
+ 0x1a , // 25 - 1839
+ 0x1b , // 26 - 3284
+ 0x1c , // 27 - 3387
+ 0x1d , // 28 - 3553
+ 0x1e , // 29 - 3673
+ 0x1f , // 30 - 3727
+ 0x20 , // 31 - 3847
+ 0x21 , // 32 - 1908
+ 0x22 , // 33 - 3840
+ 0x23 , // 34 - 276
+ 0x24 , // 35 - 3291
+ 0x25 , // 36 - 1354
+ 0x26 , // 37 - 2429
+ 0x27 , // 38 - 2397
+ 0x28 , // 39 - 3654
+ 0x29 , // 40 - 1377
+ 0x2a , // 41 - 3960
+ 0x2b , // 42 - 1879
+ 0x2c , // 43 - 224
+ 0x2d , // 44 - 1361
+ 0x2e , // 45 - 1851
+ 0x2f , // 46 - 2501
+ 0x30 , // 47 - 3541
+ 0x31 , // 48 - 3739
+ 0x32 , // 49 - 3708
+ 0x33 , // 50 - 3953
+ 0x34 , // 51 - 4020
+ 0x35 , // 52 - 4277
+ 0x36 , // 53 - 17
+ 0x37 , // 54 - 2062
+ 0x38 , // 55 - 1439
+ 0x39 , // 56 - 1832
+ 0x3a , // 57 - 2598
+ 0x3b , // 58 - 3194
+ 0x3c , // 59 - 1705
+ 0x3d , // 60 - 4045
+ 0x3e , // 61 - 2581
+ 0x3f , // 62 - 2133
+ 0x40 , // 63 - 2306
+ 0x41 , // 64 - 3570
+ 0x42 , // 65 - 3701
+ 0x43 , // 66 - 3859
+ 0x44 , // 67 - 3746
+ 0x45 , // 68 - 336
+ 0x46 , // 69 - 2830
+ 0x47 , // 70 - 1754
+ 0x48 , // 71 - 2811
+ 0x49 , // 72 - 3610
+ 0x4a , // 73 - 3632
+ 0x4b , // 74 - 2172
+ 0x4c , // 75 - 2508
+ 0x4d , // 76 - 199
+ 0x4e , // 77 - 2574
+ 0x4f , // 78 - 3124
+ 0x50 , // 79 - 2515
+ 0x51 , // 80 - 348
+ 0x52 , // 81 - 516
+ 0x53 , // 82 - 2165
+ 0x54 , // 83 - 2375
+ 0x55 , // 84 - 2614
+ 0x56 , // 85 - 1719
+ 0x57 , // 86 - 2191
+ 0x58 , // 87 - 2556
+ 0x59 , // 88 - 3158
+ 0x5a , // 89 - 3601
+ 0x5b , // 90 - 3277
+ 0x5c , // 91 - 473
+ 0x5d , // 92 - 1953
+ 0x5e , // 93 - 45
+ 0x5f , // 94 - 3762
+ 0x60 , // 95 - 2207
+ 0x61 , // 96 - 2673
+ 0x62 , // 97 - 1698
+ 0x63 , // 98 - 2890
+ 0x64 , // 99 - 1430
+ 0x65 , // 100 - 620
+ 0x66 , // 101 - 308
+ 0x67 , // 102 - 1384
+ 0x68 , // 103 - 1777
+ 0x69 , // 104 - 1899
+ 0x6a , // 105 - 4053
+ 0x6b , // 106 - 3020
+ 0x6c , // 107 - 2765
+ 0x6d , // 108 - 260
+ 0x6e , // 109 - 2330
+ 0x6f , // 110 - 2149
+ 0x70 , // 111 - 1915
+ 0x71 , // 112 - 2200
+ 0x72 , // 113 - 2799
+ 0x73 , // 114 - 3680
+ 0x74 , // 115 - 1726
+ 0x75 , // 116 - 1816
+ 0x76 , // 117 - 2313
+ 0x77 , // 118 - 3365
+ 0x78 , // 119 - 1922
+ 0x79 , // 120 - 2854
+ 0x7a , // 121 - 190
+ 0x7c , // 122 - 2565
+ 0x7e , // 123 - 360
+ 0x80 , // 124 - 3833
+ 0x81 , // 125 - 2494
+ 0x82 , // 126 - 2792
+ 0x83 , // 127 - 495
+ 0x84 , // 128 - 1733
+ 0x85 , // 129 - 3131
+ 0x86 , // 130 - 2998
+ 0x87 , // 131 - 3108
+ 0x88 , // 132 - 4002
+ 0x8c , // 133 - 2881
+ 0x91 , // 134 - 1712
+ 0x92 , // 135 - 2270
+ 0x401 , // 136 - 150
+ 0x402 , // 137 - 303
+ 0x403 , // 138 - 428
+ 0x404 , // 139 - 4248
+ 0x405 , // 140 - 504
+ 0x406 , // 141 - 525
+ 0x407 , // 142 - 561
+ 0x408 , // 143 - 671
+ 0x409 , // 144 - 1161
+ 0x40a , // 145 - 1272
+ 0x40b , // 146 - 1425
+ 0x40c , // 147 - 1529
+ 0x40d , // 148 - 1827
+ 0x40e , // 149 - 1862
+ 0x40f , // 150 - 1931
+ 0x410 , // 151 - 1943
+ 0x411 , // 152 - 1991
+ 0x412 , // 153 - 2186
+ 0x413 , // 154 - 2707
+ 0x414 , // 155 - 2641
+ 0x415 , // 156 - 2866
+ 0x416 , // 157 - 2904
+ 0x417 , // 158 - 3043
+ 0x418 , // 159 - 3062
+ 0x419 , // 160 - 3098
+ 0x41a , // 161 - 1846
+ 0x41b , // 162 - 3286
+ 0x41c , // 163 - 3389
+ 0x41d , // 164 - 3565
+ 0x41e , // 165 - 3675
+ 0x41f , // 166 - 3734
+ 0x420 , // 167 - 3854
+ 0x421 , // 168 - 1910
+ 0x422 , // 169 - 3842
+ 0x423 , // 170 - 278
+ 0x424 , // 171 - 3293
+ 0x425 , // 172 - 1356
+ 0x426 , // 173 - 2431
+ 0x427 , // 174 - 2399
+ 0x428 , // 175 - 3663
+ 0x429 , // 176 - 1379
+ 0x42a , // 177 - 3962
+ 0x42b , // 178 - 1881
+ 0x42c , // 179 - 250
+ 0x42d , // 180 - 1363
+ 0x42e , // 181 - 1854
+ 0x42f , // 182 - 2503
+ 0x430 , // 183 - 3548
+ 0x431 , // 184 - 3741
+ 0x432 , // 185 - 3715
+ 0x433 , // 186 - 3955
+ 0x434 , // 187 - 4022
+ 0x435 , // 188 - 4279
+ 0x436 , // 189 - 24
+ 0x437 , // 190 - 2064
+ 0x438 , // 191 - 1446
+ 0x439 , // 192 - 1834
+ 0x43a , // 193 - 2600
+ 0x43b , // 194 - 3201
+ 0x43d , // 195 - 4047
+ 0x43e , // 196 - 2588
+ 0x43f , // 197 - 2135
+ 0x440 , // 198 - 2308
+ 0x441 , // 199 - 3577
+ 0x442 , // 200 - 3703
+ 0x443 , // 201 - 3902
+ 0x444 , // 202 - 3748
+ 0x445 , // 203 - 343
+ 0x446 , // 204 - 2849
+ 0x447 , // 205 - 1756
+ 0x448 , // 206 - 2813
+ 0x449 , // 207 - 3612
+ 0x44a , // 208 - 3634
+ 0x44b , // 209 - 2174
+ 0x44c , // 210 - 2510
+ 0x44d , // 211 - 201
+ 0x44e , // 212 - 2576
+ 0x44f , // 213 - 3126
+ 0x450 , // 214 - 2524
+ 0x451 , // 215 - 350
+ 0x452 , // 216 - 518
+ 0x453 , // 217 - 2167
+ 0x454 , // 218 - 2377
+ 0x455 , // 219 - 2616
+ 0x456 , // 220 - 1721
+ 0x457 , // 221 - 2194
+ 0x458 , // 222 - 2559
+ 0x459 , // 223 - 3184
+ 0x45a , // 224 - 3604
+ 0x45b , // 225 - 3279
+ 0x45c , // 226 - 484
+ 0x45d , // 227 - 1962
+ 0x45e , // 228 - 47
+ 0x45f , // 229 - 3773
+ 0x460 , // 230 - 2209
+ 0x461 , // 231 - 2680
+ 0x462 , // 232 - 1700
+ 0x463 , // 233 - 2892
+ 0x464 , // 234 - 1433
+ 0x465 , // 235 - 622
+ 0x466 , // 236 - 311
+ 0x467 , // 237 - 1418
+ 0x468 , // 238 - 1806
+ 0x469 , // 239 - 1902
+ 0x46a , // 240 - 4060
+ 0x46b , // 241 - 3023
+ 0x46c , // 242 - 2768
+ 0x46d , // 243 - 262
+ 0x46e , // 244 - 2332
+ 0x46f , // 245 - 2151
+ 0x470 , // 246 - 1917
+ 0x471 , // 247 - 2202
+ 0x472 , // 248 - 2801
+ 0x473 , // 249 - 3687
+ 0x474 , // 250 - 1728
+ 0x475 , // 251 - 1819
+ 0x476 , // 252 - 2315
+ 0x477 , // 253 - 3382
+ 0x478 , // 254 - 1924
+ 0x479 , // 255 - 2857
+ 0x47a , // 256 - 193
+ 0x47c , // 257 - 2568
+ 0x47e , // 258 - 362
+ 0x480 , // 259 - 3835
+ 0x481 , // 260 - 2496
+ 0x482 , // 261 - 2794
+ 0x483 , // 262 - 497
+ 0x484 , // 263 - 1742
+ 0x485 , // 264 - 3134
+ 0x486 , // 265 - 3009
+ 0x487 , // 266 - 3110
+ 0x488 , // 267 - 4004
+ 0x48c , // 268 - 2884
+ 0x491 , // 269 - 1714
+ 0x492 , // 270 - 2279
+ 0x501 , // 271 - 2972
+ 0x5fe , // 272 - 2980
+ 0x801 , // 273 - 95
+ 0x803 , // 274 - 433
+ 0x804 , // 275 - 4110
+ 0x807 , // 276 - 556
+ 0x809 , // 277 - 831
+ 0x80a , // 278 - 1299
+ 0x80c , // 279 - 1459
+ 0x810 , // 280 - 1938
+ 0x813 , // 281 - 2692
+ 0x814 , // 282 - 2733
+ 0x816 , // 283 - 2944
+ 0x818 , // 284 - 3057
+ 0x819 , // 285 - 3093
+ 0x81a , // 286 - 3480
+ 0x81d , // 287 - 3560
+ 0x820 , // 288 - 3849
+ 0x82c , // 289 - 233
+ 0x82e , // 290 - 605
+ 0x832 , // 291 - 3710
+ 0x83b , // 292 - 3206
+ 0x83c , // 293 - 1707
+ 0x83e , // 294 - 2583
+ 0x843 , // 295 - 3885
+ 0x845 , // 296 - 338
+ 0x846 , // 297 - 2839
+ 0x849 , // 298 - 3617
+ 0x850 , // 299 - 2536
+ 0x859 , // 300 - 3167
+ 0x85d , // 301 - 1979
+ 0x85f , // 302 - 3792
+ 0x860 , // 303 - 2233
+ 0x861 , // 304 - 2675
+ 0x867 , // 305 - 1403
+ 0x86b , // 306 - 3029
+ 0x873 , // 307 - 3682
+ 0x901 , // 308 - 2959
+ 0x9ff , // 309 - 2989
+ 0xc01 , // 310 - 80
+ 0xc04 , // 311 - 4173
+ 0xc07 , // 312 - 546
+ 0xc09 , // 313 - 716
+ 0xc0a , // 314 - 1267
+ 0xc0c , // 315 - 1484
+ 0xc1a , // 316 - 3423
+ 0xc3b , // 317 - 3196
+ 0xc50 , // 318 - 2546
+ 0xc51 , // 319 - 638
+ 0xc6b , // 320 - 3035
+ 0x1001 , // 321 - 120
+ 0x1004 , // 322 - 4219
+ 0x1007 , // 323 - 588
+ 0x1009 , // 324 - 756
+ 0x100a , // 325 - 1289
+ 0x100c , // 326 - 1504
+ 0x101a , // 327 - 1841
+ 0x103b , // 328 - 3316
+ 0x105f , // 329 - 3822
+ 0x1401 , // 330 - 75
+ 0x1404 , // 331 - 4190
+ 0x1407 , // 332 - 583
+ 0x1409 , // 333 - 1026
+ 0x140a , // 334 - 1247
+ 0x140c , // 335 - 1569
+ 0x141a , // 336 - 402
+ 0x143b , // 337 - 3322
+ 0x1801 , // 338 - 125
+ 0x1809 , // 339 - 881
+ 0x180a , // 340 - 1309
+ 0x180c , // 341 - 1579
+ 0x181a , // 342 - 3470
+ 0x183b , // 343 - 3301
+ 0x1c01 , // 344 - 180
+ 0x1c09 , // 345 - 1191
+ 0x1c0a , // 346 - 1257
+ 0x1c0c , // 347 - 1453
+ 0x1c1a , // 348 - 3413
+ 0x1c3b , // 349 - 3307
+ 0x2001 , // 350 - 135
+ 0x2009 , // 351 - 911
+ 0x200a , // 352 - 1349
+ 0x200c , // 353 - 1634
+ 0x201a , // 354 - 385
+ 0x203b , // 355 - 3340
+ 0x2401 , // 356 - 185
+ 0x2409 , // 357 - 684
+ 0x240a , // 358 - 1242
+ 0x240c , // 359 - 1489
+ 0x241a , // 360 - 3500
+ 0x243b , // 361 - 3331
+ 0x2801 , // 362 - 170
+ 0x2809 , // 363 - 751
+ 0x280a , // 364 - 1314
+ 0x280c , // 365 - 1649
+ 0x281a , // 366 - 3443
+ 0x2c01 , // 367 - 100
+ 0x2c09 , // 368 - 1136
+ 0x2c0a , // 369 - 1222
+ 0x2c0c , // 370 - 1514
+ 0x2c1a , // 371 - 3490
+ 0x3001 , // 372 - 115
+ 0x3009 , // 373 - 1201
+ 0x300a , // 374 - 1262
+ 0x300c , // 375 - 1509
+ 0x301a , // 376 - 3433
+ 0x3401 , // 377 - 110
+ 0x3409 , // 378 - 1036
+ 0x340a , // 379 - 1237
+ 0x340c , // 380 - 1594
+ 0x3801 , // 381 - 60
+ 0x3809 , // 382 - 876
+ 0x380a , // 383 - 1344
+ 0x380c , // 384 - 1574
+ 0x3c01 , // 385 - 65
+ 0x3c09 , // 386 - 871
+ 0x3c0a , // 387 - 1329
+ 0x3c0c , // 388 - 1559
+ 0x4001 , // 389 - 145
+ 0x4009 , // 390 - 896
+ 0x400a , // 391 - 1227
+ 0x4409 , // 392 - 991
+ 0x440a , // 393 - 1334
+ 0x4809 , // 394 - 1086
+ 0x480a , // 395 - 1294
+ 0x4c0a , // 396 - 1304
+ 0x500a , // 397 - 1324
+ 0x540a , // 398 - 1339
+ 0x580a , // 399 - 1216
+ 0x5c0a , // 400 - 1252
+ 0x641a , // 401 - 378
+ 0x681a , // 402 - 395
+ 0x6c1a , // 403 - 3406
+ 0x701a , // 404 - 3463
+ 0x703b , // 405 - 3328
+ 0x742c , // 406 - 226
+ 0x743b , // 407 - 3337
+ 0x7804 , // 408 - 4096
+ 0x7814 , // 409 - 2731
+ 0x781a , // 410 - 376
+ 0x782c , // 411 - 243
+ 0x783b , // 412 - 3298
+ 0x7843 , // 413 - 3878
+ 0x7850 , // 414 - 2517
+ 0x785d , // 415 - 1955
+ 0x785f , // 416 - 3814
+ 0x7c04 , // 417 - 4166
+ 0x7c14 , // 418 - 2639
+ 0x7c1a , // 419 - 3404
+ 0x7c28 , // 420 - 3656
+ 0x7c2e , // 421 - 602
+ 0x7c3b , // 422 - 3313
+ 0x7c43 , // 423 - 3895
+ 0x7c46 , // 424 - 2832
+ 0x7c50 , // 425 - 2529
+ 0x7c59 , // 426 - 3160
+ 0x7c5c , // 427 - 476
+ 0x7c5d , // 428 - 1972
+ 0x7c5f , // 429 - 3784
+ 0x7c67 , // 430 - 1396
+ 0x7c68 , // 431 - 1779
+ 0x7c86 , // 432 - 3001
+ 0x7c92 , // 433 - 2272
+ 0x1007f, // 434 - 4009
+ 0x10407, // 435 - 566
+ 0x1040e, // 436 - 1867
+ 0x10437, // 437 - 2069
+ 0x20804, // 438 - 4127
+ 0x21004, // 439 - 4236
+ 0x21404, // 440 - 4207
+ 0x30404, // 441 - 4253
+ 0x40404, // 442 - 4265
+ 0x40411, // 443 - 1996
+ 0x40c04, // 444 - 4178
+ 0x41404, // 445 - 4195
+ 0x50804, // 446 - 4115
+ 0x51004 // 447 - 4224
+ };
+ // each element in s_lcidToCultureNameIndecis is index to s_localeNamesIndices
+ private static readonly int[] s_lcidToCultureNameIndecis = new int[]
+ {
+ // Index to s_localeNamesIndices, index to this array - lcid - index to the c_localeNames
+ 13 , // 0 - 1 - 52
+ 64 , // 1 - 2 - 301
+ 88 , // 2 - 3 - 421
+ 847 , // 3 - 4 - 4139
+ 103 , // 4 - 5 - 502
+ 109 , // 5 - 6 - 523
+ 114 , // 6 - 7 - 544
+ 140 , // 7 - 8 - 664
+ 143 , // 8 - 9 - 676
+ 251 , // 9 - a - 1214
+ 293 , // 10 - b - 1423
+ 300 , // 11 - c - 1451
+ 377 , // 12 - d - 1825
+ 386 , // 13 - e - 1860
+ 402 , // 14 - f - 1929
+ 404 , // 15 - 10 - 1936
+ 413 , // 16 - 11 - 1989
+ 452 , // 17 - 12 - 2179
+ 564 , // 18 - 13 - 2685
+ 578 , // 19 - 14 - 2747
+ 605 , // 20 - 15 - 2864
+ 613 , // 21 - 16 - 2897
+ 637 , // 22 - 17 - 3041
+ 641 , // 23 - 18 - 3055
+ 646 , // 24 - 19 - 3076
+ 381 , // 25 - 1a - 1839
+ 687 , // 26 - 1b - 3284
+ 709 , // 27 - 1c - 3387
+ 734 , // 28 - 1d - 3553
+ 760 , // 29 - 1e - 3673
+ 774 , // 30 - 1f - 3727
+ 795 , // 31 - 20 - 3847
+ 396 , // 32 - 21 - 1908
+ 793 , // 33 - 22 - 3840
+ 58 , // 34 - 23 - 276
+ 689 , // 35 - 24 - 3291
+ 278 , // 36 - 25 - 1354
+ 506 , // 37 - 26 - 2429
+ 498 , // 38 - 27 - 2397
+ 757 , // 39 - 28 - 3654
+ 284 , // 40 - 29 - 1377
+ 812 , // 41 - 2a - 3960
+ 389 , // 42 - 2b - 1879
+ 49 , // 43 - 2c - 224
+ 280 , // 44 - 2d - 1361
+ 384 , // 45 - 2e - 1851
+ 523 , // 46 - 2f - 2501
+ 731 , // 47 - 30 - 3541
+ 777 , // 48 - 31 - 3739
+ 769 , // 49 - 32 - 3708
+ 810 , // 50 - 33 - 3953
+ 825 , // 51 - 34 - 4020
+ 862 , // 52 - 35 - 4277
+ 4 , // 53 - 36 - 17
+ 425 , // 54 - 37 - 2062
+ 297 , // 55 - 38 - 1439
+ 379 , // 56 - 39 - 1832
+ 543 , // 57 - 3a - 2598
+ 670 , // 58 - 3b - 3194
+ 352 , // 59 - 3c - 1705
+ 831 , // 60 - 3d - 4045
+ 539 , // 61 - 3e - 2581
+ 440 , // 62 - 3f - 2133
+ 476 , // 63 - 40 - 2306
+ 738 , // 64 - 41 - 3570
+ 767 , // 65 - 42 - 3701
+ 798 , // 66 - 43 - 3859
+ 779 , // 67 - 44 - 3746
+ 71 , // 68 - 45 - 336
+ 599 , // 69 - 46 - 2830
+ 364 , // 70 - 47 - 1754
+ 594 , // 71 - 48 - 2811
+ 747 , // 72 - 49 - 3610
+ 752 , // 73 - 4a - 3632
+ 450 , // 74 - 4b - 2172
+ 525 , // 75 - 4c - 2508
+ 43 , // 76 - 4d - 199
+ 537 , // 77 - 4e - 2574
+ 657 , // 78 - 4f - 3124
+ 527 , // 79 - 50 - 2515
+ 74 , // 80 - 51 - 348
+ 107 , // 81 - 52 - 516
+ 448 , // 82 - 53 - 2165
+ 493 , // 83 - 54 - 2375
+ 547 , // 84 - 55 - 2614
+ 356 , // 85 - 56 - 1719
+ 455 , // 86 - 57 - 2191
+ 533 , // 87 - 58 - 2556
+ 665 , // 88 - 59 - 3158
+ 745 , // 89 - 5a - 3601
+ 685 , // 90 - 5b - 3277
+ 98 , // 91 - 5c - 473
+ 408 , // 92 - 5d - 1953
+ 11 , // 93 - 5e - 45
+ 783 , // 94 - 5f - 3762
+ 459 , // 95 - 60 - 2207
+ 561 , // 96 - 61 - 2673
+ 350 , // 97 - 62 - 1698
+ 611 , // 98 - 63 - 2890
+ 295 , // 99 - 64 - 1430
+ 129 , // 100 - 65 - 620
+ 66 , // 101 - 66 - 308
+ 286 , // 102 - 67 - 1384
+ 370 , // 103 - 68 - 1777
+ 394 , // 104 - 69 - 1899
+ 833 , // 105 - 6a - 4053
+ 633 , // 106 - 6b - 3020
+ 583 , // 107 - 6c - 2765
+ 54 , // 108 - 6d - 260
+ 482 , // 109 - 6e - 2330
+ 444 , // 110 - 6f - 2149
+ 398 , // 111 - 70 - 1915
+ 457 , // 112 - 71 - 2200
+ 591 , // 113 - 72 - 2799
+ 762 , // 114 - 73 - 3680
+ 358 , // 115 - 74 - 1726
+ 375 , // 116 - 75 - 1816
+ 478 , // 117 - 76 - 2313
+ 704 , // 118 - 77 - 3365
+ 400 , // 119 - 78 - 1922
+ 603 , // 120 - 79 - 2854
+ 41 , // 121 - 7a - 190
+ 535 , // 122 - 7c - 2565
+ 77 , // 123 - 7e - 360
+ 791 , // 124 - 80 - 3833
+ 521 , // 125 - 81 - 2494
+ 589 , // 126 - 82 - 2792
+ 101 , // 127 - 83 - 495
+ 360 , // 128 - 84 - 1733
+ 659 , // 129 - 85 - 3131
+ 630 , // 130 - 86 - 2998
+ 653 , // 131 - 87 - 3108
+ 822 , // 132 - 88 - 4002
+ 609 , // 133 - 8c - 2881
+ 354 , // 134 - 91 - 1712
+ 470 , // 135 - 92 - 2270
+ 33 , // 136 - 401 - 150
+ 65 , // 137 - 402 - 303
+ 90 , // 138 - 403 - 428
+ 859 , // 139 - 404 - 4248
+ 104 , // 140 - 405 - 504
+ 110 , // 141 - 406 - 525
+ 118 , // 142 - 407 - 561
+ 142 , // 143 - 408 - 671
+ 240 , // 144 - 409 - 1161
+ 263 , // 145 - 40a - 1272
+ 294 , // 146 - 40b - 1425
+ 316 , // 147 - 40c - 1529
+ 378 , // 148 - 40d - 1827
+ 387 , // 149 - 40e - 1862
+ 403 , // 150 - 40f - 1931
+ 406 , // 151 - 410 - 1943
+ 414 , // 152 - 411 - 1991
+ 454 , // 153 - 412 - 2186
+ 569 , // 154 - 413 - 2707
+ 554 , // 155 - 414 - 2641
+ 606 , // 156 - 415 - 2866
+ 615 , // 157 - 416 - 2904
+ 638 , // 158 - 417 - 3043
+ 643 , // 159 - 418 - 3062
+ 651 , // 160 - 419 - 3098
+ 383 , // 161 - 41a - 1846
+ 688 , // 162 - 41b - 3286
+ 710 , // 163 - 41c - 3389
+ 737 , // 164 - 41d - 3565
+ 761 , // 165 - 41e - 3675
+ 776 , // 166 - 41f - 3734
+ 797 , // 167 - 420 - 3854
+ 397 , // 168 - 421 - 1910
+ 794 , // 169 - 422 - 3842
+ 59 , // 170 - 423 - 278
+ 690 , // 171 - 424 - 3293
+ 279 , // 172 - 425 - 1356
+ 507 , // 173 - 426 - 2431
+ 499 , // 174 - 427 - 2399
+ 759 , // 175 - 428 - 3663
+ 285 , // 176 - 429 - 1379
+ 813 , // 177 - 42a - 3962
+ 390 , // 178 - 42b - 1881
+ 53 , // 179 - 42c - 250
+ 281 , // 180 - 42d - 1363
+ 385 , // 181 - 42e - 1854
+ 524 , // 182 - 42f - 2503
+ 733 , // 183 - 430 - 3548
+ 778 , // 184 - 431 - 3741
+ 771 , // 185 - 432 - 3715
+ 811 , // 186 - 433 - 3955
+ 826 , // 187 - 434 - 4022
+ 863 , // 188 - 435 - 4279
+ 6 , // 189 - 436 - 24
+ 426 , // 190 - 437 - 2064
+ 299 , // 191 - 438 - 1446
+ 380 , // 192 - 439 - 1834
+ 544 , // 193 - 43a - 2600
+ 672 , // 194 - 43b - 3201
+ 832 , // 195 - 43d - 4047
+ 541 , // 196 - 43e - 2588
+ 441 , // 197 - 43f - 2135
+ 477 , // 198 - 440 - 2308
+ 740 , // 199 - 441 - 3577
+ 768 , // 200 - 442 - 3703
+ 804 , // 201 - 443 - 3902
+ 780 , // 202 - 444 - 3748
+ 73 , // 203 - 445 - 343
+ 602 , // 204 - 446 - 2849
+ 365 , // 205 - 447 - 1756
+ 595 , // 206 - 448 - 2813
+ 748 , // 207 - 449 - 3612
+ 753 , // 208 - 44a - 3634
+ 451 , // 209 - 44b - 2174
+ 526 , // 210 - 44c - 2510
+ 44 , // 211 - 44d - 201
+ 538 , // 212 - 44e - 2576
+ 658 , // 213 - 44f - 3126
+ 529 , // 214 - 450 - 2524
+ 75 , // 215 - 451 - 350
+ 108 , // 216 - 452 - 518
+ 449 , // 217 - 453 - 2167
+ 494 , // 218 - 454 - 2377
+ 548 , // 219 - 455 - 2616
+ 357 , // 220 - 456 - 1721
+ 456 , // 221 - 457 - 2194
+ 534 , // 222 - 458 - 2559
+ 669 , // 223 - 459 - 3184
+ 746 , // 224 - 45a - 3604
+ 686 , // 225 - 45b - 3279
+ 100 , // 226 - 45c - 484
+ 410 , // 227 - 45d - 1962
+ 12 , // 228 - 45e - 47
+ 785 , // 229 - 45f - 3773
+ 460 , // 230 - 460 - 2209
+ 563 , // 231 - 461 - 2680
+ 351 , // 232 - 462 - 1700
+ 612 , // 233 - 463 - 2892
+ 296 , // 234 - 464 - 1433
+ 130 , // 235 - 465 - 622
+ 67 , // 236 - 466 - 311
+ 292 , // 237 - 467 - 1418
+ 374 , // 238 - 468 - 1806
+ 395 , // 239 - 469 - 1902
+ 835 , // 240 - 46a - 4060
+ 634 , // 241 - 46b - 3023
+ 584 , // 242 - 46c - 2768
+ 55 , // 243 - 46d - 262
+ 483 , // 244 - 46e - 2332
+ 445 , // 245 - 46f - 2151
+ 399 , // 246 - 470 - 1917
+ 458 , // 247 - 471 - 2202
+ 592 , // 248 - 472 - 2801
+ 764 , // 249 - 473 - 3687
+ 359 , // 250 - 474 - 1728
+ 376 , // 251 - 475 - 1819
+ 479 , // 252 - 476 - 2315
+ 708 , // 253 - 477 - 3382
+ 401 , // 254 - 478 - 1924
+ 604 , // 255 - 479 - 2857
+ 42 , // 256 - 47a - 193
+ 536 , // 257 - 47c - 2568
+ 78 , // 258 - 47e - 362
+ 792 , // 259 - 480 - 3835
+ 522 , // 260 - 481 - 2496
+ 590 , // 261 - 482 - 2794
+ 102 , // 262 - 483 - 497
+ 362 , // 263 - 484 - 1742
+ 660 , // 264 - 485 - 3134
+ 632 , // 265 - 486 - 3009
+ 654 , // 266 - 487 - 3110
+ 823 , // 267 - 488 - 4004
+ 610 , // 268 - 48c - 2884
+ 355 , // 269 - 491 - 1714
+ 472 , // 270 - 492 - 2279
+ 627 , // 271 - 501 - 2972
+ 628 , // 272 - 5fe - 2980
+ 22 , // 273 - 801 - 95
+ 91 , // 274 - 803 - 433
+ 844 , // 275 - 804 - 4110
+ 117 , // 276 - 807 - 556
+ 174 , // 277 - 809 - 831
+ 267 , // 278 - 80a - 1299
+ 302 , // 279 - 80c - 1459
+ 405 , // 280 - 810 - 1938
+ 566 , // 281 - 813 - 2692
+ 575 , // 282 - 814 - 2733
+ 623 , // 283 - 816 - 2944
+ 642 , // 284 - 818 - 3057
+ 650 , // 285 - 819 - 3093
+ 722 , // 286 - 81a - 3480
+ 736 , // 287 - 81d - 3560
+ 796 , // 288 - 820 - 3849
+ 51 , // 289 - 82c - 233
+ 126 , // 290 - 82e - 605
+ 770 , // 291 - 832 - 3710
+ 673 , // 292 - 83b - 3206
+ 353 , // 293 - 83c - 1707
+ 540 , // 294 - 83e - 2583
+ 802 , // 295 - 843 - 3885
+ 72 , // 296 - 845 - 338
+ 601 , // 297 - 846 - 2839
+ 749 , // 298 - 849 - 3617
+ 531 , // 299 - 850 - 2536
+ 667 , // 300 - 859 - 3167
+ 412 , // 301 - 85d - 1979
+ 787 , // 302 - 85f - 3792
+ 463 , // 303 - 860 - 2233
+ 562 , // 304 - 861 - 2675
+ 290 , // 305 - 867 - 1403
+ 635 , // 306 - 86b - 3029
+ 763 , // 307 - 873 - 3682
+ 626 , // 308 - 901 - 2959
+ 629 , // 309 - 9ff - 2989
+ 19 , // 310 - c01 - 80
+ 851 , // 311 - c04 - 4173
+ 115 , // 312 - c07 - 546
+ 151 , // 313 - c09 - 716
+ 262 , // 314 - c0a - 1267
+ 307 , // 315 - c0c - 1484
+ 716 , // 316 - c1a - 3423
+ 671 , // 317 - c3b - 3196
+ 532 , // 318 - c50 - 2546
+ 134 , // 319 - c51 - 638
+ 636 , // 320 - c6b - 3035
+ 27 , // 321 - 1001 - 120
+ 856 , // 322 - 1004 - 4219
+ 122 , // 323 - 1007 - 588
+ 159 , // 324 - 1009 - 756
+ 265 , // 325 - 100a - 1289
+ 311 , // 326 - 100c - 1504
+ 382 , // 327 - 101a - 1841
+ 695 , // 328 - 103b - 3316
+ 790 , // 329 - 105f - 3822
+ 18 , // 330 - 1401 - 75
+ 853 , // 331 - 1404 - 4190
+ 121 , // 332 - 1407 - 583
+ 213 , // 333 - 1409 - 1026
+ 258 , // 334 - 140a - 1247
+ 324 , // 335 - 140c - 1569
+ 85 , // 336 - 141a - 402
+ 696 , // 337 - 143b - 3322
+ 28 , // 338 - 1801 - 125
+ 184 , // 339 - 1809 - 881
+ 269 , // 340 - 180a - 1309
+ 326 , // 341 - 180c - 1579
+ 721 , // 342 - 181a - 3470
+ 692 , // 343 - 183b - 3301
+ 39 , // 344 - 1c01 - 180
+ 246 , // 345 - 1c09 - 1191
+ 260 , // 346 - 1c0a - 1257
+ 301 , // 347 - 1c0c - 1453
+ 715 , // 348 - 1c1a - 3413
+ 693 , // 349 - 1c3b - 3307
+ 30 , // 350 - 2001 - 135
+ 190 , // 351 - 2009 - 911
+ 277 , // 352 - 200a - 1349
+ 337 , // 353 - 200c - 1634
+ 83 , // 354 - 201a - 385
+ 700 , // 355 - 203b - 3340
+ 40 , // 356 - 2401 - 185
+ 145 , // 357 - 2409 - 684
+ 257 , // 358 - 240a - 1242
+ 308 , // 359 - 240c - 1489
+ 724 , // 360 - 241a - 3500
+ 698 , // 361 - 243b - 3331
+ 37 , // 362 - 2801 - 170
+ 158 , // 363 - 2809 - 751
+ 270 , // 364 - 280a - 1314
+ 340 , // 365 - 280c - 1649
+ 718 , // 366 - 281a - 3443
+ 23 , // 367 - 2c01 - 100
+ 235 , // 368 - 2c09 - 1136
+ 253 , // 369 - 2c0a - 1222
+ 313 , // 370 - 2c0c - 1514
+ 723 , // 371 - 2c1a - 3490
+ 26 , // 372 - 3001 - 115
+ 248 , // 373 - 3009 - 1201
+ 261 , // 374 - 300a - 1262
+ 312 , // 375 - 300c - 1509
+ 717 , // 376 - 301a - 3433
+ 25 , // 377 - 3401 - 110
+ 215 , // 378 - 3409 - 1036
+ 256 , // 379 - 340a - 1237
+ 329 , // 380 - 340c - 1594
+ 15 , // 381 - 3801 - 60
+ 183 , // 382 - 3809 - 876
+ 276 , // 383 - 380a - 1344
+ 325 , // 384 - 380c - 1574
+ 16 , // 385 - 3c01 - 65
+ 182 , // 386 - 3c09 - 871
+ 273 , // 387 - 3c0a - 1329
+ 322 , // 388 - 3c0c - 1559
+ 32 , // 389 - 4001 - 145
+ 187 , // 390 - 4009 - 896
+ 254 , // 391 - 400a - 1227
+ 206 , // 392 - 4409 - 991
+ 274 , // 393 - 440a - 1334
+ 225 , // 394 - 4809 - 1086
+ 266 , // 395 - 480a - 1294
+ 268 , // 396 - 4c0a - 1304
+ 272 , // 397 - 500a - 1324
+ 275 , // 398 - 540a - 1339
+ 252 , // 399 - 580a - 1216
+ 259 , // 400 - 5c0a - 1252
+ 82 , // 401 - 641a - 378
+ 84 , // 402 - 681a - 395
+ 714 , // 403 - 6c1a - 3406
+ 720 , // 404 - 701a - 3463
+ 697 , // 405 - 703b - 3328
+ 50 , // 406 - 742c - 226
+ 699 , // 407 - 743b - 3337
+ 841 , // 408 - 7804 - 4096
+ 574 , // 409 - 7814 - 2731
+ 81 , // 410 - 781a - 376
+ 52 , // 411 - 782c - 243
+ 691 , // 412 - 783b - 3298
+ 801 , // 413 - 7843 - 3878
+ 528 , // 414 - 7850 - 2517
+ 409 , // 415 - 785d - 1955
+ 789 , // 416 - 785f - 3814
+ 850 , // 417 - 7c04 - 4166
+ 553 , // 418 - 7c14 - 2639
+ 713 , // 419 - 7c1a - 3404
+ 758 , // 420 - 7c28 - 3656
+ 125 , // 421 - 7c2e - 602
+ 694 , // 422 - 7c3b - 3313
+ 803 , // 423 - 7c43 - 3895
+ 600 , // 424 - 7c46 - 2832
+ 530 , // 425 - 7c50 - 2529
+ 666 , // 426 - 7c59 - 3160
+ 99 , // 427 - 7c5c - 476
+ 411 , // 428 - 7c5d - 1972
+ 786 , // 429 - 7c5f - 3784
+ 289 , // 430 - 7c67 - 1396
+ 371 , // 431 - 7c68 - 1779
+ 631 , // 432 - 7c86 - 3001
+ 471 , // 433 - 7c92 - 2272
+ 824 , // 434 - 1007f - 4009
+ 119 , // 435 - 10407 - 566
+ 388 , // 436 - 1040e - 1867
+ 427 , // 437 - 10437 - 2069
+ 846 , // 438 - 20804 - 4127
+ 858 , // 439 - 21004 - 4236
+ 855 , // 440 - 21404 - 4207
+ 860 , // 441 - 30404 - 4253
+ 861 , // 442 - 40404 - 4265
+ 415 , // 443 - 40411 - 1996
+ 852 , // 444 - 40c04 - 4178
+ 854 , // 445 - 41404 - 4195
+ 845 , // 446 - 50804 - 4115
+ 857 // 447 - 51004 - 4224
+ };
+
+ internal static string LCIDToLocaleName(int culture)
+ {
+ int left = 0;
+ int right = s_lcids.Length - 1;
+ int index;
+
+ Contract.Assert(s_lcids.Length == s_lcidToCultureNameIndecis.Length);
+
+ while (left <= right)
+ {
+ index = (right + left) / 2;
+
+ if (culture == s_lcids[index])
+ {
+ int indexToLocaleNamesIndices = s_lcidToCultureNameIndecis[index];
+ Contract.Assert(indexToLocaleNamesIndices < s_localeNamesIndices.Length - 1);
+
+ return c_localeNames.Substring(s_localeNamesIndices[indexToLocaleNamesIndices],
+ s_localeNamesIndices[indexToLocaleNamesIndices + 1] -
+ s_localeNamesIndices[indexToLocaleNamesIndices]);
+ }
+ else if (culture < s_lcids[index])
+ {
+ right = index - 1;
+ }
+ else
+ {
+ left = index + 1;
+ }
+ }
+
+ return null;
+ }
+
+ internal static int GetLocaleDataNumericPart(string cultureName, LocaleDataParts part)
+ {
+ int index = SearchCultureName(cultureName);
+ if (index < 0)
+ {
+ return -1;
+ }
+
+ Contract.Assert((s_localeNamesIndices.Length-1 == (s_nameIndexToNumericData.Length/NUMERIC_LOCALE_DATA_COUNT_PER_ROW)) &&
+ index < s_localeNamesIndices.Length);
+
+ return s_nameIndexToNumericData[index * NUMERIC_LOCALE_DATA_COUNT_PER_ROW + (int) part];
+ }
+
+ // SearchCultureName will binary search c_localeNames using s_localeNamesIndices.
+ // return index in s_localeNamesIndices, or -1 if it fail finding any match
+ private static int SearchCultureName(string name)
+ {
+ int left = 0;
+ int right = s_localeNamesIndices.Length - 2;
+ int index;
+ int result;
+
+ Contract.Assert(s_localeNamesIndices[s_localeNamesIndices.Length - 1] == c_localeNames.Length);
+
+ name = CultureData.AnsiToLower(name);
+
+ // Binary search the array until we have only a couple of elements left and then
+ // just walk those elements.
+ while ((right - left) > 3)
+ {
+ index = ((right - left) / 2) + left;
+
+ Contract.Assert(index < s_localeNamesIndices.Length - 1);
+ result = CompareOrdinal(name, c_localeNames, s_localeNamesIndices[index], s_localeNamesIndices[index + 1] - s_localeNamesIndices[index]);
+ if (result == 0)
+ {
+ return index;
+ }
+ else if (result < 0)
+ {
+ right = index;
+ }
+ else
+ {
+ left = index;
+ }
+ }
+
+ // Walk the remaining elements (it'll be 3 or fewer).
+ for (; left <= right; left++)
+ {
+ Contract.Assert(left < s_localeNamesIndices.Length - 1);
+ if (CompareOrdinal(name, c_localeNames, s_localeNamesIndices[left], s_localeNamesIndices[left + 1] - s_localeNamesIndices[left]) == 0)
+ {
+ return (left);
+ }
+ }
+
+ // couldn't find culture name
+ return -1;
+ }
+
+ // optimized to avoid parameters checking
+ private static int CompareOrdinal(string s1, string s2, int index, int length)
+ {
+ int count = s1.Length;
+ if (count > length)
+ count = length;
+
+ int i = 0;
+ while (i < count && s1[i] == s2[index + i])
+ i++;
+
+ if (i < count)
+ return (int)(s1[i] - s2[index + i]);
+
+ return s1.Length - length;
+ }
+ }
+}