+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
using System.Globalization;
namespace System.Globalization {
+ [Serializable]
public class RegionInfo {
int NLS_id;
public RegionInfo (int culture) {
-
- if (CultureInfo.IsIDNeutralCulture (culture))
- throw new ArgumentException ("Culture ID " + culture
- + " (0x" + culture.ToString ("X4")
- + ") is a neutral culture. A region can not be created from it.");
-
+
switch (culture) {
case 0x0401: // ar-SA Arabic (Saudi Arabia)
+ NLS_id = 682;
+ break;
case 0x0801: // ar-IQ Arabic (Iraq)
+ NLS_id = 368;
+ break;
case 0x0C01: // ar-EG Arabic (Egypt)
+ NLS_id = 818;
+ break;
case 0x1001: // ar-LY Arabic (Libya)
+ NLS_id = 434;
+ break;
case 0x1401: // ar-DZ Arabic (Algeria)
+ NLS_id = 12;
+ break;
case 0x1801: // ar-MA Arabic (Morocco)
+ NLS_id = 504;
+ break;
case 0x1C01: // ar-TN Arabic (Tunisia)
+ NLS_id = 788;
+ break;
case 0x2001: // ar-OM Arabic (Oman)
+ NLS_id = 512;
+ break;
case 0x2401: // ar-YE Arabic (Yemen)
+ NLS_id = 887;
+ break;
case 0x2801: // ar-SY Arabic (Syria)
+ NLS_id = 760;
+ break;
case 0x2C01: // ar-JO Arabic (Jordan)
+ NLS_id = 400;
+ break;
case 0x3001: // ar-LB Arabic (Lebanon)
+ NLS_id = 422;
+ break;
case 0x3401: // ar-KW Arabic (Kuwait)
+ NLS_id = 414;
+ break;
case 0x3801: // ar-AE Arabic (U.A.E.)
+ NLS_id = 784;
+ break;
case 0x3C01: // ar-BH Arabic (Bahrain)
+ NLS_id = 48;
+ break;
case 0x4001: // ar-QA Arabic (Qatar)
+ NLS_id = 634;
+ break;
case 0x0402: // bg-BG Bulgarian (Bulgaria)
+ NLS_id = 100;
+ break;
case 0x0403: // ca-ES Catalan (Spain)
- case 0x0004: // zh-CHS Chinese (Simplified)
+ NLS_id = 724;
+ break;
case 0x0404: // zh-TW Chinese (Taiwan)
+ NLS_id = 158;
+ break;
case 0x0804: // zh-CN Chinese (People's Republic of China)
+ NLS_id = 156;
+ break;
case 0x0C04: // zh-HK Chinese (Hong Kong S.A.R.)
+ NLS_id = 344;
+ break;
case 0x1004: // zh-SG Chinese (Singapore)
+ NLS_id = 702;
+ break;
case 0x1404: // zh-MO Chinese (Macau S.A.R.)
- case 0x7C04: // zh-CHT Chinese (Traditional)
+ NLS_id = 446;
+ break;
case 0x0405: // cs-CZ Czech (Czech Republic)
+ NLS_id = 203;
+ break;
case 0x0406: // da-DK Danish (Denmark)
+ NLS_id = 208;
+ break;
case 0x0407: // de-DE German (Germany)
+ NLS_id = 276;
+ break;
case 0x0807: // de-CH German (Switzerland)
+ NLS_id = 756;
+ break;
case 0x0C07: // de-AT German (Austria)
+ NLS_id = 40;
+ break;
case 0x1007: // de-LU German (Luxembourg)
+ NLS_id = 442;
+ break;
case 0x1407: // de-LI German (Liechtenstein)
+ NLS_id = 438;
+ break;
case 0x0408: // el-GR Greek (Greece)
+ NLS_id = 300;
+ break;
case 0x0409: // en-US English (United States)
+ NLS_id = 840;
+ break;
case 0x0809: // en-GB English (United Kingdom)
+ NLS_id = 826;
+ break;
case 0x0C09: // en-AU English (Australia)
+ NLS_id = 36;
+ break;
case 0x1009: // en-CA English (Canada)
+ NLS_id = 124;
+ break;
case 0x1409: // en-NZ English (New Zealand)
+ NLS_id = 554;
+ break;
case 0x1809: // en-IE English (Ireland)
+ NLS_id = 372;
+ break;
case 0x1C09: // en-ZA English (South Africa)
+ NLS_id = 710;
+ break;
case 0x2009: // en-JM English (Jamaica)
- case 0x2409: // en-CB English (Caribbean)
+ NLS_id = 388;
+ break;
case 0x2809: // en-BZ English (Belize)
+ NLS_id = 84;
+ break;
case 0x2C09: // en-TT English (Trinidad and Tobago)
+ NLS_id = 780;
+ break;
case 0x3009: // en-ZW English (Zimbabwe)
+ NLS_id = 716;
+ break;
case 0x3409: // en-PH English (Republic of the Philippines)
+ NLS_id = 608;
+ break;
case 0x080A: // es-MX Spanish (Mexico)
+ NLS_id = 484;
+ break;
case 0x0C0A: // es-ES Spanish (Spain)
+ NLS_id = 724;
+ break;
case 0x100A: // es-GT Spanish (Guatemala)
+ NLS_id = 320;
+ break;
case 0x140A: // es-CR Spanish (Costa Rica)
+ NLS_id = 188;
+ break;
case 0x180A: // es-PA Spanish (Panama)
+ NLS_id = 591;
+ break;
case 0x1C0A: // es-DO Spanish (Dominican Republic)
+ NLS_id = 214;
+ break;
case 0x200A: // es-VE Spanish (Venezuela)
+ NLS_id = 862;
+ break;
case 0x240A: // es-CO Spanish (Colombia)
+ NLS_id = 170;
+ break;
case 0x280A: // es-PE Spanish (Peru)
+ NLS_id = 604;
+ break;
case 0x2C0A: // es-AR Spanish (Argentina)
+ NLS_id = 32;
+ break;
case 0x300A: // es-EC Spanish (Ecuador)
+ NLS_id = 218;
+ break;
case 0x340A: // es-CL Spanish (Chile)
+ NLS_id = 152;
+ break;
case 0x380A: // es-UY Spanish (Uruguay)
+ NLS_id = 858;
+ break;
case 0x3C0A: // es-PY Spanish (Paraguay)
+ NLS_id = 600;
+ break;
case 0x400A: // es-BO Spanish (Bolivia)
+ NLS_id = 68;
+ break;
case 0x440A: // es-SV Spanish (El Salvador)
+ NLS_id = 222;
+ break;
case 0x480A: // es-HN Spanish (Honduras)
+ NLS_id = 340;
+ break;
case 0x4C0A: // es-NI Spanish (Nicaragua)
+ NLS_id = 558;
+ break;
case 0x500A: // es-PR Spanish (Puerto Rico)
+ NLS_id = 630;
+ break;
case 0x040B: // fi-FI Finnish (Finland)
+ NLS_id = 246;
+ break;
case 0x040C: // fr-FR French (France)
+ NLS_id = 250;
+ break;
case 0x080C: // fr-BE French (Belgium)
+ NLS_id = 56;
+ break;
case 0x0C0C: // fr-CA French (Canada)
+ NLS_id = 124;
+ break;
case 0x100C: // fr-CH French (Switzerland)
+ NLS_id = 756;
+ break;
case 0x140C: // fr-LU French (Luxembourg)
+ NLS_id = 442;
+ break;
case 0x180C: // fr-MC French (Principality of Monaco)
+ NLS_id = 492;
+ break;
case 0x040D: // he-IL Hebrew (Israel)
+ NLS_id = 376;
+ break;
case 0x040E: // hu-HU Hungarian (Hungary)
+ NLS_id = 348;
+ break;
case 0x040F: // is-IS Icelandic (Iceland)
+ NLS_id = 352;
+ break;
case 0x0410: // it-IT Italian (Italy)
+ NLS_id = 380;
+ break;
case 0x0810: // it-CH Italian (Switzerland)
+ NLS_id = 756;
+ break;
case 0x0411: // ja-JP Japanese (Japan)
+ NLS_id = 392;
+ break;
case 0x0412: // ko-KR Korean (Korea)
+ NLS_id = 410;
+ break;
case 0x0413: // nl-NL Dutch (Netherlands)
+ NLS_id = 528;
+ break;
case 0x0813: // nl-BE Dutch (Belgium)
- case 0x0414: // nb-NO Norwegian (Bokmål) (Norway)
+ NLS_id = 56;
+ break;
+ case 0x0414: // nb-NO Norwegian (Bokm\86l) (Norway)
+ NLS_id = 578;
+ break;
case 0x0814: // nn-NO Norwegian (Nynorsk) (Norway)
+ NLS_id = 578;
+ break;
case 0x0415: // pl-PL Polish (Poland)
- case 0x0016: // pt Portuguese
+ NLS_id = 616;
+ break;
case 0x0416: // pt-BR Portuguese (Brazil)
+ NLS_id = 76;
+ break;
case 0x0816: // pt-PT Portuguese (Portugal)
+ NLS_id = 620;
+ break;
case 0x0418: // ro-RO Romanian (Romania)
+ NLS_id = 642;
+ break;
case 0x0419: // ru-RU Russian (Russia)
+ NLS_id = 643;
+ break;
case 0x041A: // hr-HR Croatian (Croatia)
- case 0x081A: // Lt-sr-SP Serbian (Latin) (Serbia)
- case 0x0C1A: // Cy-sr-SP Serbian (Cyrillic) (Serbia)
+ NLS_id = 191;
+ break;
case 0x041B: // sk-SK Slovak (Slovakia)
+ NLS_id = 703;
+ break;
case 0x041C: // sq-AL Albanian (Albania)
+ NLS_id = 8;
+ break;
case 0x041D: // sv-SE Swedish (Sweden)
+ NLS_id = 752;
+ break;
case 0x081D: // sv-FI Swedish (Finland)
+ NLS_id = 246;
+ break;
case 0x041E: // th-TH Thai (Thailand)
+ NLS_id = 764;
+ break;
case 0x041F: // tr-TR Turkish (Turkey)
+ NLS_id = 792;
+ break;
case 0x0420: // ur-PK Urdu (Islamic Republic of Pakistan)
+ NLS_id = 586;
+ break;
case 0x0421: // id-ID Indonesian (Indonesia)
+ NLS_id = 360;
+ break;
case 0x0422: // uk-UA Ukrainian (Ukraine)
+ NLS_id = 804;
+ break;
case 0x0423: // be-BY Belarusian (Belarus)
+ NLS_id = 112;
+ break;
case 0x0424: // sl-SI Slovenian (Slovenia)
+ NLS_id = 705;
+ break;
case 0x0425: // et-EE Estonian (Estonia)
+ NLS_id = 233;
+ break;
case 0x0426: // lv-LV Latvian (Latvia)
+ NLS_id = 428;
+ break;
case 0x0427: // lt-LT Lithuanian (Lithuania)
+ NLS_id = 440;
+ break;
case 0x0429: // fa-IR Farsi (Iran)
+ NLS_id = 364;
+ break;
case 0x042A: // vi-VN Vietnamese (Viet Nam)
+ NLS_id = 704;
+ break;
case 0x042B: // hy-AM Armenian (Armenia)
+ NLS_id = 51;
+ break;
case 0x042C: // Lt-az-AZ Azeri (Latin) (Azerbaijan)
+ NLS_id = 31;
+ break;
case 0x082C: // Cy-az-AZ Azeri (Cyrillic) (Azerbaijan)
+ NLS_id = 31;
+ break;
case 0x042D: // eu-ES Basque (Spain)
+ NLS_id = 724;
+ break;
case 0x042F: // mk-MK FYRO Macedonian (Former Yugoslav Republic of Macedonia)
+ NLS_id = 807;
+ break;
case 0x0436: // af-ZA Afrikaans (South Africa)
+ NLS_id = 710;
+ break;
case 0x0437: // ka-GE Georgian (Georgia)
+ NLS_id = 268;
+ break;
case 0x0438: // fo-FO Faeroese (Faeroe Islands)
+ NLS_id = 234;
+ break;
case 0x0439: // hi-IN Hindi (India)
+ NLS_id = 356;
+ break;
case 0x043E: // ms-MY Malay (Malaysia)
+ NLS_id = 458;
+ break;
case 0x083E: // ms-BN Malay (Brunei Darussalam)
+ NLS_id = 96;
+ break;
case 0x043F: // kk-KZ Kazakh (Kazakhstan)
+ NLS_id = 398;
+ break;
case 0x0440: // ky-KZ Kyrgyz (Kyrgyzstan)
+ NLS_id = 398;
+ break;
case 0x0441: // sw-KE Swahili (Kenya)
+ NLS_id = 404;
+ break;
case 0x0443: // Lt-uz-UZ Uzbek (Latin) (Uzbekistan)
+ NLS_id = 860;
+ break;
case 0x0843: // Cy-uz-UZ Uzbek (Cyrillic) (Uzbekistan)
- case 0x0444: // tt-TA Tatar (Tatarstan)
+ NLS_id = 860;
+ break;
case 0x0446: // pa-IN Punjabi (India)
+ NLS_id = 356;
+ break;
case 0x0447: // gu-IN Gujarati (India)
+ NLS_id = 356;
+ break;
case 0x0449: // ta-IN Tamil (India)
+ NLS_id = 356;
+ break;
case 0x044A: // te-IN Telugu (India)
+ NLS_id = 356;
+ break;
case 0x044B: // kn-IN Kannada (India)
+ NLS_id = 356;
+ break;
case 0x044E: // mr-IN Marathi (India)
+ NLS_id = 356;
+ break;
case 0x044F: // sa-IN Sanskrit (India)
+ NLS_id = 356;
+ break;
case 0x0450: // mn-MN Mongolian (Mongolia)
+ NLS_id = 496;
+ break;
case 0x0456: // gl-ES Galician (Spain)
+ NLS_id = 724;
+ break;
case 0x0457: // kok-IN Konkani (India)
+ NLS_id = 356;
+ break;
case 0x045A: // syr-SY Syriac (Syria)
+ NLS_id = 760;
+ break;
case 0x0465: // div-MV Divehi (Maldives)
- case 0x007F: // Invariant Language (Invariant Country)
+ NLS_id = 462;
+ break;
+ case 0x007F: // Invariant Language (Invariant Country)
throw new ArgumentException ("There is no region associated with the Invariant Culture (Culture ID: 0x7F).");
default:
+ if (CultureInfo.IsIDNeutralCulture (culture))
+ throw new ArgumentException ("Culture ID " + culture
+ + " (0x" + culture.ToString ("X4")
+ + ") is a neutral culture. A region can not be created from it.");
+
throw new ArgumentException ("Culture ID " + culture + " (0x" + culture.ToString ("X4")
+ ") is not a supported culture.");
}
}
public RegionInfo (string name) {
+ switch (name.ToUpperInvariant ()) {
+ case "AF": // Afghanistan
+ NLS_id = 004;
+ break;
+ case "AL": // Albania
+ NLS_id = 008;
+ break;
+ case "DZ": // Algeria
+ NLS_id = 012;
+ break;
+ case "AS": // American Samoa
+ NLS_id = 016;
+ break;
+ case "AD": // Andorra
+ NLS_id = 020;
+ break;
+ case "AO": // Angola
+ NLS_id = 024;
+ break;
+ case "AI": // Anguilla
+ NLS_id = 660;
+ break;
+ case "AQ": // Antarctica
+ NLS_id = 010;
+ break;
+ case "AG": // Antigua and Barbuda
+ NLS_id = 028;
+ break;
+ case "AR": // Argentina
+ NLS_id = 032;
+ break;
+ case "AM": // Armenia
+ NLS_id = 051;
+ break;
+ case "AW": // Aruba
+ NLS_id = 533;
+ break;
+ case "AU": // Australia
+ NLS_id = 036;
+ break;
+ case "AT": // Austria
+ NLS_id = 040;
+ break;
+ case "AZ": // Azerbaijan
+ NLS_id = 031;
+ break;
+ case "BS": // Bahamas
+ NLS_id = 044;
+ break;
+ case "BH": // Bahrain
+ NLS_id = 048;
+ break;
+ case "BD": // Bangladesh
+ NLS_id = 050;
+ break;
+ case "BB": // Barbados
+ NLS_id = 052;
+ break;
+ case "BY": // Belarus
+ NLS_id = 112;
+ break;
+ case "BE": // Belgium
+ NLS_id = 056;
+ break;
+ case "BZ": // Belize
+ NLS_id = 084;
+ break;
+ case "BJ": // Benin
+ NLS_id = 204;
+ break;
+ case "BM": // Bermuda
+ NLS_id = 060;
+ break;
+ case "BT": // Bhutan
+ NLS_id = 064;
+ break;
+ case "BO": // Bolivia
+ NLS_id = 068;
+ break;
+ case "BA": // Bosnia and Herzegowina
+ NLS_id = 070;
+ break;
+ case "BW": // Botswana
+ NLS_id = 072;
+ break;
+ case "BV": // Bouvet Island
+ NLS_id = 074;
+ break;
+ case "BR": // Brazil
+ NLS_id = 076;
+ break;
+ case "IO": // British Indian Ocean Territory
+ NLS_id = 086;
+ break;
+ case "BN": // Brunei Darussalam
+ NLS_id = 096;
+ break;
+ case "BG": // Bulgaria
+ NLS_id = 100;
+ break;
+ case "BF": // Burkina Faso
+ NLS_id = 854;
+ break;
+ case "BI": // Burundi
+ NLS_id = 108;
+ break;
+ case "KH": // Cambodia
+ NLS_id = 116;
+ break;
+ case "CM": // Cameroon
+ NLS_id = 120;
+ break;
+ case "CA": // Canada
+ NLS_id = 124;
+ break;
+ case "CV": // Cape Verde
+ NLS_id = 132;
+ break;
+ case "KY": // Cayman Islands
+ NLS_id = 136;
+ break;
+ case "CF": // Central African Republic
+ NLS_id = 140;
+ break;
+ case "TD": // Chad
+ NLS_id = 148;
+ break;
+ case "CL": // Chile
+ NLS_id = 152;
+ break;
+ case "CN": // China
+ NLS_id = 156;
+ break;
+ case "CX": // Christmas Island
+ NLS_id = 162;
+ break;
+ case "CC": // Cocos (Keeling) Islands
+ NLS_id = 166;
+ break;
+ case "CO": // Colombia
+ NLS_id = 170;
+ break;
+ case "KM": // Comoros
+ NLS_id = 174;
+ break;
+ case "CG": // Congo
+ NLS_id = 178;
+ break;
+ case "CK": // Cook Islands
+ NLS_id = 184;
+ break;
+ case "CR": // Costa Rica
+ NLS_id = 188;
+ break;
+ case "CI": // Cote D'Ivoire
+ NLS_id = 384;
+ break;
+ case "HR": // Croatia (Local Name: Hrvatska)
+ NLS_id = 191;
+ break;
+ case "CU": // Cuba
+ NLS_id = 192;
+ break;
+ case "CY": // Cyprus
+ NLS_id = 196;
+ break;
+ case "CZ": // Czech Republic
+ NLS_id = 203;
+ break;
+ case "DK": // Denmark
+ NLS_id = 208;
+ break;
+ case "DJ": // Djibouti
+ NLS_id = 262;
+ break;
+ case "DM": // Dominica
+ NLS_id = 212;
+ break;
+ case "DO": // Dominican Republic
+ NLS_id = 214;
+ break;
+ case "TP": // East Timor
+ NLS_id = 626;
+ break;
+ case "EC": // Ecuador
+ NLS_id = 218;
+ break;
+ case "EG": // Egypt
+ NLS_id = 818;
+ break;
+ case "SV": // El Salvador
+ NLS_id = 222;
+ break;
+ case "GQ": // Equatorial Guinea
+ NLS_id = 226;
+ break;
+ case "ER": // Eritrea
+ NLS_id = 232;
+ break;
+ case "EE": // Estonia
+ NLS_id = 233;
+ break;
+ case "ET": // Ethiopia
+ NLS_id = 231;
+ break;
+ case "FK": // Falkland Islands (Malvinas)
+ NLS_id = 238;
+ break;
+ case "FO": // Faroe Islands
+ NLS_id = 234;
+ break;
+ case "FJ": // Fiji
+ NLS_id = 242;
+ break;
+ case "FI": // Finland
+ NLS_id = 246;
+ break;
+ case "FR": // France
+ NLS_id = 250;
+ break;
+ case "FX": // France, Metropolitan
+ NLS_id = 249;
+ break;
+ case "GF": // French Guiana
+ NLS_id = 254;
+ break;
+ case "PF": // French Polynesia
+ NLS_id = 258;
+ break;
+ case "TF": // French Southern Territories
+ NLS_id = 260;
+ break;
+ case "GA": // Gabon
+ NLS_id = 266;
+ break;
+ case "GM": // Gambia
+ NLS_id = 270;
+ break;
+ case "GE": // Georgia
+ NLS_id = 268;
+ break;
+ case "DE": // Germany
+ NLS_id = 276;
+ break;
+ case "GH": // Ghana
+ NLS_id = 288;
+ break;
+ case "GI": // Gibraltar
+ NLS_id = 292;
+ break;
+ case "GR": // Greece
+ NLS_id = 300;
+ break;
+ case "GL": // Greenland
+ NLS_id = 304;
+ break;
+ case "GD": // Grenada
+ NLS_id = 308;
+ break;
+ case "GP": // Guadeloupe
+ NLS_id = 312;
+ break;
+ case "GU": // Guam
+ NLS_id = 316;
+ break;
+ case "GT": // Guatemala
+ NLS_id = 320;
+ break;
+ case "GN": // Guinea
+ NLS_id = 324;
+ break;
+ case "GW": // Guinea-Bissau
+ NLS_id = 624;
+ break;
+ case "GY": // Guyana
+ NLS_id = 328;
+ break;
+ case "HT": // Haiti
+ NLS_id = 332;
+ break;
+ case "HM": // Heard and Mc Donald Islands
+ NLS_id = 334;
+ break;
+ case "VA": // Holy See (Vatican City State)
+ NLS_id = 336;
+ break;
+ case "HN": // Honduras
+ NLS_id = 340;
+ break;
+ case "HK": // Hong Kong
+ NLS_id = 344;
+ break;
+ case "HU": // Hungary
+ NLS_id = 348;
+ break;
+ case "IS": // Iceland
+ NLS_id = 352;
+ break;
+ case "IN": // India
+ NLS_id = 356;
+ break;
+ case "ID": // Indonesia
+ NLS_id = 360;
+ break;
+ case "IR": // Iran (Islamic Republic of)
+ NLS_id = 364;
+ break;
+ case "IQ": // Iraq
+ NLS_id = 368;
+ break;
+ case "IE": // Ireland
+ NLS_id = 372;
+ break;
+ case "IL": // Israel
+ NLS_id = 376;
+ break;
+ case "IT": // Italy
+ NLS_id = 380;
+ break;
+ case "JM": // Jamaica
+ NLS_id = 388;
+ break;
+ case "JP": // Japan
+ NLS_id = 392;
+ break;
+ case "JO": // Jordan
+ NLS_id = 400;
+ break;
+ case "KZ": // Kazakhstan
+ NLS_id = 398;
+ break;
+ case "KE": // Kenya
+ NLS_id = 404;
+ break;
+ case "KI": // Kiribati
+ NLS_id = 296;
+ break;
+ case "KP": // Korea, Democratic People's Republic of
+ NLS_id = 408;
+ break;
+ case "KR": // Korea, Republic of
+ NLS_id = 410;
+ break;
+ case "KW": // Kuwait
+ NLS_id = 414;
+ break;
+ case "KG": // Kyrgyzstan
+ NLS_id = 417;
+ break;
+ case "LA": // Lao People's Democratic Republic
+ NLS_id = 418;
+ break;
+ case "LV": // Latvia
+ NLS_id = 428;
+ break;
+ case "LB": // Lebanon
+ NLS_id = 422;
+ break;
+ case "LS": // Lesotho
+ NLS_id = 426;
+ break;
+ case "LR": // Liberia
+ NLS_id = 430;
+ break;
+ case "LY": // Libyan Arab Jamahiriya
+ NLS_id = 434;
+ break;
+ case "LI": // Liechtenstein
+ NLS_id = 438;
+ break;
+ case "LT": // Lithuania
+ NLS_id = 440;
+ break;
+ case "LU": // Luxembourg
+ NLS_id = 442;
+ break;
+ case "MO": // Macau
+ NLS_id = 446;
+ break;
+ case "MK": // Macedonia, The Former Yugoslav Republic of
+ NLS_id = 807;
+ break;
+ case "MG": // Madagascar
+ NLS_id = 450;
+ break;
+ case "MW": // Malawi
+ NLS_id = 454;
+ break;
+ case "MY": // Malaysia
+ NLS_id = 458;
+ break;
+ case "MV": // Maldives
+ NLS_id = 462;
+ break;
+ case "ML": // Mali
+ NLS_id = 466;
+ break;
+ case "MT": // Malta
+ NLS_id = 470;
+ break;
+ case "MH": // Marshall Islands
+ NLS_id = 584;
+ break;
+ case "MQ": // Martinique
+ NLS_id = 474;
+ break;
+ case "MR": // Mauritania
+ NLS_id = 478;
+ break;
+ case "MU": // Mauritius
+ NLS_id = 480;
+ break;
+ case "YT": // Mayotte
+ NLS_id = 175;
+ break;
+ case "MX": // Mexico
+ NLS_id = 484;
+ break;
+ case "FM": // Micronesia, Federated States of
+ NLS_id = 583;
+ break;
+ case "MD": // Moldova, Republic of
+ NLS_id = 498;
+ break;
+ case "MC": // Monaco
+ NLS_id = 492;
+ break;
+ case "MN": // Mongolia
+ NLS_id = 496;
+ break;
+ case "MS": // Montserrat
+ NLS_id = 500;
+ break;
+ case "MA": // Morocco
+ NLS_id = 504;
+ break;
+ case "MZ": // Mozambique
+ NLS_id = 508;
+ break;
+ case "MM": // Myanmar
+ NLS_id = 104;
+ break;
+ case "NA": // Namibia
+ NLS_id = 516;
+ break;
+ case "NR": // Nauru
+ NLS_id = 520;
+ break;
+ case "NP": // Nepal
+ NLS_id = 524;
+ break;
+ case "NL": // Netherlands
+ NLS_id = 528;
+ break;
+ case "AN": // Netherlands Antilles
+ NLS_id = 530;
+ break;
+ case "NC": // New Caledonia
+ NLS_id = 540;
+ break;
+ case "NZ": // New Zealand
+ NLS_id = 554;
+ break;
+ case "NI": // Nicaragua
+ NLS_id = 558;
+ break;
+ case "NE": // Niger
+ NLS_id = 562;
+ break;
+ case "NG": // Nigeria
+ NLS_id = 566;
+ break;
+ case "NU": // Niue
+ NLS_id = 570;
+ break;
+ case "NF": // Norfolk Island
+ NLS_id = 574;
+ break;
+ case "MP": // Northern Mariana Islands
+ NLS_id = 580;
+ break;
+ case "NO": // Norway
+ NLS_id = 578;
+ break;
+ case "OM": // Oman
+ NLS_id = 512;
+ break;
+ case "PK": // Pakistan
+ NLS_id = 586;
+ break;
+ case "PW": // Palau
+ NLS_id = 585;
+ break;
+ case "PA": // Panama
+ NLS_id = 591;
+ break;
+ case "PG": // Papua New Guinea
+ NLS_id = 598;
+ break;
+ case "PY": // Paraguay
+ NLS_id = 600;
+ break;
+ case "PE": // Peru
+ NLS_id = 604;
+ break;
+ case "PH": // Philippines
+ NLS_id = 608;
+ break;
+ case "PN": // Pitcairn
+ NLS_id = 612;
+ break;
+ case "PL": // Poland
+ NLS_id = 616;
+ break;
+ case "PT": // Portugal
+ NLS_id = 620;
+ break;
+ case "PR": // Puerto Rico
+ NLS_id = 630;
+ break;
+ case "QA": // Qatar
+ NLS_id = 634;
+ break;
+ case "RE": // Reunion
+ NLS_id = 638;
+ break;
+ case "RO": // Romania
+ NLS_id = 642;
+ break;
+ case "RU": // Russian Federation
+ NLS_id = 643;
+ break;
+ case "RW": // Rwanda
+ NLS_id = 646;
+ break;
+ case "KN": // Saint Kitts and Nevis
+ NLS_id = 659;
+ break;
+ case "LC": // Saint Lucia
+ NLS_id = 662;
+ break;
+ case "VC": // Saint Vincent and The Grenadines
+ NLS_id = 670;
+ break;
+ case "WS": // Samoa
+ NLS_id = 882;
+ break;
+ case "SM": // San Marino
+ NLS_id = 674;
+ break;
+ case "ST": // Sao Tome and Principe
+ NLS_id = 678;
+ break;
+ case "SA": // Saudi Arabia
+ NLS_id = 682;
+ break;
+ case "SN": // Senegal
+ NLS_id = 686;
+ break;
+ case "SC": // Seychelles
+ NLS_id = 690;
+ break;
+ case "SL": // Sierra Leone
+ NLS_id = 694;
+ break;
+ case "SG": // Singapore
+ NLS_id = 702;
+ break;
+ case "SK": // Slovakia (Slovak Republic)
+ NLS_id = 703;
+ break;
+ case "SI": // Slovenia
+ NLS_id = 705;
+ break;
+ case "SB": // Solomon Islands
+ NLS_id = 090;
+ break;
+ case "SO": // Somalia
+ NLS_id = 706;
+ break;
+ case "ZA": // South Africa
+ NLS_id = 710;
+ break;
+ case "GS": // South Georgia and The South Sandwich Islands
+ NLS_id = 239;
+ break;
+ case "ES": // Spain
+ NLS_id = 724;
+ break;
+ case "LK": // Sri Lanka
+ NLS_id = 144;
+ break;
+ case "SH": // St. Helena
+ NLS_id = 654;
+ break;
+ case "PM": // St. Pierre and Miquelon
+ NLS_id = 666;
+ break;
+ case "SD": // Sudan
+ NLS_id = 736;
+ break;
+ case "SR": // Suriname
+ NLS_id = 740;
+ break;
+ case "SJ": // Svalbard and Jan Mayen Islands
+ NLS_id = 744;
+ break;
+ case "SZ": // Swaziland
+ NLS_id = 748;
+ break;
+ case "SE": // Sweden
+ NLS_id = 752;
+ break;
+ case "CH": // Switzerland
+ NLS_id = 756;
+ break;
+ case "SY": // Syrian Arab Republic
+ NLS_id = 760;
+ break;
+ case "TW": // Taiwan, Province of China
+ NLS_id = 158;
+ break;
+ case "TJ": // Tajikistan
+ NLS_id = 762;
+ break;
+ case "TZ": // Tanzania, United Republic of
+ NLS_id = 834;
+ break;
+ case "TH": // Thailand
+ NLS_id = 764;
+ break;
+ case "TG": // Togo
+ NLS_id = 768;
+ break;
+ case "TK": // Tokelau
+ NLS_id = 772;
+ break;
+ case "TO": // Tonga
+ NLS_id = 776;
+ break;
+ case "TT": // Trinidad and Tobago
+ NLS_id = 780;
+ break;
+ case "TN": // Tunisia
+ NLS_id = 788;
+ break;
+ case "TR": // Turkey
+ NLS_id = 792;
+ break;
+ case "TM": // Turkmenistan
+ NLS_id = 795;
+ break;
+ case "TC": // Turks and Caicos Islands
+ NLS_id = 796;
+ break;
+ case "TV": // Tuvalu
+ NLS_id = 798;
+ break;
+ case "UG": // Uganda
+ NLS_id = 800;
+ break;
+ case "UA": // Ukraine
+ NLS_id = 804;
+ break;
+ case "AE": // United Arab Emirates
+ NLS_id = 784;
+ break;
+ case "GB": // United Kingdom
+ NLS_id = 826;
+ break;
+ case "US": // United States
+ NLS_id = 840;
+ break;
+ case "UM": // United States Minor Outlying Islands
+ NLS_id = 581;
+ break;
+ case "UY": // Uruguay
+ NLS_id = 858;
+ break;
+ case "UZ": // Uzbekistan
+ NLS_id = 860;
+ break;
+ case "VU": // Vanuatu
+ NLS_id = 548;
+ break;
+ case "VE": // Venezuela
+ NLS_id = 862;
+ break;
+ case "VN": // Viet Nam
+ NLS_id = 704;
+ break;
+ case "VG": // Virgin Islands (British)
+ NLS_id = 092;
+ break;
+ case "VI": // Virgin Islands (U.S.)
+ NLS_id = 850;
+ break;
+ case "WF": // Wallis and Futuna Islands
+ NLS_id = 876;
+ break;
+ case "EH": // Western Sahara
+ NLS_id = 732;
+ break;
+ case "YE": // Yemen
+ NLS_id = 887;
+ break;
+ case "YU": // Yugoslavia
+ NLS_id = 891;
+ break;
+ case "ZR": // Zaire
+ NLS_id = 180;
+ break;
+ case "ZM": // Zambia
+ NLS_id = 894;
+ break;
+ case "ZW": // Zimbabwe
+ NLS_id = 716;
+ break;
+ default:
+ throw new ArgumentException ("Region name " + name + " is not supported.");
+ }
+ }
+
+ public virtual string CurrencySymbol {
+ get {
+ switch (NLS_id) {
+ default:
+ throw new Exception ("Dunno what is currency symbol for " + NLS_id + " Region. FIXME.");
+ }
+ }
+ }
+
+ [MonoTODO]
+ public static RegionInfo CurrentRegion {
+ get {
+ return null;
+ }
+ }
+
+ public virtual string DisplayName {
+ get {
+ switch (NLS_id) {
+ case 203: // Czech republic
+ return "Èeská republika";
+ case 840: // United States
+ return "United States";
+ default:
+ throw new Exception ("FIXME. Please add your region name in language used in this region.");
+ }
+ }
+ }
+
+ public virtual string EnglishName {
+ get {
+ switch (NLS_id) {
+ case 004:
+ return "Afghanistan";
+ case 008:
+ return "Albania";
+ case 012:
+ return "Algeria";
+ case 016:
+ return "American Samoa";
+ case 020:
+ return "Andorra";
+ case 024:
+ return "Angola";
+ case 660:
+ return "Anguilla";
+ case 010:
+ return "Antarctica";
+ case 028:
+ return "Antigua and Barbuda";
+ case 032:
+ return "Argentina";
+ case 051:
+ return "Armenia";
+ case 533:
+ return "Aruba";
+ case 036:
+ return "Australia";
+ case 040:
+ return "Austria";
+ case 031:
+ return "Azerbaijan";
+ case 044:
+ return "Bahamas";
+ case 048:
+ return "Bahrain";
+ case 050:
+ return "Bangladesh";
+ case 052:
+ return "Barbados";
+ case 112:
+ return "Belarus";
+ case 056:
+ return "Belgium";
+ case 084:
+ return "Belize";
+ case 204:
+ return "Benin";
+ case 060:
+ return "Bermuda";
+ case 064:
+ return "Bhutan";
+ case 068:
+ return "Bolivia";
+ case 070:
+ return "Bosnia and Herzegowina";
+ case 072:
+ return "Botswana";
+ case 074:
+ return "Bouvet Island";
+ case 076:
+ return "Brazil";
+ case 086:
+ return "British Indian Ocean Territory";
+ case 096:
+ return "Brunei Darussalam";
+ case 100:
+ return "Bulgaria";
+ case 854:
+ return "Burkina Faso";
+ case 108:
+ return "Burundi";
+ case 116:
+ return "Cambodia";
+ case 120:
+ return "Cameroon";
+ case 124:
+ return "Canada";
+ case 132:
+ return "Cape Verde";
+ case 136:
+ return "Cayman Islands";
+ case 140:
+ return "Central African Republic";
+ case 148:
+ return "Chad";
+ case 152:
+ return "Chile";
+ case 156:
+ return "China";
+ case 162:
+ return "Christmas Island";
+ case 166:
+ return "Cocos (Keeling) Islands";
+ case 170:
+ return "Colombia";
+ case 174:
+ return "Comoros";
+ case 178:
+ return "Congo";
+ case 184:
+ return "Cook Islands";
+ case 188:
+ return "Costa Rica";
+ case 384:
+ return "Cote D'Ivoire";
+ case 191:
+ return "Croatia (Local Name: Hrvatska)";
+ case 192:
+ return "Cuba";
+ case 196:
+ return "Cyprus";
+ case 203:
+ return "Czech Republic";
+ case 208:
+ return "Denmark";
+ case 262:
+ return "Djibouti";
+ case 212:
+ return "Dominica";
+ case 214:
+ return "Dominican Republic";
+ case 626:
+ return "East Timor";
+ case 218:
+ return "Ecuador";
+ case 818:
+ return "Egypt";
+ case 222:
+ return "El Salvador";
+ case 226:
+ return "Equatorial Guinea";
+ case 232:
+ return "Eritrea";
+ case 233:
+ return "Estonia";
+ case 231:
+ return "Ethiopia";
+ case 238:
+ return "Falkland Islands (Malvinas)";
+ case 234:
+ return "Faroe Islands";
+ case 242:
+ return "Fiji";
+ case 246:
+ return "Finland";
+ case 250:
+ return "France";
+ case 249:
+ return "France, Metropolitan";
+ case 254:
+ return "French Guiana";
+ case 258:
+ return "French Polynesia";
+ case 260:
+ return "French Southern Territories";
+ case 266:
+ return "Gabon";
+ case 270:
+ return "Gambia";
+ case 268:
+ return "Georgia";
+ case 276:
+ return "Germany";
+ case 288:
+ return "Ghana";
+ case 292:
+ return "Gibraltar";
+ case 300:
+ return "Greece";
+ case 304:
+ return "Greenland";
+ case 308:
+ return "Grenada";
+ case 312:
+ return "Guadeloupe";
+ case 316:
+ return "Guam";
+ case 320:
+ return "Guatemala";
+ case 324:
+ return "Guinea";
+ case 624:
+ return "Guinea-Bissau";
+ case 328:
+ return "Guyana";
+ case 332:
+ return "Haiti";
+ case 334:
+ return "Heard and Mc Donald Islands";
+ case 336:
+ return "Holy See (Vatican City State)";
+ case 340:
+ return "Honduras";
+ case 344:
+ return "Hong Kong";
+ case 348:
+ return "Hungary";
+ case 352:
+ return "Iceland";
+ case 356:
+ return "India";
+ case 360:
+ return "Indonesia";
+ case 364:
+ return "Iran (Islamic Republic of)";
+ case 368:
+ return "Iraq";
+ case 372:
+ return "Ireland";
+ case 376:
+ return "Israel";
+ case 380:
+ return "Italy";
+ case 388:
+ return "Jamaica";
+ case 392:
+ return "Japan";
+ case 400:
+ return "Jordan";
+ case 398:
+ return "Kazakhstan";
+ case 404:
+ return "Kenya";
+ case 296:
+ return "Kiribati";
+ case 408:
+ return "Korea, Democratic People's Republic of";
+ case 410:
+ return "Korea, Republic of";
+ case 414:
+ return "Kuwait";
+ case 417:
+ return "Kyrgyzstan";
+ case 418:
+ return "Lao People's Democratic Republic";
+ case 428:
+ return "Latvia";
+ case 422:
+ return "Lebanon";
+ case 426:
+ return "Lesotho";
+ case 430:
+ return "Liberia";
+ case 434:
+ return "Libyan Arab Jamahiriya";
+ case 438:
+ return "Liechtenstein";
+ case 440:
+ return "Lithuania";
+ case 442:
+ return "Luxembourg";
+ case 446:
+ return "Macau";
+ case 807:
+ return "Macedonia, The Former Yugoslav Republic of";
+ case 450:
+ return "Madagascar";
+ case 454:
+ return "Malawi";
+ case 458:
+ return "Malaysia";
+ case 462:
+ return "Maldives";
+ case 466:
+ return "Mali";
+ case 470:
+ return "Malta";
+ case 584:
+ return "Marshall Islands";
+ case 474:
+ return "Martinique";
+ case 478:
+ return "Mauritania";
+ case 480:
+ return "Mauritius";
+ case 175:
+ return "Mayotte";
+ case 484:
+ return "Mexico";
+ case 583:
+ return "Micronesia, Federated States of";
+ case 498:
+ return "Moldova, Republic of";
+ case 492:
+ return "Monaco";
+ case 496:
+ return "Mongolia";
+ case 500:
+ return "Montserrat";
+ case 504:
+ return "Morocco";
+ case 508:
+ return "Mozambique";
+ case 104:
+ return "Myanmar";
+ case 516:
+ return "Namibia";
+ case 520:
+ return "Nauru";
+ case 524:
+ return "Nepal";
+ case 528:
+ return "Netherlands";
+ case 530:
+ return "Netherlands Antilles";
+ case 540:
+ return "New Caledonia";
+ case 554:
+ return "New Zealand";
+ case 558:
+ return "Nicaragua";
+ case 562:
+ return "Niger";
+ case 566:
+ return "Nigeria";
+ case 570:
+ return "Niue";
+ case 574:
+ return "Norfolk Island";
+ case 580:
+ return "Northern Mariana Islands";
+ case 578:
+ return "Norway";
+ case 512:
+ return "Oman";
+ case 586:
+ return "Pakistan";
+ case 585:
+ return "Palau";
+ case 591:
+ return "Panama";
+ case 598:
+ return "Papua New Guinea";
+ case 600:
+ return "Paraguay";
+ case 604:
+ return "Peru";
+ case 608:
+ return "Philippines";
+ case 612:
+ return "Pitcairn";
+ case 616:
+ return "Poland";
+ case 620:
+ return "Portugal";
+ case 630:
+ return "Puerto Rico";
+ case 634:
+ return "Qatar";
+ case 638:
+ return "Reunion";
+ case 642:
+ return "Romania";
+ case 643:
+ return "Russian Federation";
+ case 646:
+ return "Rwanda";
+ case 659:
+ return "Saint Kitts and Nevis";
+ case 662:
+ return "Saint Lucia";
+ case 670:
+ return "Saint Vincent and The Grenadines";
+ case 882:
+ return "Samoa";
+ case 674:
+ return "San Marino";
+ case 678:
+ return "Sao Tome and Principe";
+ case 682:
+ return "Saudi Arabia";
+ case 686:
+ return "Senegal";
+ case 690:
+ return "Seychelles";
+ case 694:
+ return "Sierra Leone";
+ case 702:
+ return "Singapore";
+ case 703:
+ return "Slovakia (Slovak Republic)";
+ case 705:
+ return "Slovenia";
+ case 090:
+ return "Solomon Islands";
+ case 706:
+ return "Somalia";
+ case 710:
+ return "South Africa";
+ case 239:
+ return "South Georgia and The South Sandwich Islands";
+ case 724:
+ return "Spain";
+ case 144:
+ return "Sri Lanka";
+ case 654:
+ return "St. Helena";
+ case 666:
+ return "St. Pierre and Miquelon";
+ case 736:
+ return "Sudan";
+ case 740:
+ return "Suriname";
+ case 744:
+ return "Svalbard and Jan Mayen Islands";
+ case 748:
+ return "Swaziland";
+ case 752:
+ return "Sweden";
+ case 756:
+ return "Switzerland";
+ case 760:
+ return "Syrian Arab Republic";
+ case 158:
+ return "Taiwan, Province of China";
+ case 762:
+ return "Tajikistan";
+ case 834:
+ return "Tanzania, United Republic of";
+ case 764:
+ return "Thailand";
+ case 768:
+ return "Togo";
+ case 772:
+ return "Tokelau";
+ case 776:
+ return "Tonga";
+ case 780:
+ return "Trinidad and Tobago";
+ case 788:
+ return "Tunisia";
+ case 792:
+ return "Turkey";
+ case 795:
+ return "Turkmenistan";
+ case 796:
+ return "Turks and Caicos Islands";
+ case 798:
+ return "Tuvalu";
+ case 800:
+ return "Uganda";
+ case 804:
+ return "Ukraine";
+ case 784:
+ return "United Arab Emirates";
+ case 826:
+ return "United Kingdom";
+ case 840:
+ return "United States";
+ case 581:
+ return "United States Minor Outlying Islands";
+ case 858:
+ return "Uruguay";
+ case 860:
+ return "Uzbekistan";
+ case 548:
+ return "Vanuatu";
+ case 862:
+ return "Venezuela";
+ case 704:
+ return "Viet Nam";
+ case 092:
+ return "Virgin Islands (British)";
+ case 850:
+ return "Virgin Islands (U.S.)";
+ case 876:
+ return "Wallis and Futuna Islands";
+ case 732:
+ return "Western Sahara";
+ case 887:
+ return "Yemen";
+ case 891:
+ return "Yugoslavia";
+ case 180:
+ return "Zaire";
+ case 894:
+ return "Zambia";
+ case 716:
+ return "Zimbabwe";
+ default:
+ throw new Exception ("This code should not be reached.");
+ }
+ }
}
- public virtual string CurrencySymbol {
+ public virtual bool IsMetric {
get {
switch (NLS_id) {
+ case 203: // Czech Republic
+ return true;
+ case 840: // United States
+ return false;
default:
- throw new Exception ();
+ throw new Exception ("FIXME. Please define.");
}
}
}
- public override bool Equals(object value) {
+ public virtual string ISOCurrencySymbol {
+ get {
+ switch (NLS_id) {
+ default:
+ throw new Exception ("This code should not be reached.");
+ }
+ }
+ }
+
+ [MonoTODO]
+ public virtual string Name
+ {
+ get {
+ throw new NotImplementedException();
+ }
+ }
+
+ [MonoTODO]
+ public virtual string ThreeLetterISORegionName
+ {
+ get {
+ throw new NotImplementedException();
+ }
+ }
+
+ [MonoTODO]
+ public virtual string ThreeLetterWindowsRegionName
+ {
+ get {
+ throw new NotImplementedException();
+ }
+ }
+
+ [MonoTODO]
+ public virtual string TwoLetterISORegionName
+ {
+ get {
+ throw new NotImplementedException();
+ }
+ }
+
+ //
+ // methods
+
+ public override bool Equals(object value) {
return value == this;
}
- public override int GetHashCode () {
+ public override int GetHashCode () {
return NLS_id.GetHashCode ();
}
+
+ [MonoTODO]
+ public override string ToString()
+ {
+ throw new NotImplementedException();
+ }
+
}
}