added translation CultureInfo id --> RegionInfo id
[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                                 NLS_id = 682;
18                                 break;
19                         case 0x0801: // ar-IQ Arabic (Iraq)
20                                 NLS_id = 368;
21                                 break;
22                         case 0x0C01: // ar-EG Arabic (Egypt)
23                                 NLS_id = 818;
24                                 break;
25                         case 0x1001: // ar-LY Arabic (Libya)
26                                 NLS_id = 434;
27                                 break;
28                         case 0x1401: // ar-DZ Arabic (Algeria)
29                                 NLS_id = 12;
30                                 break;
31                         case 0x1801: // ar-MA Arabic (Morocco)
32                                 NLS_id = 504;
33                                 break;
34                         case 0x1C01: // ar-TN Arabic (Tunisia)
35                                 NLS_id = 788;
36                                 break;
37                         case 0x2001: // ar-OM Arabic (Oman)
38                                 NLS_id = 512;
39                                 break;
40                         case 0x2401: // ar-YE Arabic (Yemen)
41                                 NLS_id = 887;
42                                 break;
43                         case 0x2801: // ar-SY Arabic (Syria)
44                                 NLS_id = 760;
45                                 break;
46                         case 0x2C01: // ar-JO Arabic (Jordan)
47                                 NLS_id = 400;
48                                 break;
49                         case 0x3001: // ar-LB Arabic (Lebanon)
50                                 NLS_id = 422;
51                                 break;
52                         case 0x3401: // ar-KW Arabic (Kuwait)
53                                 NLS_id = 414;
54                                 break;
55                         case 0x3801: // ar-AE Arabic (U.A.E.)
56                                 NLS_id = 784;
57                                 break;
58                         case 0x3C01: // ar-BH Arabic (Bahrain)
59                                 NLS_id = 48;
60                                 break;
61                         case 0x4001: // ar-QA Arabic (Qatar)
62                                 NLS_id = 634;
63                                 break;
64                         case 0x0402: // bg-BG Bulgarian (Bulgaria)
65                                 NLS_id = 100;
66                                 break;
67                         case 0x0403: // ca-ES Catalan (Spain)
68                                 NLS_id = 724;
69                                 break;
70                         case 0x0404: // zh-TW Chinese (Taiwan)
71                                 NLS_id = 158;
72                                 break;
73                         case 0x0804: // zh-CN Chinese (People's Republic of China)
74                                 NLS_id = 156;
75                                 break;
76                         case 0x0C04: // zh-HK Chinese (Hong Kong S.A.R.)
77                                 NLS_id = 344;
78                                 break;
79                         case 0x1004: // zh-SG Chinese (Singapore)
80                                 NLS_id = 702;
81                                 break;
82                         case 0x1404: // zh-MO Chinese (Macau S.A.R.)
83                                 NLS_id = 446;
84                                 break;
85                         case 0x0405: // cs-CZ Czech (Czech Republic)
86                                 NLS_id = 203;
87                                 break;
88                         case 0x0406: // da-DK Danish (Denmark)
89                                 NLS_id = 208;
90                                 break;
91                         case 0x0407: // de-DE German (Germany)
92                                 NLS_id = 276;
93                                 break;
94                         case 0x0807: // de-CH German (Switzerland)
95                                 NLS_id = 756;
96                                 break;
97                         case 0x0C07: // de-AT German (Austria)
98                                 NLS_id = 40;
99                                 break;
100                         case 0x1007: // de-LU German (Luxembourg)
101                                 NLS_id = 442;
102                                 break;
103                         case 0x1407: // de-LI German (Liechtenstein)
104                                 NLS_id = 438;
105                                 break;
106                         case 0x0408: // el-GR Greek (Greece)
107                                 NLS_id = 300;
108                                 break;
109                         case 0x0409: // en-US English (United States)
110                                 NLS_id = 840;
111                                 break;
112                         case 0x0809: // en-GB English (United Kingdom)
113                                 NLS_id = 826;
114                                 break;
115                         case 0x0C09: // en-AU English (Australia)
116                                 NLS_id = 36;
117                                 break;
118                         case 0x1009: // en-CA English (Canada)
119                                 NLS_id = 124;
120                                 break;
121                         case 0x1409: // en-NZ English (New Zealand)
122                                 NLS_id = 554;
123                                 break;
124                         case 0x1809: // en-IE English (Ireland)
125                                 NLS_id = 372;
126                                 break;
127                         case 0x1C09: // en-ZA English (South Africa)
128                                 NLS_id = 710;
129                                 break;
130                         case 0x2009: // en-JM English (Jamaica)
131                                 NLS_id = 388;
132                                 break;
133                         case 0x2809: // en-BZ English (Belize)
134                                 NLS_id = 84;
135                                 break;
136                         case 0x2C09: // en-TT English (Trinidad and Tobago)
137                                 NLS_id = 780;
138                                 break;
139                         case 0x3009: // en-ZW English (Zimbabwe)
140                                 NLS_id = 716;
141                                 break;
142                         case 0x3409: // en-PH English (Republic of the Philippines)
143                                 NLS_id = 608;
144                                 break;
145                         case 0x080A: // es-MX Spanish (Mexico)
146                                 NLS_id = 484;
147                                 break;
148                         case 0x0C0A: // es-ES Spanish (Spain)
149                                 NLS_id = 724;
150                                 break;
151                         case 0x100A: // es-GT Spanish (Guatemala)
152                                 NLS_id = 320;
153                                 break;
154                         case 0x140A: // es-CR Spanish (Costa Rica)
155                                 NLS_id = 188;
156                                 break;
157                         case 0x180A: // es-PA Spanish (Panama)
158                                 NLS_id = 591;
159                                 break;
160                         case 0x1C0A: // es-DO Spanish (Dominican Republic)
161                                 NLS_id = 214;
162                                 break;
163                         case 0x200A: // es-VE Spanish (Venezuela)
164                                 NLS_id = 862;
165                                 break;
166                         case 0x240A: // es-CO Spanish (Colombia)
167                                 NLS_id = 170;
168                                 break;
169                         case 0x280A: // es-PE Spanish (Peru)
170                                 NLS_id = 604;
171                                 break;
172                         case 0x2C0A: // es-AR Spanish (Argentina)
173                                 NLS_id = 32;
174                                 break;
175                         case 0x300A: // es-EC Spanish (Ecuador)
176                                 NLS_id = 218;
177                                 break;
178                         case 0x340A: // es-CL Spanish (Chile)
179                                 NLS_id = 152;
180                                 break;
181                         case 0x380A: // es-UY Spanish (Uruguay)
182                                 NLS_id = 858;
183                                 break;
184                         case 0x3C0A: // es-PY Spanish (Paraguay)
185                                 NLS_id = 600;
186                                 break;
187                         case 0x400A: // es-BO Spanish (Bolivia)
188                                 NLS_id = 68;
189                                 break;
190                         case 0x440A: // es-SV Spanish (El Salvador)
191                                 NLS_id = 222;
192                                 break;
193                         case 0x480A: // es-HN Spanish (Honduras)
194                                 NLS_id = 340;
195                                 break;
196                         case 0x4C0A: // es-NI Spanish (Nicaragua)
197                                 NLS_id = 558;
198                                 break;
199                         case 0x500A: // es-PR Spanish (Puerto Rico)
200                                 NLS_id = 630;
201                                 break;
202                         case 0x040B: // fi-FI Finnish (Finland)
203                                 NLS_id = 246;
204                                 break;
205                         case 0x040C: // fr-FR French (France)
206                                 NLS_id = 250;
207                                 break;
208                         case 0x080C: // fr-BE French (Belgium)
209                                 NLS_id = 56;
210                                 break;
211                         case 0x0C0C: // fr-CA French (Canada)
212                                 NLS_id = 124;
213                                 break;
214                         case 0x100C: // fr-CH French (Switzerland)
215                                 NLS_id = 756;
216                                 break;
217                         case 0x140C: // fr-LU French (Luxembourg)
218                                 NLS_id = 442;
219                                 break;
220                         case 0x180C: // fr-MC French (Principality of Monaco)
221                                 NLS_id = 492;
222                                 break;
223                         case 0x040D: // he-IL Hebrew (Israel)
224                                 NLS_id = 376;
225                                 break;
226                         case 0x040E: // hu-HU Hungarian (Hungary)
227                                 NLS_id = 348;
228                                 break;
229                         case 0x040F: // is-IS Icelandic (Iceland)
230                                 NLS_id = 352;
231                                 break;
232                         case 0x0410: // it-IT Italian (Italy)
233                                 NLS_id = 380;
234                                 break;
235                         case 0x0810: // it-CH Italian (Switzerland)
236                                 NLS_id = 756;
237                                 break;
238                         case 0x0411: // ja-JP Japanese (Japan)
239                                 NLS_id = 392;
240                                 break;
241                         case 0x0412: // ko-KR Korean (Korea)
242                                 NLS_id = 410;
243                                 break;
244                         case 0x0413: // nl-NL Dutch (Netherlands)
245                                 NLS_id = 528;
246                                 break;
247                         case 0x0813: // nl-BE Dutch (Belgium)
248                                 NLS_id = 56;
249                                 break;
250                         case 0x0414: // nb-NO Norwegian (Bokm\86l) (Norway)
251                                 NLS_id = 578;
252                                 break;
253                         case 0x0814: // nn-NO Norwegian (Nynorsk) (Norway)
254                                 NLS_id = 578;
255                                 break;
256                         case 0x0415: // pl-PL Polish (Poland)
257                                 NLS_id = 616;
258                                 break;
259                         case 0x0416: // pt-BR Portuguese (Brazil)
260                                 NLS_id = 76;
261                                 break;
262                         case 0x0816: // pt-PT Portuguese (Portugal)
263                                 NLS_id = 620;
264                                 break;
265                         case 0x0418: // ro-RO Romanian (Romania)
266                                 NLS_id = 642;
267                                 break;
268                         case 0x0419: // ru-RU Russian (Russia)
269                                 NLS_id = 643;
270                                 break;
271                         case 0x041A: // hr-HR Croatian (Croatia)
272                                 NLS_id = 191;
273                                 break;
274                         case 0x041B: // sk-SK Slovak (Slovakia)
275                                 NLS_id = 703;
276                                 break;
277                         case 0x041C: // sq-AL Albanian (Albania)
278                                 NLS_id = 8;
279                                 break;
280                         case 0x041D: // sv-SE Swedish (Sweden)
281                                 NLS_id = 752;
282                                 break;
283                         case 0x081D: // sv-FI Swedish (Finland)
284                                 NLS_id = 246;
285                                 break;
286                         case 0x041E: // th-TH Thai (Thailand)
287                                 NLS_id = 764;
288                                 break;
289                         case 0x041F: // tr-TR Turkish (Turkey)
290                                 NLS_id = 792;
291                                 break;
292                         case 0x0420: // ur-PK Urdu (Islamic Republic of Pakistan)
293                                 NLS_id = 586;
294                                 break;
295                         case 0x0421: // id-ID Indonesian (Indonesia)
296                                 NLS_id = 360;
297                                 break;
298                         case 0x0422: // uk-UA Ukrainian (Ukraine)
299                                 NLS_id = 804;
300                                 break;
301                         case 0x0423: // be-BY Belarusian (Belarus)
302                                 NLS_id = 112;
303                                 break;
304                         case 0x0424: // sl-SI Slovenian (Slovenia)
305                                 NLS_id = 705;
306                                 break;
307                         case 0x0425: // et-EE Estonian (Estonia)
308                                 NLS_id = 233;
309                                 break;
310                         case 0x0426: // lv-LV Latvian (Latvia)
311                                 NLS_id = 428;
312                                 break;
313                         case 0x0427: // lt-LT Lithuanian (Lithuania)
314                                 NLS_id = 440;
315                                 break;
316                         case 0x0429: // fa-IR Farsi (Iran)
317                                 NLS_id = 364;
318                                 break;
319                         case 0x042A: // vi-VN Vietnamese (Viet Nam)
320                                 NLS_id = 704;
321                                 break;
322                         case 0x042B: // hy-AM Armenian (Armenia)
323                                 NLS_id = 51;
324                                 break;
325                         case 0x042C: // Lt-az-AZ Azeri (Latin) (Azerbaijan)
326                                 NLS_id = 31;
327                                 break;
328                         case 0x082C: // Cy-az-AZ Azeri (Cyrillic) (Azerbaijan)
329                                 NLS_id = 31;
330                                 break;
331                         case 0x042D: // eu-ES Basque (Spain)
332                                 NLS_id = 724;
333                                 break;
334                         case 0x042F: // mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
335                                 NLS_id = 807;
336                                 break;
337                         case 0x0436: // af-ZA Afrikaans (South Africa)
338                                 NLS_id = 710;
339                                 break;
340                         case 0x0437: // ka-GE Georgian (Georgia)
341                                 NLS_id = 268;
342                                 break;
343                         case 0x0438: // fo-FO Faeroese (Faeroe Islands)
344                                 NLS_id = 234;
345                                 break;
346                         case 0x0439: // hi-IN Hindi (India)
347                                 NLS_id = 356;
348                                 break;
349                         case 0x043E: // ms-MY Malay (Malaysia)
350                                 NLS_id = 458;
351                                 break;
352                         case 0x083E: // ms-BN Malay (Brunei Darussalam)
353                                 NLS_id = 96;
354                                 break;
355                         case 0x043F: // kk-KZ Kazakh (Kazakhstan)
356                                 NLS_id = 398;
357                                 break;
358                         case 0x0440: // ky-KZ Kyrgyz (Kyrgyzstan)
359                                 NLS_id = 398;
360                                 break;
361                         case 0x0441: // sw-KE Swahili (Kenya)
362                                 NLS_id = 404;
363                                 break;
364                         case 0x0443: // Lt-uz-UZ Uzbek (Latin) (Uzbekistan)
365                                 NLS_id = 860;
366                                 break;
367                         case 0x0843: // Cy-uz-UZ Uzbek (Cyrillic) (Uzbekistan)
368                                 NLS_id = 860;
369                                 break;
370                         case 0x0446: // pa-IN Punjabi (India)
371                                 NLS_id = 356;
372                                 break;
373                         case 0x0447: // gu-IN Gujarati (India)
374                                 NLS_id = 356;
375                                 break;
376                         case 0x0449: // ta-IN Tamil (India)
377                                 NLS_id = 356;
378                                 break;
379                         case 0x044A: // te-IN Telugu (India)
380                                 NLS_id = 356;
381                                 break;
382                         case 0x044B: // kn-IN Kannada (India)
383                                 NLS_id = 356;
384                                 break;
385                         case 0x044E: // mr-IN Marathi (India)
386                                 NLS_id = 356;
387                                 break;
388                         case 0x044F: // sa-IN Sanskrit (India)
389                                 NLS_id = 356;
390                                 break;
391                         case 0x0450: // mn-MN Mongolian (Mongolia)
392                                 NLS_id = 496;
393                                 break;
394                         case 0x0456: // gl-ES Galician (Spain)
395                                 NLS_id = 724;
396                                 break;
397                         case 0x0457: // kok-IN Konkani (India)
398                                 NLS_id = 356;
399                                 break;
400                         case 0x045A: // syr-SY Syriac (Syria)
401                                 NLS_id = 760;
402                                 break;
403                         case 0x0465: // div-MV Divehi (Maldives)
404                                 NLS_id = 462;
405                                 break;
406                         case 0x007F: //  Invariant Language (Invariant Country)
407                                 throw new ArgumentException ("There is no region associated with the Invariant Culture (Culture ID: 0x7F).");
408                         default:
409                                 throw new ArgumentException ("Culture ID " + culture + " (0x" + culture.ToString ("X4")
410                                                          + ") is not a supported culture.");
411                         }
412                 }
413
414                 public RegionInfo (string name) {
415                         switch (name.ToUpper ()) {
416                         case "AF": // Afghanistan
417                                 NLS_id = 004;
418                                 break;
419                         case "AL": // Albania
420                                 NLS_id = 008;
421                                 break;
422                         case "DZ": // Algeria
423                                 NLS_id = 012;
424                                 break;
425                         case "AS": // American Samoa
426                                 NLS_id = 016;
427                                 break;
428                         case "AD": // Andorra
429                                 NLS_id = 020;
430                                 break;
431                         case "AO": // Angola
432                                 NLS_id = 024;
433                                 break;
434                         case "AI": // Anguilla
435                                 NLS_id = 660;
436                                 break;
437                         case "AQ": // Antarctica
438                                 NLS_id = 010;
439                                 break;
440                         case "AG": // Antigua and Barbuda
441                                 NLS_id = 028;
442                                 break;
443                         case "AR": // Argentina
444                                 NLS_id = 032;
445                                 break;
446                         case "AM": // Armenia
447                                 NLS_id = 051;
448                                 break;
449                         case "AW": // Aruba
450                                 NLS_id = 533;
451                                 break;
452                         case "AU": // Australia
453                                 NLS_id = 036;
454                                 break;
455                         case "AT": // Austria
456                                 NLS_id = 040;
457                                 break;
458                         case "AZ": // Azerbaijan
459                                 NLS_id = 031;
460                                 break;
461                         case "BS": // Bahamas
462                                 NLS_id = 044;
463                                 break;
464                         case "BH": // Bahrain
465                                 NLS_id = 048;
466                                 break;
467                         case "BD": // Bangladesh
468                                 NLS_id = 050;
469                                 break;
470                         case "BB": // Barbados
471                                 NLS_id = 052;
472                                 break;
473                         case "BY": // Belarus
474                                 NLS_id = 112;
475                                 break;
476                         case "BE": // Belgium
477                                 NLS_id = 056;
478                                 break;
479                         case "BZ": // Belize
480                                 NLS_id = 084;
481                                 break;
482                         case "BJ": // Benin
483                                 NLS_id = 204;
484                                 break;
485                         case "BM": // Bermuda
486                                 NLS_id = 060;
487                                 break;
488                         case "BT": // Bhutan
489                                 NLS_id = 064;
490                                 break;
491                         case "BO": // Bolivia
492                                 NLS_id = 068;
493                                 break;
494                         case "BA": // Bosnia and Herzegowina
495                                 NLS_id = 070;
496                                 break;
497                         case "BW": // Botswana
498                                 NLS_id = 072;
499                                 break;
500                         case "BV": // Bouvet Island
501                                 NLS_id = 074;
502                                 break;
503                         case "BR": // Brazil
504                                 NLS_id = 076;
505                                 break;
506                         case "IO": // British Indian Ocean Territory
507                                 NLS_id = 086;
508                                 break;
509                         case "BN": // Brunei Darussalam
510                                 NLS_id = 096;
511                                 break;
512                         case "BG": // Bulgaria
513                                 NLS_id = 100;
514                                 break;
515                         case "BF": // Burkina Faso
516                                 NLS_id = 854;
517                                 break;
518                         case "BI": // Burundi
519                                 NLS_id = 108;
520                                 break;
521                         case "KH": // Cambodia
522                                 NLS_id = 116;
523                                 break;
524                         case "CM": // Cameroon
525                                 NLS_id = 120;
526                                 break;
527                         case "CA": // Canada
528                                 NLS_id = 124;
529                                 break;
530                         case "CV": // Cape Verde
531                                 NLS_id = 132;
532                                 break;
533                         case "KY": // Cayman Islands
534                                 NLS_id = 136;
535                                 break;
536                         case "CF": // Central African Republic
537                                 NLS_id = 140;
538                                 break;
539                         case "TD": // Chad
540                                 NLS_id = 148;
541                                 break;
542                         case "CL": // Chile
543                                 NLS_id = 152;
544                                 break;
545                         case "CN": // China
546                                 NLS_id = 156;
547                                 break;
548                         case "CX": // Christmas Island
549                                 NLS_id = 162;
550                                 break;
551                         case "CC": // Cocos (Keeling) Islands
552                                 NLS_id = 166;
553                                 break;
554                         case "CO": // Colombia
555                                 NLS_id = 170;
556                                 break;
557                         case "KM": // Comoros
558                                 NLS_id = 174;
559                                 break;
560                         case "CG": // Congo
561                                 NLS_id = 178;
562                                 break;
563                         case "CK": // Cook Islands
564                                 NLS_id = 184;
565                                 break;
566                         case "CR": // Costa Rica
567                                 NLS_id = 188;
568                                 break;
569                         case "CI": // Cote D'Ivoire
570                                 NLS_id = 384;
571                                 break;
572                         case "HR": // Croatia (Local Name: Hrvatska)
573                                 NLS_id = 191;
574                                 break;
575                         case "CU": // Cuba
576                                 NLS_id = 192;
577                                 break;
578                         case "CY": // Cyprus
579                                 NLS_id = 196;
580                                 break;
581                         case "CZ": // Czech Republic
582                                 NLS_id = 203;
583                                 break;
584                         case "DK": // Denmark
585                                 NLS_id = 208;
586                                 break;
587                         case "DJ": // Djibouti
588                                 NLS_id = 262;
589                                 break;
590                         case "DM": // Dominica
591                                 NLS_id = 212;
592                                 break;
593                         case "DO": // Dominican Republic
594                                 NLS_id = 214;
595                                 break;
596                         case "TP": // East Timor
597                                 NLS_id = 626;
598                                 break;
599                         case "EC": // Ecuador
600                                 NLS_id = 218;
601                                 break;
602                         case "EG": // Egypt
603                                 NLS_id = 818;
604                                 break;
605                         case "SV": // El Salvador
606                                 NLS_id = 222;
607                                 break;
608                         case "GQ": // Equatorial Guinea
609                                 NLS_id = 226;
610                                 break;
611                         case "ER": // Eritrea
612                                 NLS_id = 232;
613                                 break;
614                         case "EE": // Estonia
615                                 NLS_id = 233;
616                                 break;
617                         case "ET": // Ethiopia
618                                 NLS_id = 231;
619                                 break;
620                         case "FK": // Falkland Islands (Malvinas)
621                                 NLS_id = 238;
622                                 break;
623                         case "FO": // Faroe Islands
624                                 NLS_id = 234;
625                                 break;
626                         case "FJ": // Fiji
627                                 NLS_id = 242;
628                                 break;
629                         case "FI": // Finland
630                                 NLS_id = 246;
631                                 break;
632                         case "FR": // France
633                                 NLS_id = 250;
634                                 break;
635                         case "FX": // France, Metropolitan
636                                 NLS_id = 249;
637                                 break;
638                         case "GF": // French Guiana
639                                 NLS_id = 254;
640                                 break;
641                         case "PF": // French Polynesia
642                                 NLS_id = 258;
643                                 break;
644                         case "TF": // French Southern Territories
645                                 NLS_id = 260;
646                                 break;
647                         case "GA": // Gabon
648                                 NLS_id = 266;
649                                 break;
650                         case "GM": // Gambia
651                                 NLS_id = 270;
652                                 break;
653                         case "GE": // Georgia
654                                 NLS_id = 268;
655                                 break;
656                         case "DE": // Germany
657                                 NLS_id = 276;
658                                 break;
659                         case "GH": // Ghana
660                                 NLS_id = 288;
661                                 break;
662                         case "GI": // Gibraltar
663                                 NLS_id = 292;
664                                 break;
665                         case "GR": // Greece
666                                 NLS_id = 300;
667                                 break;
668                         case "GL": // Greenland
669                                 NLS_id = 304;
670                                 break;
671                         case "GD": // Grenada
672                                 NLS_id = 308;
673                                 break;
674                         case "GP": // Guadeloupe
675                                 NLS_id = 312;
676                                 break;
677                         case "GU": // Guam
678                                 NLS_id = 316;
679                                 break;
680                         case "GT": // Guatemala
681                                 NLS_id = 320;
682                                 break;
683                         case "GN": // Guinea
684                                 NLS_id = 324;
685                                 break;
686                         case "GW": // Guinea-Bissau
687                                 NLS_id = 624;
688                                 break;
689                         case "GY": // Guyana
690                                 NLS_id = 328;
691                                 break;
692                         case "HT": // Haiti
693                                 NLS_id = 332;
694                                 break;
695                         case "HM": // Heard and Mc Donald Islands
696                                 NLS_id = 334;
697                                 break;
698                         case "VA": // Holy See (Vatican City State)
699                                 NLS_id = 336;
700                                 break;
701                         case "HN": // Honduras
702                                 NLS_id = 340;
703                                 break;
704                         case "HK": // Hong Kong
705                                 NLS_id = 344;
706                                 break;
707                         case "HU": // Hungary
708                                 NLS_id = 348;
709                                 break;
710                         case "IS": // Iceland
711                                 NLS_id = 352;
712                                 break;
713                         case "IN": // India
714                                 NLS_id = 356;
715                                 break;
716                         case "ID": // Indonesia
717                                 NLS_id = 360;
718                                 break;
719                         case "IR": // Iran (Islamic Republic of)
720                                 NLS_id = 364;
721                                 break;
722                         case "IQ": // Iraq
723                                 NLS_id = 368;
724                                 break;
725                         case "IE": // Ireland
726                                 NLS_id = 372;
727                                 break;
728                         case "IL": // Israel
729                                 NLS_id = 376;
730                                 break;
731                         case "IT": // Italy
732                                 NLS_id = 380;
733                                 break;
734                         case "JM": // Jamaica
735                                 NLS_id = 388;
736                                 break;
737                         case "JP": // Japan
738                                 NLS_id = 392;
739                                 break;
740                         case "JO": // Jordan
741                                 NLS_id = 400;
742                                 break;
743                         case "KZ": // Kazakhstan
744                                 NLS_id = 398;
745                                 break;
746                         case "KE": // Kenya
747                                 NLS_id = 404;
748                                 break;
749                         case "KI": // Kiribati
750                                 NLS_id = 296;
751                                 break;
752                         case "KP": // Korea, Democratic People's Republic of
753                                 NLS_id = 408;
754                                 break;
755                         case "KR": // Korea, Republic of
756                                 NLS_id = 410;
757                                 break;
758                         case "KW": // Kuwait
759                                 NLS_id = 414;
760                                 break;
761                         case "KG": // Kyrgyzstan
762                                 NLS_id = 417;
763                                 break;
764                         case "LA": // Lao People's Democratic Republic
765                                 NLS_id = 418;
766                                 break;
767                         case "LV": // Latvia
768                                 NLS_id = 428;
769                                 break;
770                         case "LB": // Lebanon
771                                 NLS_id = 422;
772                                 break;
773                         case "LS": // Lesotho
774                                 NLS_id = 426;
775                                 break;
776                         case "LR": // Liberia
777                                 NLS_id = 430;
778                                 break;
779                         case "LY": // Libyan Arab Jamahiriya
780                                 NLS_id = 434;
781                                 break;
782                         case "LI": // Liechtenstein
783                                 NLS_id = 438;
784                                 break;
785                         case "LT": // Lithuania
786                                 NLS_id = 440;
787                                 break;
788                         case "LU": // Luxembourg
789                                 NLS_id = 442;
790                                 break;
791                         case "MO": // Macau
792                                 NLS_id = 446;
793                                 break;
794                         case "MK": // Macedonia, The Former Yugoslav Republic of
795                                 NLS_id = 807;
796                                 break;
797                         case "MG": // Madagascar
798                                 NLS_id = 450;
799                                 break;
800                         case "MW": // Malawi
801                                 NLS_id = 454;
802                                 break;
803                         case "MY": // Malaysia
804                                 NLS_id = 458;
805                                 break;
806                         case "MV": // Maldives
807                                 NLS_id = 462;
808                                 break;
809                         case "ML": // Mali
810                                 NLS_id = 466;
811                                 break;
812                         case "MT": // Malta
813                                 NLS_id = 470;
814                                 break;
815                         case "MH": // Marshall Islands
816                                 NLS_id = 584;
817                                 break;
818                         case "MQ": // Martinique
819                                 NLS_id = 474;
820                                 break;
821                         case "MR": // Mauritania
822                                 NLS_id = 478;
823                                 break;
824                         case "MU": // Mauritius
825                                 NLS_id = 480;
826                                 break;
827                         case "YT": // Mayotte
828                                 NLS_id = 175;
829                                 break;
830                         case "MX": // Mexico
831                                 NLS_id = 484;
832                                 break;
833                         case "FM": // Micronesia, Federated States of
834                                 NLS_id = 583;
835                                 break;
836                         case "MD": // Moldova, Republic of
837                                 NLS_id = 498;
838                                 break;
839                         case "MC": // Monaco
840                                 NLS_id = 492;
841                                 break;
842                         case "MN": // Mongolia
843                                 NLS_id = 496;
844                                 break;
845                         case "MS": // Montserrat
846                                 NLS_id = 500;
847                                 break;
848                         case "MA": // Morocco
849                                 NLS_id = 504;
850                                 break;
851                         case "MZ": // Mozambique
852                                 NLS_id = 508;
853                                 break;
854                         case "MM": // Myanmar
855                                 NLS_id = 104;
856                                 break;
857                         case "NA": // Namibia
858                                 NLS_id = 516;
859                                 break;
860                         case "NR": // Nauru
861                                 NLS_id = 520;
862                                 break;
863                         case "NP": // Nepal
864                                 NLS_id = 524;
865                                 break;
866                         case "NL": // Netherlands
867                                 NLS_id = 528;
868                                 break;
869                         case "AN": // Netherlands Antilles
870                                 NLS_id = 530;
871                                 break;
872                         case "NC": // New Caledonia
873                                 NLS_id = 540;
874                                 break;
875                         case "NZ": // New Zealand
876                                 NLS_id = 554;
877                                 break;
878                         case "NI": // Nicaragua
879                                 NLS_id = 558;
880                                 break;
881                         case "NE": // Niger
882                                 NLS_id = 562;
883                                 break;
884                         case "NG": // Nigeria
885                                 NLS_id = 566;
886                                 break;
887                         case "NU": // Niue
888                                 NLS_id = 570;
889                                 break;
890                         case "NF": // Norfolk Island
891                                 NLS_id = 574;
892                                 break;
893                         case "MP": // Northern Mariana Islands
894                                 NLS_id = 580;
895                                 break;
896                         case "NO": // Norway
897                                 NLS_id = 578;
898                                 break;
899                         case "OM": // Oman
900                                 NLS_id = 512;
901                                 break;
902                         case "PK": // Pakistan
903                                 NLS_id = 586;
904                                 break;
905                         case "PW": // Palau
906                                 NLS_id = 585;
907                                 break;
908                         case "PA": // Panama
909                                 NLS_id = 591;
910                                 break;
911                         case "PG": // Papua New Guinea
912                                 NLS_id = 598;
913                                 break;
914                         case "PY": // Paraguay
915                                 NLS_id = 600;
916                                 break;
917                         case "PE": // Peru
918                                 NLS_id = 604;
919                                 break;
920                         case "PH": // Philippines
921                                 NLS_id = 608;
922                                 break;
923                         case "PN": // Pitcairn
924                                 NLS_id = 612;
925                                 break;
926                         case "PL": // Poland
927                                 NLS_id = 616;
928                                 break;
929                         case "PT": // Portugal
930                                 NLS_id = 620;
931                                 break;
932                         case "PR": // Puerto Rico
933                                 NLS_id = 630;
934                                 break;
935                         case "QA": // Qatar
936                                 NLS_id = 634;
937                                 break;
938                         case "RE": // Reunion
939                                 NLS_id = 638;
940                                 break;
941                         case "RO": // Romania
942                                 NLS_id = 642;
943                                 break;
944                         case "RU": // Russian Federation
945                                 NLS_id = 643;
946                                 break;
947                         case "RW": // Rwanda
948                                 NLS_id = 646;
949                                 break;
950                         case "KN": // Saint Kitts and Nevis
951                                 NLS_id = 659;
952                                 break;
953                         case "LC": // Saint Lucia
954                                 NLS_id = 662;
955                                 break;
956                         case "VC": // Saint Vincent and The Grenadines
957                                 NLS_id = 670;
958                                 break;
959                         case "WS": // Samoa
960                                 NLS_id = 882;
961                                 break;
962                         case "SM": // San Marino
963                                 NLS_id = 674;
964                                 break;
965                         case "ST": // Sao Tome and Principe
966                                 NLS_id = 678;
967                                 break;
968                         case "SA": // Saudi Arabia
969                                 NLS_id = 682;
970                                 break;
971                         case "SN": // Senegal
972                                 NLS_id = 686;
973                                 break;
974                         case "SC": // Seychelles
975                                 NLS_id = 690;
976                                 break;
977                         case "SL": // Sierra Leone
978                                 NLS_id = 694;
979                                 break;
980                         case "SG": // Singapore
981                                 NLS_id = 702;
982                                 break;
983                         case "SK": // Slovakia (Slovak Republic)
984                                 NLS_id = 703;
985                                 break;
986                         case "SI": // Slovenia
987                                 NLS_id = 705;
988                                 break;
989                         case "SB": // Solomon Islands
990                                 NLS_id = 090;
991                                 break;
992                         case "SO": // Somalia
993                                 NLS_id = 706;
994                                 break;
995                         case "ZA": // South Africa
996                                 NLS_id = 710;
997                                 break;
998                         case "GS": // South Georgia and The South Sandwich Islands
999                                 NLS_id = 239;
1000                                 break;
1001                         case "ES": // Spain
1002                                 NLS_id = 724;
1003                                 break;
1004                         case "LK": // Sri Lanka
1005                                 NLS_id = 144;
1006                                 break;
1007                         case "SH": // St. Helena
1008                                 NLS_id = 654;
1009                                 break;
1010                         case "PM": // St. Pierre and Miquelon
1011                                 NLS_id = 666;
1012                                 break;
1013                         case "SD": // Sudan
1014                                 NLS_id = 736;
1015                                 break;
1016                         case "SR": // Suriname
1017                                 NLS_id = 740;
1018                                 break;
1019                         case "SJ": // Svalbard and Jan Mayen Islands
1020                                 NLS_id = 744;
1021                                 break;
1022                         case "SZ": // Swaziland
1023                                 NLS_id = 748;
1024                                 break;
1025                         case "SE": // Sweden
1026                                 NLS_id = 752;
1027                                 break;
1028                         case "CH": // Switzerland
1029                                 NLS_id = 756;
1030                                 break;
1031                         case "SY": // Syrian Arab Republic
1032                                 NLS_id = 760;
1033                                 break;
1034                         case "TW": // Taiwan, Province of China
1035                                 NLS_id = 158;
1036                                 break;
1037                         case "TJ": // Tajikistan
1038                                 NLS_id = 762;
1039                                 break;
1040                         case "TZ": // Tanzania, United Republic of
1041                                 NLS_id = 834;
1042                                 break;
1043                         case "TH": // Thailand
1044                                 NLS_id = 764;
1045                                 break;
1046                         case "TG": // Togo
1047                                 NLS_id = 768;
1048                                 break;
1049                         case "TK": // Tokelau
1050                                 NLS_id = 772;
1051                                 break;
1052                         case "TO": // Tonga
1053                                 NLS_id = 776;
1054                                 break;
1055                         case "TT": // Trinidad and Tobago
1056                                 NLS_id = 780;
1057                                 break;
1058                         case "TN": // Tunisia
1059                                 NLS_id = 788;
1060                                 break;
1061                         case "TR": // Turkey
1062                                 NLS_id = 792;
1063                                 break;
1064                         case "TM": // Turkmenistan
1065                                 NLS_id = 795;
1066                                 break;
1067                         case "TC": // Turks and Caicos Islands
1068                                 NLS_id = 796;
1069                                 break;
1070                         case "TV": // Tuvalu
1071                                 NLS_id = 798;
1072                                 break;
1073                         case "UG": // Uganda
1074                                 NLS_id = 800;
1075                                 break;
1076                         case "UA": // Ukraine
1077                                 NLS_id = 804;
1078                                 break;
1079                         case "AE": // United Arab Emirates
1080                                 NLS_id = 784;
1081                                 break;
1082                         case "GB": // United Kingdom
1083                                 NLS_id = 826;
1084                                 break;
1085                         case "US": // United States
1086                                 NLS_id = 840;
1087                                 break;
1088                         case "UM": // United States Minor Outlying Islands
1089                                 NLS_id = 581;
1090                                 break;
1091                         case "UY": // Uruguay
1092                                 NLS_id = 858;
1093                                 break;
1094                         case "UZ": // Uzbekistan
1095                                 NLS_id = 860;
1096                                 break;
1097                         case "VU": // Vanuatu
1098                                 NLS_id = 548;
1099                                 break;
1100                         case "VE": // Venezuela
1101                                 NLS_id = 862;
1102                                 break;
1103                         case "VN": // Viet Nam
1104                                 NLS_id = 704;
1105                                 break;
1106                         case "VG": // Virgin Islands (British)
1107                                 NLS_id = 092;
1108                                 break;
1109                         case "VI": // Virgin Islands (U.S.)
1110                                 NLS_id = 850;
1111                                 break;
1112                         case "WF": // Wallis and Futuna Islands
1113                                 NLS_id = 876;
1114                                 break;
1115                         case "EH": // Western Sahara
1116                                 NLS_id = 732;
1117                                 break;
1118                         case "YE": // Yemen
1119                                 NLS_id = 887;
1120                                 break;
1121                         case "YU": // Yugoslavia
1122                                 NLS_id = 891;
1123                                 break;
1124                         case "ZR": // Zaire
1125                                 NLS_id = 180;
1126                                 break;
1127                         case "ZM": // Zambia
1128                                 NLS_id = 894;
1129                                 break;
1130                         case "ZW": // Zimbabwe
1131                                 NLS_id = 716;
1132                                 break;
1133                         default:
1134                                 throw new ArgumentException ("Region name " + name + " is not supported.");
1135                         }
1136                 }
1137
1138                 public virtual string CurrencySymbol {
1139                         get {
1140                                 switch (NLS_id) {
1141                                 default:
1142                                         throw new Exception ("Dunno what is currency symbol for " + NLS_id + " Region. FIXME.");
1143                                 }
1144                         }
1145                 }
1146
1147                 [MonoTODO]
1148                 public static RegionInfo CurrentRegion {
1149                         get {
1150                                 return null;
1151                         }
1152                 }
1153
1154                 public virtual string DisplayName {
1155                         get {
1156                                 switch (NLS_id) {
1157                                 case 203: // Czech republic
1158                                         return "Èeská republika";
1159                                 case 840: // United States
1160                                         return "United States";
1161                                 default:
1162                                         throw new Exception ("FIXME. Please add your region name in language used in this region.");
1163                                 }
1164                         }
1165                 }
1166
1167                 public virtual string EnglishName {
1168                         get {
1169                                 switch (NLS_id) {
1170                                 case 004:
1171                                         return "Afghanistan";
1172                                 case 008:
1173                                         return "Albania";
1174                                 case 012:
1175                                         return "Algeria";
1176                                 case 016:
1177                                         return "American Samoa";
1178                                 case 020:
1179                                         return "Andorra";
1180                                 case 024:
1181                                         return "Angola";
1182                                 case 660:
1183                                         return "Anguilla";
1184                                 case 010:
1185                                         return "Antarctica";
1186                                 case 028:
1187                                         return "Antigua and Barbuda";
1188                                 case 032:
1189                                         return "Argentina";
1190                                 case 051:
1191                                         return "Armenia";
1192                                 case 533:
1193                                         return "Aruba";
1194                                 case 036:
1195                                         return "Australia";
1196                                 case 040:
1197                                         return "Austria";
1198                                 case 031:
1199                                         return "Azerbaijan";
1200                                 case 044:
1201                                         return "Bahamas";
1202                                 case 048:
1203                                         return "Bahrain";
1204                                 case 050:
1205                                         return "Bangladesh";
1206                                 case 052:
1207                                         return "Barbados";
1208                                 case 112:
1209                                         return "Belarus";
1210                                 case 056:
1211                                         return "Belgium";
1212                                 case 084:
1213                                         return "Belize";
1214                                 case 204:
1215                                         return "Benin";
1216                                 case 060:
1217                                         return "Bermuda";
1218                                 case 064:
1219                                         return "Bhutan";
1220                                 case 068:
1221                                         return "Bolivia";
1222                                 case 070:
1223                                         return "Bosnia and Herzegowina";
1224                                 case 072:
1225                                         return "Botswana";
1226                                 case 074:
1227                                         return "Bouvet Island";
1228                                 case 076:
1229                                         return "Brazil";
1230                                 case 086:
1231                                         return "British Indian Ocean Territory";
1232                                 case 096:
1233                                         return "Brunei Darussalam";
1234                                 case 100:
1235                                         return "Bulgaria";
1236                                 case 854:
1237                                         return "Burkina Faso";
1238                                 case 108:
1239                                         return "Burundi";
1240                                 case 116:
1241                                         return "Cambodia";
1242                                 case 120:
1243                                         return "Cameroon";
1244                                 case 124:
1245                                         return "Canada";
1246                                 case 132:
1247                                         return "Cape Verde";
1248                                 case 136:
1249                                         return "Cayman Islands";
1250                                 case 140:
1251                                         return "Central African Republic";
1252                                 case 148:
1253                                         return "Chad";
1254                                 case 152:
1255                                         return "Chile";
1256                                 case 156:
1257                                         return "China";
1258                                 case 162:
1259                                         return "Christmas Island";
1260                                 case 166:
1261                                         return "Cocos (Keeling) Islands";
1262                                 case 170:
1263                                         return "Colombia";
1264                                 case 174:
1265                                         return "Comoros";
1266                                 case 178:
1267                                         return "Congo";
1268                                 case 184:
1269                                         return "Cook Islands";
1270                                 case 188:
1271                                         return "Costa Rica";
1272                                 case 384:
1273                                         return "Cote D'Ivoire";
1274                                 case 191:
1275                                         return "Croatia (Local Name: Hrvatska)";
1276                                 case 192:
1277                                         return "Cuba";
1278                                 case 196:
1279                                         return "Cyprus";
1280                                 case 203:
1281                                         return "Czech Republic";
1282                                 case 208:
1283                                         return "Denmark";
1284                                 case 262:
1285                                         return "Djibouti";
1286                                 case 212:
1287                                         return "Dominica";
1288                                 case 214:
1289                                         return "Dominican Republic";
1290                                 case 626:
1291                                         return "East Timor";
1292                                 case 218:
1293                                         return "Ecuador";
1294                                 case 818:
1295                                         return "Egypt";
1296                                 case 222:
1297                                         return "El Salvador";
1298                                 case 226:
1299                                         return "Equatorial Guinea";
1300                                 case 232:
1301                                         return "Eritrea";
1302                                 case 233:
1303                                         return "Estonia";
1304                                 case 231:
1305                                         return "Ethiopia";
1306                                 case 238:
1307                                         return "Falkland Islands (Malvinas)";
1308                                 case 234:
1309                                         return "Faroe Islands";
1310                                 case 242:
1311                                         return "Fiji";
1312                                 case 246:
1313                                         return "Finland";
1314                                 case 250:
1315                                         return "France";
1316                                 case 249:
1317                                         return "France, Metropolitan";
1318                                 case 254:
1319                                         return "French Guiana";
1320                                 case 258:
1321                                         return "French Polynesia";
1322                                 case 260:
1323                                         return "French Southern Territories";
1324                                 case 266:
1325                                         return "Gabon";
1326                                 case 270:
1327                                         return "Gambia";
1328                                 case 268:
1329                                         return "Georgia";
1330                                 case 276:
1331                                         return "Germany";
1332                                 case 288:
1333                                         return "Ghana";
1334                                 case 292:
1335                                         return "Gibraltar";
1336                                 case 300:
1337                                         return "Greece";
1338                                 case 304:
1339                                         return "Greenland";
1340                                 case 308:
1341                                         return "Grenada";
1342                                 case 312:
1343                                         return "Guadeloupe";
1344                                 case 316:
1345                                         return "Guam";
1346                                 case 320:
1347                                         return "Guatemala";
1348                                 case 324:
1349                                         return "Guinea";
1350                                 case 624:
1351                                         return "Guinea-Bissau";
1352                                 case 328:
1353                                         return "Guyana";
1354                                 case 332:
1355                                         return "Haiti";
1356                                 case 334:
1357                                         return "Heard and Mc Donald Islands";
1358                                 case 336:
1359                                         return "Holy See (Vatican City State)";
1360                                 case 340:
1361                                         return "Honduras";
1362                                 case 344:
1363                                         return "Hong Kong";
1364                                 case 348:
1365                                         return "Hungary";
1366                                 case 352:
1367                                         return "Iceland";
1368                                 case 356:
1369                                         return "India";
1370                                 case 360:
1371                                         return "Indonesia";
1372                                 case 364:
1373                                         return "Iran (Islamic Republic of)";
1374                                 case 368:
1375                                         return "Iraq";
1376                                 case 372:
1377                                         return "Ireland";
1378                                 case 376:
1379                                         return "Israel";
1380                                 case 380:
1381                                         return "Italy";
1382                                 case 388:
1383                                         return "Jamaica";
1384                                 case 392:
1385                                         return "Japan";
1386                                 case 400:
1387                                         return "Jordan";
1388                                 case 398:
1389                                         return "Kazakhstan";
1390                                 case 404:
1391                                         return "Kenya";
1392                                 case 296:
1393                                         return "Kiribati";
1394                                 case 408:
1395                                         return "Korea, Democratic People's Republic of";
1396                                 case 410:
1397                                         return "Korea, Republic of";
1398                                 case 414:
1399                                         return "Kuwait";
1400                                 case 417:
1401                                         return "Kyrgyzstan";
1402                                 case 418:
1403                                         return "Lao People's Democratic Republic";
1404                                 case 428:
1405                                         return "Latvia";
1406                                 case 422:
1407                                         return "Lebanon";
1408                                 case 426:
1409                                         return "Lesotho";
1410                                 case 430:
1411                                         return "Liberia";
1412                                 case 434:
1413                                         return "Libyan Arab Jamahiriya";
1414                                 case 438:
1415                                         return "Liechtenstein";
1416                                 case 440:
1417                                         return "Lithuania";
1418                                 case 442:
1419                                         return "Luxembourg";
1420                                 case 446:
1421                                         return "Macau";
1422                                 case 807:
1423                                         return "Macedonia, The Former Yugoslav Republic of";
1424                                 case 450:
1425                                         return "Madagascar";
1426                                 case 454:
1427                                         return "Malawi";
1428                                 case 458:
1429                                         return "Malaysia";
1430                                 case 462:
1431                                         return "Maldives";
1432                                 case 466:
1433                                         return "Mali";
1434                                 case 470:
1435                                         return "Malta";
1436                                 case 584:
1437                                         return "Marshall Islands";
1438                                 case 474:
1439                                         return "Martinique";
1440                                 case 478:
1441                                         return "Mauritania";
1442                                 case 480:
1443                                         return "Mauritius";
1444                                 case 175:
1445                                         return "Mayotte";
1446                                 case 484:
1447                                         return "Mexico";
1448                                 case 583:
1449                                         return "Micronesia, Federated States of";
1450                                 case 498:
1451                                         return "Moldova, Republic of";
1452                                 case 492:
1453                                         return "Monaco";
1454                                 case 496:
1455                                         return "Mongolia";
1456                                 case 500:
1457                                         return "Montserrat";
1458                                 case 504:
1459                                         return "Morocco";
1460                                 case 508:
1461                                         return "Mozambique";
1462                                 case 104:
1463                                         return "Myanmar";
1464                                 case 516:
1465                                         return "Namibia";
1466                                 case 520:
1467                                         return "Nauru";
1468                                 case 524:
1469                                         return "Nepal";
1470                                 case 528:
1471                                         return "Netherlands";
1472                                 case 530:
1473                                         return "Netherlands Antilles";
1474                                 case 540:
1475                                         return "New Caledonia";
1476                                 case 554:
1477                                         return "New Zealand";
1478                                 case 558:
1479                                         return "Nicaragua";
1480                                 case 562:
1481                                         return "Niger";
1482                                 case 566:
1483                                         return "Nigeria";
1484                                 case 570:
1485                                         return "Niue";
1486                                 case 574:
1487                                         return "Norfolk Island";
1488                                 case 580:
1489                                         return "Northern Mariana Islands";
1490                                 case 578:
1491                                         return "Norway";
1492                                 case 512:
1493                                         return "Oman";
1494                                 case 586:
1495                                         return "Pakistan";
1496                                 case 585:
1497                                         return "Palau";
1498                                 case 591:
1499                                         return "Panama";
1500                                 case 598:
1501                                         return "Papua New Guinea";
1502                                 case 600:
1503                                         return "Paraguay";
1504                                 case 604:
1505                                         return "Peru";
1506                                 case 608:
1507                                         return "Philippines";
1508                                 case 612:
1509                                         return "Pitcairn";
1510                                 case 616:
1511                                         return "Poland";
1512                                 case 620:
1513                                         return "Portugal";
1514                                 case 630:
1515                                         return "Puerto Rico";
1516                                 case 634:
1517                                         return "Qatar";
1518                                 case 638:
1519                                         return "Reunion";
1520                                 case 642:
1521                                         return "Romania";
1522                                 case 643:
1523                                         return "Russian Federation";
1524                                 case 646:
1525                                         return "Rwanda";
1526                                 case 659:
1527                                         return "Saint Kitts and Nevis";
1528                                 case 662:
1529                                         return "Saint Lucia";
1530                                 case 670:
1531                                         return "Saint Vincent and The Grenadines";
1532                                 case 882:
1533                                         return "Samoa";
1534                                 case 674:
1535                                         return "San Marino";
1536                                 case 678:
1537                                         return "Sao Tome and Principe";
1538                                 case 682:
1539                                         return "Saudi Arabia";
1540                                 case 686:
1541                                         return "Senegal";
1542                                 case 690:
1543                                         return "Seychelles";
1544                                 case 694:
1545                                         return "Sierra Leone";
1546                                 case 702:
1547                                         return "Singapore";
1548                                 case 703:
1549                                         return "Slovakia (Slovak Republic)";
1550                                 case 705:
1551                                         return "Slovenia";
1552                                 case 090:
1553                                         return "Solomon Islands";
1554                                 case 706:
1555                                         return "Somalia";
1556                                 case 710:
1557                                         return "South Africa";
1558                                 case 239:
1559                                         return "South Georgia and The South Sandwich Islands";
1560                                 case 724:
1561                                         return "Spain";
1562                                 case 144:
1563                                         return "Sri Lanka";
1564                                 case 654:
1565                                         return "St. Helena";
1566                                 case 666:
1567                                         return "St. Pierre and Miquelon";
1568                                 case 736:
1569                                         return "Sudan";
1570                                 case 740:
1571                                         return "Suriname";
1572                                 case 744:
1573                                         return "Svalbard and Jan Mayen Islands";
1574                                 case 748:
1575                                         return "Swaziland";
1576                                 case 752:
1577                                         return "Sweden";
1578                                 case 756:
1579                                         return "Switzerland";
1580                                 case 760:
1581                                         return "Syrian Arab Republic";
1582                                 case 158:
1583                                         return "Taiwan, Province of China";
1584                                 case 762:
1585                                         return "Tajikistan";
1586                                 case 834:
1587                                         return "Tanzania, United Republic of";
1588                                 case 764:
1589                                         return "Thailand";
1590                                 case 768:
1591                                         return "Togo";
1592                                 case 772:
1593                                         return "Tokelau";
1594                                 case 776:
1595                                         return "Tonga";
1596                                 case 780:
1597                                         return "Trinidad and Tobago";
1598                                 case 788:
1599                                         return "Tunisia";
1600                                 case 792:
1601                                         return "Turkey";
1602                                 case 795:
1603                                         return "Turkmenistan";
1604                                 case 796:
1605                                         return "Turks and Caicos Islands";
1606                                 case 798:
1607                                         return "Tuvalu";
1608                                 case 800:
1609                                         return "Uganda";
1610                                 case 804:
1611                                         return "Ukraine";
1612                                 case 784:
1613                                         return "United Arab Emirates";
1614                                 case 826:
1615                                         return "United Kingdom";
1616                                 case 840:
1617                                         return "United States";
1618                                 case 581:
1619                                         return "United States Minor Outlying Islands";
1620                                 case 858:
1621                                         return "Uruguay";
1622                                 case 860:
1623                                         return "Uzbekistan";
1624                                 case 548:
1625                                         return "Vanuatu";
1626                                 case 862:
1627                                         return "Venezuela";
1628                                 case 704:
1629                                         return "Viet Nam";
1630                                 case 092:
1631                                         return "Virgin Islands (British)";
1632                                 case 850:
1633                                         return "Virgin Islands (U.S.)";
1634                                 case 876:
1635                                         return "Wallis and Futuna Islands";
1636                                 case 732:
1637                                         return "Western Sahara";
1638                                 case 887:
1639                                         return "Yemen";
1640                                 case 891:
1641                                         return "Yugoslavia";
1642                                 case 180:
1643                                         return "Zaire";
1644                                 case 894:
1645                                         return "Zambia";
1646                                 case 716:
1647                                         return "Zimbabwe";
1648                                 default:
1649                                         throw new Exception ("This code should not be reached.");
1650                                 }
1651                         }
1652                 }
1653
1654                 public virtual bool IsMetric {
1655                         get {
1656                                 switch (NLS_id) {
1657                                 case 203: // Czech Republic
1658                                         return true;
1659                                 case 840: // United States
1660                                         return false;
1661                                 default:
1662                                         throw new Exception ("FIXME. Please define.");
1663                                 }
1664                         }
1665                 }
1666
1667                 public virtual string ISOCurrencySymbol {
1668                         get {
1669                                 switch (NLS_id) {
1670                                 default:
1671                                         throw new Exception ("This code should not be reached.");
1672                                 }
1673                         }
1674                 }
1675
1676                 //
1677                 // methods
1678
1679                 public override bool Equals(object value) {
1680                         return value == this;
1681                 }
1682
1683                 public override int GetHashCode () {
1684                         return NLS_id.GetHashCode ();
1685                 }
1686         }
1687
1688 }