1 using System.Globalization;
3 namespace System.Globalization {
5 public class RegionInfo {
8 public RegionInfo (int culture) {
10 if (CultureInfo.IsIDNeutralCulture (culture))
11 throw new ArgumentException ("Culture ID " + culture
12 + " (0x" + culture.ToString ("X4")
13 + ") is a neutral culture. A region can not be created from it.");
16 case 0x0401: // ar-SA Arabic (Saudi Arabia)
17 case 0x0801: // ar-IQ Arabic (Iraq)
18 case 0x0C01: // ar-EG Arabic (Egypt)
19 case 0x1001: // ar-LY Arabic (Libya)
20 case 0x1401: // ar-DZ Arabic (Algeria)
21 case 0x1801: // ar-MA Arabic (Morocco)
22 case 0x1C01: // ar-TN Arabic (Tunisia)
23 case 0x2001: // ar-OM Arabic (Oman)
24 case 0x2401: // ar-YE Arabic (Yemen)
25 case 0x2801: // ar-SY Arabic (Syria)
26 case 0x2C01: // ar-JO Arabic (Jordan)
27 case 0x3001: // ar-LB Arabic (Lebanon)
28 case 0x3401: // ar-KW Arabic (Kuwait)
29 case 0x3801: // ar-AE Arabic (U.A.E.)
30 case 0x3C01: // ar-BH Arabic (Bahrain)
31 case 0x4001: // ar-QA Arabic (Qatar)
32 case 0x0402: // bg-BG Bulgarian (Bulgaria)
33 case 0x0403: // ca-ES Catalan (Spain)
34 case 0x0004: // zh-CHS Chinese (Simplified)
35 case 0x0404: // zh-TW Chinese (Taiwan)
36 case 0x0804: // zh-CN Chinese (People's Republic of China)
37 case 0x0C04: // zh-HK Chinese (Hong Kong S.A.R.)
38 case 0x1004: // zh-SG Chinese (Singapore)
39 case 0x1404: // zh-MO Chinese (Macau S.A.R.)
40 case 0x7C04: // zh-CHT Chinese (Traditional)
41 case 0x0405: // cs-CZ Czech (Czech Republic)
42 case 0x0406: // da-DK Danish (Denmark)
43 case 0x0407: // de-DE German (Germany)
44 case 0x0807: // de-CH German (Switzerland)
45 case 0x0C07: // de-AT German (Austria)
46 case 0x1007: // de-LU German (Luxembourg)
47 case 0x1407: // de-LI German (Liechtenstein)
48 case 0x0408: // el-GR Greek (Greece)
49 case 0x0409: // en-US English (United States)
50 case 0x0809: // en-GB English (United Kingdom)
51 case 0x0C09: // en-AU English (Australia)
52 case 0x1009: // en-CA English (Canada)
53 case 0x1409: // en-NZ English (New Zealand)
54 case 0x1809: // en-IE English (Ireland)
55 case 0x1C09: // en-ZA English (South Africa)
56 case 0x2009: // en-JM English (Jamaica)
57 case 0x2409: // en-CB English (Caribbean)
58 case 0x2809: // en-BZ English (Belize)
59 case 0x2C09: // en-TT English (Trinidad and Tobago)
60 case 0x3009: // en-ZW English (Zimbabwe)
61 case 0x3409: // en-PH English (Republic of the Philippines)
62 case 0x080A: // es-MX Spanish (Mexico)
63 case 0x0C0A: // es-ES Spanish (Spain)
64 case 0x100A: // es-GT Spanish (Guatemala)
65 case 0x140A: // es-CR Spanish (Costa Rica)
66 case 0x180A: // es-PA Spanish (Panama)
67 case 0x1C0A: // es-DO Spanish (Dominican Republic)
68 case 0x200A: // es-VE Spanish (Venezuela)
69 case 0x240A: // es-CO Spanish (Colombia)
70 case 0x280A: // es-PE Spanish (Peru)
71 case 0x2C0A: // es-AR Spanish (Argentina)
72 case 0x300A: // es-EC Spanish (Ecuador)
73 case 0x340A: // es-CL Spanish (Chile)
74 case 0x380A: // es-UY Spanish (Uruguay)
75 case 0x3C0A: // es-PY Spanish (Paraguay)
76 case 0x400A: // es-BO Spanish (Bolivia)
77 case 0x440A: // es-SV Spanish (El Salvador)
78 case 0x480A: // es-HN Spanish (Honduras)
79 case 0x4C0A: // es-NI Spanish (Nicaragua)
80 case 0x500A: // es-PR Spanish (Puerto Rico)
81 case 0x040B: // fi-FI Finnish (Finland)
82 case 0x040C: // fr-FR French (France)
83 case 0x080C: // fr-BE French (Belgium)
84 case 0x0C0C: // fr-CA French (Canada)
85 case 0x100C: // fr-CH French (Switzerland)
86 case 0x140C: // fr-LU French (Luxembourg)
87 case 0x180C: // fr-MC French (Principality of Monaco)
88 case 0x040D: // he-IL Hebrew (Israel)
89 case 0x040E: // hu-HU Hungarian (Hungary)
90 case 0x040F: // is-IS Icelandic (Iceland)
91 case 0x0410: // it-IT Italian (Italy)
92 case 0x0810: // it-CH Italian (Switzerland)
93 case 0x0411: // ja-JP Japanese (Japan)
94 case 0x0412: // ko-KR Korean (Korea)
95 case 0x0413: // nl-NL Dutch (Netherlands)
96 case 0x0813: // nl-BE Dutch (Belgium)
97 case 0x0414: // nb-NO Norwegian (Bokmål) (Norway)
98 case 0x0814: // nn-NO Norwegian (Nynorsk) (Norway)
99 case 0x0415: // pl-PL Polish (Poland)
100 case 0x0016: // pt Portuguese
101 case 0x0416: // pt-BR Portuguese (Brazil)
102 case 0x0816: // pt-PT Portuguese (Portugal)
103 case 0x0418: // ro-RO Romanian (Romania)
104 case 0x0419: // ru-RU Russian (Russia)
105 case 0x041A: // hr-HR Croatian (Croatia)
106 case 0x081A: // Lt-sr-SP Serbian (Latin) (Serbia)
107 case 0x0C1A: // Cy-sr-SP Serbian (Cyrillic) (Serbia)
108 case 0x041B: // sk-SK Slovak (Slovakia)
109 case 0x041C: // sq-AL Albanian (Albania)
110 case 0x041D: // sv-SE Swedish (Sweden)
111 case 0x081D: // sv-FI Swedish (Finland)
112 case 0x041E: // th-TH Thai (Thailand)
113 case 0x041F: // tr-TR Turkish (Turkey)
114 case 0x0420: // ur-PK Urdu (Islamic Republic of Pakistan)
115 case 0x0421: // id-ID Indonesian (Indonesia)
116 case 0x0422: // uk-UA Ukrainian (Ukraine)
117 case 0x0423: // be-BY Belarusian (Belarus)
118 case 0x0424: // sl-SI Slovenian (Slovenia)
119 case 0x0425: // et-EE Estonian (Estonia)
120 case 0x0426: // lv-LV Latvian (Latvia)
121 case 0x0427: // lt-LT Lithuanian (Lithuania)
122 case 0x0429: // fa-IR Farsi (Iran)
123 case 0x042A: // vi-VN Vietnamese (Viet Nam)
124 case 0x042B: // hy-AM Armenian (Armenia)
125 case 0x042C: // Lt-az-AZ Azeri (Latin) (Azerbaijan)
126 case 0x082C: // Cy-az-AZ Azeri (Cyrillic) (Azerbaijan)
127 case 0x042D: // eu-ES Basque (Spain)
128 case 0x042F: // mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
129 case 0x0436: // af-ZA Afrikaans (South Africa)
130 case 0x0437: // ka-GE Georgian (Georgia)
131 case 0x0438: // fo-FO Faeroese (Faeroe Islands)
132 case 0x0439: // hi-IN Hindi (India)
133 case 0x043E: // ms-MY Malay (Malaysia)
134 case 0x083E: // ms-BN Malay (Brunei Darussalam)
135 case 0x043F: // kk-KZ Kazakh (Kazakhstan)
136 case 0x0440: // ky-KZ Kyrgyz (Kyrgyzstan)
137 case 0x0441: // sw-KE Swahili (Kenya)
138 case 0x0443: // Lt-uz-UZ Uzbek (Latin) (Uzbekistan)
139 case 0x0843: // Cy-uz-UZ Uzbek (Cyrillic) (Uzbekistan)
140 case 0x0444: // tt-TA Tatar (Tatarstan)
141 case 0x0446: // pa-IN Punjabi (India)
142 case 0x0447: // gu-IN Gujarati (India)
143 case 0x0449: // ta-IN Tamil (India)
144 case 0x044A: // te-IN Telugu (India)
145 case 0x044B: // kn-IN Kannada (India)
146 case 0x044E: // mr-IN Marathi (India)
147 case 0x044F: // sa-IN Sanskrit (India)
148 case 0x0450: // mn-MN Mongolian (Mongolia)
149 case 0x0456: // gl-ES Galician (Spain)
150 case 0x0457: // kok-IN Konkani (India)
151 case 0x045A: // syr-SY Syriac (Syria)
152 case 0x0465: // div-MV Divehi (Maldives)
153 case 0x007F: // Invariant Language (Invariant Country)
154 throw new ArgumentException ("There is no region associated with the Invariant Culture (Culture ID: 0x7F).");
156 throw new ArgumentException ("Culture ID " + culture + " (0x" + culture.ToString ("X4")
157 + ") is not a supported culture.");
161 public RegionInfo (string name) {
163 case "AF": // Afghanistan
166 case "AL": // Albania
169 case "DZ": // Algeria
172 case "AS": // American Samoa
175 case "AD": // Andorra
181 case "AI": // Anguilla
184 case "AQ": // Antarctica
187 case "AG": // Antigua And Barbuda
190 case "AR": // Argentina
193 case "AM": // Armenia
199 case "AU": // Australia
202 case "AT": // Austria
205 case "AZ": // Azerbaijan
208 case "BS": // Bahamas
211 case "BH": // Bahrain
214 case "BD": // Bangladesh
217 case "BB": // Barbados
220 case "BY": // Belarus
223 case "BE": // Belgium
232 case "BM": // Bermuda
238 case "BO": // Bolivia
241 case "BA": // Bosnia And Herzegowina
244 case "BW": // Botswana
247 case "BV": // Bouvet Island
253 case "IO": // British Indian Ocean Territory
256 case "BN": // Brunei Darussalam
259 case "BG": // Bulgaria
262 case "BF": // Burkina Faso
265 case "BI": // Burundi
268 case "KH": // Cambodia
271 case "CM": // Cameroon
277 case "CV": // Cape Verde
280 case "KY": // Cayman Islands
283 case "CF": // Central African Republic
295 case "CX": // Christmas Island
298 case "CC": // Cocos (Keeling) Islands
301 case "CO": // Colombia
304 case "KM": // Comoros
310 case "CK": // Cook Islands
313 case "CR": // Costa Rica
316 case "CI": // Cote D'Ivoire
319 case "HR": // Croatia (Local Name: Hrvatska)
328 case "CZ": // Czech Republic
331 case "DK": // Denmark
334 case "DJ": // Djibouti
337 case "DM": // Dominica
340 case "DO": // Dominican Republic
343 case "TP": // East Timor
346 case "EC": // Ecuador
352 case "SV": // El Salvador
355 case "GQ": // Equatorial Guinea
358 case "ER": // Eritrea
361 case "EE": // Estonia
364 case "ET": // Ethiopia
367 case "FK": // Falkland Islands (Malvinas)
370 case "FO": // Faroe Islands
376 case "FI": // Finland
382 case "FX": // France, Metropolitan
385 case "GF": // French Guiana
388 case "PF": // French Polynesia
391 case "TF": // French Southern Territories
400 case "GE": // Georgia
403 case "DE": // Germany
409 case "GI": // Gibraltar
415 case "GL": // Greenland
418 case "GD": // Grenada
421 case "GP": // Guadeloupe
427 case "GT": // Guatemala
433 case "GW": // Guinea-Bissau
442 case "HM": // Heard And Mc Donald Islands
445 case "VA": // Holy See (Vatican City State)
448 case "HN": // Honduras
451 case "HK": // Hong Kong
454 case "HU": // Hungary
457 case "IS": // Iceland
463 case "ID": // Indonesia
466 case "IR": // Iran (Islamic Republic Of)
472 case "IE": // Ireland
481 case "JM": // Jamaica
490 case "KZ": // Kazakhstan
496 case "KI": // Kiribati
499 case "KP": // Korea, Democratic People'S Republic Of
502 case "KR": // Korea, Republic Of
508 case "KG": // Kyrgyzstan
511 case "LA": // Lao People'S Democratic Republic
517 case "LB": // Lebanon
520 case "LS": // Lesotho
523 case "LR": // Liberia
526 case "LY": // Libyan Arab Jamahiriya
529 case "LI": // Liechtenstein
532 case "LT": // Lithuania
535 case "LU": // Luxembourg
541 case "MK": // Macedonia, The Former Yugoslav Republic Of
544 case "MG": // Madagascar
550 case "MY": // Malaysia
553 case "MV": // Maldives
562 case "MH": // Marshall Islands
565 case "MQ": // Martinique
568 case "MR": // Mauritania
571 case "MU": // Mauritius
574 case "YT": // Mayotte
580 case "FM": // Micronesia, Federated States Of
583 case "MD": // Moldova, Republic Of
589 case "MN": // Mongolia
592 case "MS": // Montserrat
595 case "MA": // Morocco
598 case "MZ": // Mozambique
601 case "MM": // Myanmar
604 case "NA": // Namibia
613 case "NL": // Netherlands
616 case "AN": // Netherlands Antilles
619 case "NC": // New Caledonia
622 case "NZ": // New Zealand
625 case "NI": // Nicaragua
631 case "NG": // Nigeria
637 case "NF": // Norfolk Island
640 case "MP": // Northern Mariana Islands
649 case "PK": // Pakistan
658 case "PG": // Papua New Guinea
661 case "PY": // Paraguay
667 case "PH": // Philippines
670 case "PN": // Pitcairn
676 case "PT": // Portugal
679 case "PR": // Puerto Rico
685 case "RE": // Reunion
688 case "RO": // Romania
691 case "RU": // Russian Federation
697 case "KN": // Saint Kitts And Nevis
700 case "LC": // Saint Lucia
703 case "VC": // Saint Vincent And The Grenadines
709 case "SM": // San Marino
712 case "ST": // Sao Tome And Principe
715 case "SA": // Saudi Arabia
718 case "SN": // Senegal
721 case "SC": // Seychelles
724 case "SL": // Sierra Leone
727 case "SG": // Singapore
730 case "SK": // Slovakia (Slovak Republic)
733 case "SI": // Slovenia
736 case "SB": // Solomon Islands
739 case "SO": // Somalia
742 case "ZA": // South Africa
745 case "GS": // South Georgia And The South Sandwich Islands
751 case "LK": // Sri Lanka
754 case "SH": // St. Helena
757 case "PM": // St. Pierre And Miquelon
763 case "SR": // Suriname
766 case "SJ": // Svalbard And Jan Mayen Islands
769 case "SZ": // Swaziland
775 case "CH": // Switzerland
778 case "SY": // Syrian Arab Republic
781 case "TW": // Taiwan, Province Of China
784 case "TJ": // Tajikistan
787 case "TZ": // Tanzania, United Republic Of
790 case "TH": // Thailand
796 case "TK": // Tokelau
802 case "TT": // Trinidad And Tobago
805 case "TN": // Tunisia
811 case "TM": // Turkmenistan
814 case "TC": // Turks And Caicos Islands
823 case "UA": // Ukraine
826 case "AE": // United Arab Emirates
829 case "GB": // United Kingdom
832 case "US": // United States
835 case "UM": // United States Minor Outlying Islands
838 case "UY": // Uruguay
841 case "UZ": // Uzbekistan
844 case "VU": // Vanuatu
847 case "VE": // Venezuela
850 case "VN": // Viet Nam
853 case "VG": // Virgin Islands (British)
856 case "VI": // Virgin Islands (U.S.)
859 case "WF": // Wallis And Futuna Islands
862 case "EH": // Western Sahara
868 case "YU": // Yugoslavia
877 case "ZW": // Zimbabwe
881 throw new ArgumentException ("Region name " + name + " is not supported.");
885 public virtual string CurrencySymbol {
889 throw new Exception ();
894 public override bool Equals(object value) {
895 return value == this;
898 public override int GetHashCode () {
899 return NLS_id.GetHashCode ();