ops, it should build again, I am sorry
[mono.git] / mcs / class / corlib / System.Globalization / RegionInfo.cs
1 using System.Globalization;
2
3 namespace System.Globalization {
4
5         public class RegionInfo {
6                 int NLS_id;
7
8                 public RegionInfo (int culture) {
9
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.");
14
15                         switch (culture) {
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).");
155                         default:
156                                 throw new ArgumentException ("Culture ID " + culture + " (0x" + culture.ToString ("X4")
157                                                          + ") is not a supported culture.");
158                         }
159                 }
160
161                 public RegionInfo (string name) {
162                         switch (name) {
163                         case "AF": // Afghanistan
164                                 NLS_id = 004;
165                                 break;
166                         case "AL": // Albania
167                                 NLS_id = 008;
168                                 break;
169                         case "DZ": // Algeria
170                                 NLS_id = 012;
171                                 break;
172                         case "AS": // American Samoa
173                                 NLS_id = 016;
174                                 break;
175                         case "AD": // Andorra
176                                 NLS_id = 020;
177                                 break;
178                         case "AO": // Angola
179                                 NLS_id = 024;
180                                 break;
181                         case "AI": // Anguilla
182                                 NLS_id = 660;
183                                 break;
184                         case "AQ": // Antarctica
185                                 NLS_id = 010;
186                                 break;
187                         case "AG": // Antigua And Barbuda
188                                 NLS_id = 028;
189                                 break;
190                         case "AR": // Argentina
191                                 NLS_id = 032;
192                                 break;
193                         case "AM": // Armenia
194                                 NLS_id = 051;
195                                 break;
196                         case "AW": // Aruba
197                                 NLS_id = 533;
198                                 break;
199                         case "AU": // Australia
200                                 NLS_id = 036;
201                                 break;
202                         case "AT": // Austria
203                                 NLS_id = 040;
204                                 break;
205                         case "AZ": // Azerbaijan
206                                 NLS_id = 031;
207                                 break;
208                         case "BS": // Bahamas
209                                 NLS_id = 044;
210                                 break;
211                         case "BH": // Bahrain
212                                 NLS_id = 048;
213                                 break;
214                         case "BD": // Bangladesh
215                                 NLS_id = 050;
216                                 break;
217                         case "BB": // Barbados
218                                 NLS_id = 052;
219                                 break;
220                         case "BY": // Belarus
221                                 NLS_id = 112;
222                                 break;
223                         case "BE": // Belgium
224                                 NLS_id = 056;
225                                 break;
226                         case "BZ": // Belize
227                                 NLS_id = 084;
228                                 break;
229                         case "BJ": // Benin
230                                 NLS_id = 204;
231                                 break;
232                         case "BM": // Bermuda
233                                 NLS_id = 060;
234                                 break;
235                         case "BT": // Bhutan
236                                 NLS_id = 064;
237                                 break;
238                         case "BO": // Bolivia
239                                 NLS_id = 068;
240                                 break;
241                         case "BA": // Bosnia And Herzegowina
242                                 NLS_id = 070;
243                                 break;
244                         case "BW": // Botswana
245                                 NLS_id = 072;
246                                 break;
247                         case "BV": // Bouvet Island
248                                 NLS_id = 074;
249                                 break;
250                         case "BR": // Brazil
251                                 NLS_id = 076;
252                                 break;
253                         case "IO": // British Indian Ocean Territory
254                                 NLS_id = 086;
255                                 break;
256                         case "BN": // Brunei Darussalam
257                                 NLS_id = 096;
258                                 break;
259                         case "BG": // Bulgaria
260                                 NLS_id = 100;
261                                 break;
262                         case "BF": // Burkina Faso
263                                 NLS_id = 854;
264                                 break;
265                         case "BI": // Burundi
266                                 NLS_id = 108;
267                                 break;
268                         case "KH": // Cambodia
269                                 NLS_id = 116;
270                                 break;
271                         case "CM": // Cameroon
272                                 NLS_id = 120;
273                                 break;
274                         case "CA": // Canada
275                                 NLS_id = 124;
276                                 break;
277                         case "CV": // Cape Verde
278                                 NLS_id = 132;
279                                 break;
280                         case "KY": // Cayman Islands
281                                 NLS_id = 136;
282                                 break;
283                         case "CF": // Central African Republic
284                                 NLS_id = 140;
285                                 break;
286                         case "TD": // Chad
287                                 NLS_id = 148;
288                                 break;
289                         case "CL": // Chile
290                                 NLS_id = 152;
291                                 break;
292                         case "CN": // China
293                                 NLS_id = 156;
294                                 break;
295                         case "CX": // Christmas Island
296                                 NLS_id = 162;
297                                 break;
298                         case "CC": // Cocos (Keeling) Islands
299                                 NLS_id = 166;
300                                 break;
301                         case "CO": // Colombia
302                                 NLS_id = 170;
303                                 break;
304                         case "KM": // Comoros
305                                 NLS_id = 174;
306                                 break;
307                         case "CG": // Congo
308                                 NLS_id = 178;
309                                 break;
310                         case "CK": // Cook Islands
311                                 NLS_id = 184;
312                                 break;
313                         case "CR": // Costa Rica
314                                 NLS_id = 188;
315                                 break;
316                         case "CI": // Cote D'Ivoire
317                                 NLS_id = 384;
318                                 break;
319                         case "HR": // Croatia (Local Name: Hrvatska)
320                                 NLS_id = 191;
321                                 break;
322                         case "CU": // Cuba
323                                 NLS_id = 192;
324                                 break;
325                         case "CY": // Cyprus
326                                 NLS_id = 196;
327                                 break;
328                         case "CZ": // Czech Republic
329                                 NLS_id = 203;
330                                 break;
331                         case "DK": // Denmark
332                                 NLS_id = 208;
333                                 break;
334                         case "DJ": // Djibouti
335                                 NLS_id = 262;
336                                 break;
337                         case "DM": // Dominica
338                                 NLS_id = 212;
339                                 break;
340                         case "DO": // Dominican Republic
341                                 NLS_id = 214;
342                                 break;
343                         case "TP": // East Timor
344                                 NLS_id = 626;
345                                 break;
346                         case "EC": // Ecuador
347                                 NLS_id = 218;
348                                 break;
349                         case "EG": // Egypt
350                                 NLS_id = 818;
351                                 break;
352                         case "SV": // El Salvador
353                                 NLS_id = 222;
354                                 break;
355                         case "GQ": // Equatorial Guinea
356                                 NLS_id = 226;
357                                 break;
358                         case "ER": // Eritrea
359                                 NLS_id = 232;
360                                 break;
361                         case "EE": // Estonia
362                                 NLS_id = 233;
363                                 break;
364                         case "ET": // Ethiopia
365                                 NLS_id = 231;
366                                 break;
367                         case "FK": // Falkland Islands (Malvinas)
368                                 NLS_id = 238;
369                                 break;
370                         case "FO": // Faroe Islands
371                                 NLS_id = 234;
372                                 break;
373                         case "FJ": // Fiji
374                                 NLS_id = 242;
375                                 break;
376                         case "FI": // Finland
377                                 NLS_id = 246;
378                                 break;
379                         case "FR": // France
380                                 NLS_id = 250;
381                                 break;
382                         case "FX": // France, Metropolitan
383                                 NLS_id = 249;
384                                 break;
385                         case "GF": // French Guiana
386                                 NLS_id = 254;
387                                 break;
388                         case "PF": // French Polynesia
389                                 NLS_id = 258;
390                                 break;
391                         case "TF": // French Southern Territories
392                                 NLS_id = 260;
393                                 break;
394                         case "GA": // Gabon
395                                 NLS_id = 266;
396                                 break;
397                         case "GM": // Gambia
398                                 NLS_id = 270;
399                                 break;
400                         case "GE": // Georgia
401                                 NLS_id = 268;
402                                 break;
403                         case "DE": // Germany
404                                 NLS_id = 276;
405                                 break;
406                         case "GH": // Ghana
407                                 NLS_id = 288;
408                                 break;
409                         case "GI": // Gibraltar
410                                 NLS_id = 292;
411                                 break;
412                         case "GR": // Greece
413                                 NLS_id = 300;
414                                 break;
415                         case "GL": // Greenland
416                                 NLS_id = 304;
417                                 break;
418                         case "GD": // Grenada
419                                 NLS_id = 308;
420                                 break;
421                         case "GP": // Guadeloupe
422                                 NLS_id = 312;
423                                 break;
424                         case "GU": // Guam
425                                 NLS_id = 316;
426                                 break;
427                         case "GT": // Guatemala
428                                 NLS_id = 320;
429                                 break;
430                         case "GN": // Guinea
431                                 NLS_id = 324;
432                                 break;
433                         case "GW": // Guinea-Bissau
434                                 NLS_id = 624;
435                                 break;
436                         case "GY": // Guyana
437                                 NLS_id = 328;
438                                 break;
439                         case "HT": // Haiti
440                                 NLS_id = 332;
441                                 break;
442                         case "HM": // Heard And Mc Donald Islands
443                                 NLS_id = 334;
444                                 break;
445                         case "VA": // Holy See (Vatican City State)
446                                 NLS_id = 336;
447                                 break;
448                         case "HN": // Honduras
449                                 NLS_id = 340;
450                                 break;
451                         case "HK": // Hong Kong
452                                 NLS_id = 344;
453                                 break;
454                         case "HU": // Hungary
455                                 NLS_id = 348;
456                                 break;
457                         case "IS": // Iceland
458                                 NLS_id = 352;
459                                 break;
460                         case "IN": // India
461                                 NLS_id = 356;
462                                 break;
463                         case "ID": // Indonesia
464                                 NLS_id = 360;
465                                 break;
466                         case "IR": // Iran (Islamic Republic Of)
467                                 NLS_id = 364;
468                                 break;
469                         case "IQ": // Iraq
470                                 NLS_id = 368;
471                                 break;
472                         case "IE": // Ireland
473                                 NLS_id = 372;
474                                 break;
475                         case "IL": // Israel
476                                 NLS_id = 376;
477                                 break;
478                         case "IT": // Italy
479                                 NLS_id = 380;
480                                 break;
481                         case "JM": // Jamaica
482                                 NLS_id = 388;
483                                 break;
484                         case "JP": // Japan
485                                 NLS_id = 392;
486                                 break;
487                         case "JO": // Jordan
488                                 NLS_id = 400;
489                                 break;
490                         case "KZ": // Kazakhstan
491                                 NLS_id = 398;
492                                 break;
493                         case "KE": // Kenya
494                                 NLS_id = 404;
495                                 break;
496                         case "KI": // Kiribati
497                                 NLS_id = 296;
498                                 break;
499                         case "KP": // Korea, Democratic People'S Republic Of
500                                 NLS_id = 408;
501                                 break;
502                         case "KR": // Korea, Republic Of
503                                 NLS_id = 410;
504                                 break;
505                         case "KW": // Kuwait
506                                 NLS_id = 414;
507                                 break;
508                         case "KG": // Kyrgyzstan
509                                 NLS_id = 417;
510                                 break;
511                         case "LA": // Lao People'S Democratic Republic
512                                 NLS_id = 418;
513                                 break;
514                         case "LV": // Latvia
515                                 NLS_id = 428;
516                                 break;
517                         case "LB": // Lebanon
518                                 NLS_id = 422;
519                                 break;
520                         case "LS": // Lesotho
521                                 NLS_id = 426;
522                                 break;
523                         case "LR": // Liberia
524                                 NLS_id = 430;
525                                 break;
526                         case "LY": // Libyan Arab Jamahiriya
527                                 NLS_id = 434;
528                                 break;
529                         case "LI": // Liechtenstein
530                                 NLS_id = 438;
531                                 break;
532                         case "LT": // Lithuania
533                                 NLS_id = 440;
534                                 break;
535                         case "LU": // Luxembourg
536                                 NLS_id = 442;
537                                 break;
538                         case "MO": // Macau
539                                 NLS_id = 446;
540                                 break;
541                         case "MK": // Macedonia, The Former Yugoslav Republic Of
542                                 NLS_id = 807;
543                                 break;
544                         case "MG": // Madagascar
545                                 NLS_id = 450;
546                                 break;
547                         case "MW": // Malawi
548                                 NLS_id = 454;
549                                 break;
550                         case "MY": // Malaysia
551                                 NLS_id = 458;
552                                 break;
553                         case "MV": // Maldives
554                                 NLS_id = 462;
555                                 break;
556                         case "ML": // Mali
557                                 NLS_id = 466;
558                                 break;
559                         case "MT": // Malta
560                                 NLS_id = 470;
561                                 break;
562                         case "MH": // Marshall Islands
563                                 NLS_id = 584;
564                                 break;
565                         case "MQ": // Martinique
566                                 NLS_id = 474;
567                                 break;
568                         case "MR": // Mauritania
569                                 NLS_id = 478;
570                                 break;
571                         case "MU": // Mauritius
572                                 NLS_id = 480;
573                                 break;
574                         case "YT": // Mayotte
575                                 NLS_id = 175;
576                                 break;
577                         case "MX": // Mexico
578                                 NLS_id = 484;
579                                 break;
580                         case "FM": // Micronesia, Federated States Of
581                                 NLS_id = 583;
582                                 break;
583                         case "MD": // Moldova, Republic Of
584                                 NLS_id = 498;
585                                 break;
586                         case "MC": // Monaco
587                                 NLS_id = 492;
588                                 break;
589                         case "MN": // Mongolia
590                                 NLS_id = 496;
591                                 break;
592                         case "MS": // Montserrat
593                                 NLS_id = 500;
594                                 break;
595                         case "MA": // Morocco
596                                 NLS_id = 504;
597                                 break;
598                         case "MZ": // Mozambique
599                                 NLS_id = 508;
600                                 break;
601                         case "MM": // Myanmar
602                                 NLS_id = 104;
603                                 break;
604                         case "NA": // Namibia
605                                 NLS_id = 516;
606                                 break;
607                         case "NR": // Nauru
608                                 NLS_id = 520;
609                                 break;
610                         case "NP": // Nepal
611                                 NLS_id = 524;
612                                 break;
613                         case "NL": // Netherlands
614                                 NLS_id = 528;
615                                 break;
616                         case "AN": // Netherlands Antilles
617                                 NLS_id = 530;
618                                 break;
619                         case "NC": // New Caledonia
620                                 NLS_id = 540;
621                                 break;
622                         case "NZ": // New Zealand
623                                 NLS_id = 554;
624                                 break;
625                         case "NI": // Nicaragua
626                                 NLS_id = 558;
627                                 break;
628                         case "NE": // Niger
629                                 NLS_id = 562;
630                                 break;
631                         case "NG": // Nigeria
632                                 NLS_id = 566;
633                                 break;
634                         case "NU": // Niue
635                                 NLS_id = 570;
636                                 break;
637                         case "NF": // Norfolk Island
638                                 NLS_id = 574;
639                                 break;
640                         case "MP": // Northern Mariana Islands
641                                 NLS_id = 580;
642                                 break;
643                         case "NO": // Norway
644                                 NLS_id = 578;
645                                 break;
646                         case "OM": // Oman
647                                 NLS_id = 512;
648                                 break;
649                         case "PK": // Pakistan
650                                 NLS_id = 586;
651                                 break;
652                         case "PW": // Palau
653                                 NLS_id = 585;
654                                 break;
655                         case "PA": // Panama
656                                 NLS_id = 591;
657                                 break;
658                         case "PG": // Papua New Guinea
659                                 NLS_id = 598;
660                                 break;
661                         case "PY": // Paraguay
662                                 NLS_id = 600;
663                                 break;
664                         case "PE": // Peru
665                                 NLS_id = 604;
666                                 break;
667                         case "PH": // Philippines
668                                 NLS_id = 608;
669                                 break;
670                         case "PN": // Pitcairn
671                                 NLS_id = 612;
672                                 break;
673                         case "PL": // Poland
674                                 NLS_id = 616;
675                                 break;
676                         case "PT": // Portugal
677                                 NLS_id = 620;
678                                 break;
679                         case "PR": // Puerto Rico
680                                 NLS_id = 630;
681                                 break;
682                         case "QA": // Qatar
683                                 NLS_id = 634;
684                                 break;
685                         case "RE": // Reunion
686                                 NLS_id = 638;
687                                 break;
688                         case "RO": // Romania
689                                 NLS_id = 642;
690                                 break;
691                         case "RU": // Russian Federation
692                                 NLS_id = 643;
693                                 break;
694                         case "RW": // Rwanda
695                                 NLS_id = 646;
696                                 break;
697                         case "KN": // Saint Kitts And Nevis
698                                 NLS_id = 659;
699                                 break;
700                         case "LC": // Saint Lucia
701                                 NLS_id = 662;
702                                 break;
703                         case "VC": // Saint Vincent And The Grenadines
704                                 NLS_id = 670;
705                                 break;
706                         case "WS": // Samoa
707                                 NLS_id = 882;
708                                 break;
709                         case "SM": // San Marino
710                                 NLS_id = 674;
711                                 break;
712                         case "ST": // Sao Tome And Principe
713                                 NLS_id = 678;
714                                 break;
715                         case "SA": // Saudi Arabia
716                                 NLS_id = 682;
717                                 break;
718                         case "SN": // Senegal
719                                 NLS_id = 686;
720                                 break;
721                         case "SC": // Seychelles
722                                 NLS_id = 690;
723                                 break;
724                         case "SL": // Sierra Leone
725                                 NLS_id = 694;
726                                 break;
727                         case "SG": // Singapore
728                                 NLS_id = 702;
729                                 break;
730                         case "SK": // Slovakia (Slovak Republic)
731                                 NLS_id = 703;
732                                 break;
733                         case "SI": // Slovenia
734                                 NLS_id = 705;
735                                 break;
736                         case "SB": // Solomon Islands
737                                 NLS_id = 090;
738                                 break;
739                         case "SO": // Somalia
740                                 NLS_id = 706;
741                                 break;
742                         case "ZA": // South Africa
743                                 NLS_id = 710;
744                                 break;
745                         case "GS": // South Georgia And The South Sandwich Islands
746                                 NLS_id = 239;
747                                 break;
748                         case "ES": // Spain
749                                 NLS_id = 724;
750                                 break;
751                         case "LK": // Sri Lanka
752                                 NLS_id = 144;
753                                 break;
754                         case "SH": // St. Helena
755                                 NLS_id = 654;
756                                 break;
757                         case "PM": // St. Pierre And Miquelon
758                                 NLS_id = 666;
759                                 break;
760                         case "SD": // Sudan
761                                 NLS_id = 736;
762                                 break;
763                         case "SR": // Suriname
764                                 NLS_id = 740;
765                                 break;
766                         case "SJ": // Svalbard And Jan Mayen Islands
767                                 NLS_id = 744;
768                                 break;
769                         case "SZ": // Swaziland
770                                 NLS_id = 748;
771                                 break;
772                         case "SE": // Sweden
773                                 NLS_id = 752;
774                                 break;
775                         case "CH": // Switzerland
776                                 NLS_id = 756;
777                                 break;
778                         case "SY": // Syrian Arab Republic
779                                 NLS_id = 760;
780                                 break;
781                         case "TW": // Taiwan, Province Of China
782                                 NLS_id = 158;
783                                 break;
784                         case "TJ": // Tajikistan
785                                 NLS_id = 762;
786                                 break;
787                         case "TZ": // Tanzania, United Republic Of
788                                 NLS_id = 834;
789                                 break;
790                         case "TH": // Thailand
791                                 NLS_id = 764;
792                                 break;
793                         case "TG": // Togo
794                                 NLS_id = 768;
795                                 break;
796                         case "TK": // Tokelau
797                                 NLS_id = 772;
798                                 break;
799                         case "TO": // Tonga
800                                 NLS_id = 776;
801                                 break;
802                         case "TT": // Trinidad And Tobago
803                                 NLS_id = 780;
804                                 break;
805                         case "TN": // Tunisia
806                                 NLS_id = 788;
807                                 break;
808                         case "TR": // Turkey
809                                 NLS_id = 792;
810                                 break;
811                         case "TM": // Turkmenistan
812                                 NLS_id = 795;
813                                 break;
814                         case "TC": // Turks And Caicos Islands
815                                 NLS_id = 796;
816                                 break;
817                         case "TV": // Tuvalu
818                                 NLS_id = 798;
819                                 break;
820                         case "UG": // Uganda
821                                 NLS_id = 800;
822                                 break;
823                         case "UA": // Ukraine
824                                 NLS_id = 804;
825                                 break;
826                         case "AE": // United Arab Emirates
827                                 NLS_id = 784;
828                                 break;
829                         case "GB": // United Kingdom
830                                 NLS_id = 826;
831                                 break;
832                         case "US": // United States
833                                 NLS_id = 840;
834                                 break;
835                         case "UM": // United States Minor Outlying Islands
836                                 NLS_id = 581;
837                                 break;
838                         case "UY": // Uruguay
839                                 NLS_id = 858;
840                                 break;
841                         case "UZ": // Uzbekistan
842                                 NLS_id = 860;
843                                 break;
844                         case "VU": // Vanuatu
845                                 NLS_id = 548;
846                                 break;
847                         case "VE": // Venezuela
848                                 NLS_id = 862;
849                                 break;
850                         case "VN": // Viet Nam
851                                 NLS_id = 704;
852                                 break;
853                         case "VG": // Virgin Islands (British)
854                                 NLS_id = 092;
855                                 break;
856                         case "VI": // Virgin Islands (U.S.)
857                                 NLS_id = 850;
858                                 break;
859                         case "WF": // Wallis And Futuna Islands
860                                 NLS_id = 876;
861                                 break;
862                         case "EH": // Western Sahara
863                                 NLS_id = 732;
864                                 break;
865                         case "YE": // Yemen
866                                 NLS_id = 887;
867                                 break;
868                         case "YU": // Yugoslavia
869                                 NLS_id = 891;
870                                 break;
871                         case "ZR": // Zaire
872                                 NLS_id = 180;
873                                 break;
874                         case "ZM": // Zambia
875                                 NLS_id = 894;
876                                 break;
877                         case "ZW": // Zimbabwe
878                                 NLS_id = 716;
879                                 break;
880                         default:
881                                 throw new ArgumentException ("Region name " + name + " is not supported.");
882                         }
883                 }
884
885                 public virtual string CurrencySymbol {
886                         get {
887                                 switch (NLS_id) {
888                                 default:
889                                         throw new Exception ();
890                                 }
891                         }
892                 }
893
894                 public override bool Equals(object value) {
895                         return value == this;
896                 }
897
898                 public override int GetHashCode () {
899                         return NLS_id.GetHashCode ();
900                 }
901         }
902
903 }