blob: 5446f6427b628945bcf3d419cda63521be3aed22 [file] [log] [blame]
//---------------------------------------------------------
// Copyright (C) 2005, International Business Machines
// Corporation and others. All Rights Reserved.
//---------------------------------------------------------
// >>> This data was generated from CLDR by Mark's tools
// >>> as a temporary measure for the 3.4 release.
package com.ibm.icu.dev.tool;
import com.ibm.icu.impl.ZoneMetaData;
import java.util.*;
public final class ZoneMetaCLDR {
/* Generated by org.unicode.cldr.tool.CountItems */
private static final String[][] CANONICAL_REMAP = {
/* zoneID, canonical zoneID */
{"America/Argentina/Buenos_Aires", "America/Buenos_Aires"},
{"America/Argentina/Catamarca", "America/Catamarca"},
{"America/Argentina/Cordoba", "America/Cordoba"},
{"America/Argentina/Jujuy", "America/Jujuy"},
{"America/Argentina/Mendoza", "America/Mendoza"},
{"America/Atka", "America/Adak"},
{"America/Ensenada", "America/Tijuana"},
{"America/Fort_Wayne", "America/Indianapolis"},
{"America/Indiana/Indianapolis", "America/Indianapolis"},
{"America/Kentucky/Louisville", "America/Louisville"},
{"America/Knox_IN", "America/Indiana/Knox"},
{"America/Porto_Acre", "America/Rio_Branco"},
{"America/Rosario", "America/Cordoba"},
{"America/Virgin", "America/St_Thomas"},
{"Asia/Ashkhabad", "Asia/Ashgabat"},
{"Asia/Chungking", "Asia/Chongqing"},
{"Asia/Dacca", "Asia/Dhaka"},
{"Asia/Istanbul", "Europe/Istanbul"},
{"Asia/Macao", "Asia/Macau"},
{"Asia/Tel_Aviv", "Asia/Jerusalem"},
{"Asia/Thimbu", "Asia/Thimphu"},
{"Asia/Ujung_Pandang", "Asia/Makassar"},
{"Asia/Ulan_Bator", "Asia/Ulaanbaatar"},
{"Australia/ACT", "Australia/Sydney"},
{"Australia/Canberra", "Australia/Sydney"},
{"Australia/LHI", "Australia/Lord_Howe"},
{"Australia/NSW", "Australia/Sydney"},
{"Australia/North", "Australia/Darwin"},
{"Australia/Queensland", "Australia/Brisbane"},
{"Australia/South", "Australia/Adelaide"},
{"Australia/Tasmania", "Australia/Hobart"},
{"Australia/Victoria", "Australia/Melbourne"},
{"Australia/West", "Australia/Perth"},
{"Australia/Yancowinna", "Australia/Broken_Hill"},
{"Brazil/Acre", "America/Rio_Branco"},
{"Brazil/DeNoronha", "America/Noronha"},
{"Brazil/East", "America/Sao_Paulo"},
{"Brazil/West", "America/Manaus"},
{"CST6CDT", "America/Chicago"},
{"Canada/Atlantic", "America/Halifax"},
{"Canada/Central", "America/Winnipeg"},
{"Canada/East-Saskatchewan", "America/Regina"},
{"Canada/Eastern", "America/Toronto"},
{"Canada/Mountain", "America/Edmonton"},
{"Canada/Newfoundland", "America/St_Johns"},
{"Canada/Pacific", "America/Vancouver"},
{"Canada/Saskatchewan", "America/Regina"},
{"Canada/Yukon", "America/Whitehorse"},
{"Chile/Continental", "America/Santiago"},
{"Chile/EasterIsland", "Pacific/Easter"},
{"Cuba", "America/Havana"},
{"EST", "America/Indianapolis"},
{"EST5EDT", "America/New_York"},
{"Egypt", "Africa/Cairo"},
{"Eire", "Europe/Dublin"},
{"Etc/GMT+0", "Etc/GMT"},
{"Etc/GMT-0", "Etc/GMT"},
{"Etc/GMT0", "Etc/GMT"},
{"Etc/Greenwich", "Etc/GMT"},
{"Etc/UCT", "Etc/GMT"},
{"Etc/UTC", "Etc/GMT"},
{"Etc/Universal", "Etc/GMT"},
{"Etc/Zulu", "Etc/GMT"},
{"Europe/Nicosia", "Asia/Nicosia"},
{"Europe/Tiraspol", "Europe/Chisinau"},
{"GB", "Europe/London"},
{"GB-Eire", "Europe/London"},
{"GMT", "Etc/GMT"},
{"GMT+0", "Etc/GMT"},
{"GMT-0", "Etc/GMT"},
{"GMT0", "Etc/GMT"},
{"Greenwich", "Etc/GMT"},
{"HST", "Pacific/Honolulu"},
{"Hongkong", "Asia/Hong_Kong"},
{"Iceland", "Atlantic/Reykjavik"},
{"Iran", "Asia/Tehran"},
{"Israel", "Asia/Jerusalem"},
{"Jamaica", "America/Jamaica"},
{"Japan", "Asia/Tokyo"},
{"Kwajalein", "Pacific/Kwajalein"},
{"Libya", "Africa/Tripoli"},
{"MST", "America/Phoenix"},
{"MST7MDT", "America/Denver"},
{"Mexico/BajaNorte", "America/Tijuana"},
{"Mexico/BajaSur", "America/Mazatlan"},
{"Mexico/General", "America/Mexico_City"},
{"NZ", "Pacific/Auckland"},
{"NZ-CHAT", "Pacific/Chatham"},
{"Navajo", "America/Shiprock"},
{"PRC", "Asia/Shanghai"},
{"PST8PDT", "America/Los_Angeles"},
{"Pacific/Samoa", "Pacific/Pago_Pago"},
{"Poland", "Europe/Warsaw"},
{"Portugal", "Europe/Lisbon"},
{"ROC", "Asia/Taipei"},
{"ROK", "Asia/Seoul"},
{"Singapore", "Asia/Singapore"},
{"SystemV/AST4", "America/Puerto_Rico"},
{"SystemV/AST4ADT", "America/Halifax"},
{"SystemV/CST6", "America/Regina"},
{"SystemV/CST6CDT", "America/Chicago"},
{"SystemV/EST5", "America/Indianapolis"},
{"SystemV/EST5EDT", "America/New_York"},
{"SystemV/HST10", "Pacific/Honolulu"},
{"SystemV/MST7", "America/Phoenix"},
{"SystemV/MST7MDT", "America/Denver"},
{"SystemV/PST8", "Pacific/Pitcairn"},
{"SystemV/PST8PDT", "America/Los_Angeles"},
{"SystemV/YST9", "Pacific/Gambier"},
{"SystemV/YST9YDT", "America/Anchorage"},
{"Turkey", "Europe/Istanbul"},
{"UCT", "Etc/GMT"},
{"US/Alaska", "America/Anchorage"},
{"US/Aleutian", "America/Adak"},
{"US/Arizona", "America/Phoenix"},
{"US/Central", "America/Chicago"},
{"US/East-Indiana", "America/Indianapolis"},
{"US/Eastern", "America/New_York"},
{"US/Hawaii", "Pacific/Honolulu"},
{"US/Indiana-Starke", "America/Indiana/Knox"},
{"US/Michigan", "America/Detroit"},
{"US/Mountain", "America/Denver"},
{"US/Pacific", "America/Los_Angeles"},
{"US/Pacific-New", "America/Los_Angeles"},
{"US/Samoa", "Pacific/Pago_Pago"},
{"UTC", "Etc/GMT"},
{"Universal", "Etc/GMT"},
{"W-SU", "Europe/Moscow"},
{"Zulu", "Etc/GMT"},
};
/* All canonical zoneIDs */
private static final String[] CANONICAL_LIST = {
"Africa/Abidjan",
"Africa/Accra",
"Africa/Addis_Ababa",
"Africa/Algiers",
"Africa/Asmera",
"Africa/Bamako",
"Africa/Bangui",
"Africa/Banjul",
"Africa/Bissau",
"Africa/Blantyre",
"Africa/Brazzaville",
"Africa/Bujumbura",
"Africa/Cairo",
"Africa/Casablanca",
"Africa/Ceuta",
"Africa/Conakry",
"Africa/Dakar",
"Africa/Dar_es_Salaam",
"Africa/Djibouti",
"Africa/Douala",
"Africa/El_Aaiun",
"Africa/Freetown",
"Africa/Gaborone",
"Africa/Harare",
"Africa/Johannesburg",
"Africa/Kampala",
"Africa/Khartoum",
"Africa/Kigali",
"Africa/Kinshasa",
"Africa/Lagos",
"Africa/Libreville",
"Africa/Lome",
"Africa/Luanda",
"Africa/Lubumbashi",
"Africa/Lusaka",
"Africa/Malabo",
"Africa/Maputo",
"Africa/Maseru",
"Africa/Mbabane",
"Africa/Mogadishu",
"Africa/Monrovia",
"Africa/Nairobi",
"Africa/Ndjamena",
"Africa/Niamey",
"Africa/Nouakchott",
"Africa/Ouagadougou",
"Africa/Porto-Novo",
"Africa/Sao_Tome",
"Africa/Timbuktu",
"Africa/Tripoli",
"Africa/Tunis",
"Africa/Windhoek",
"America/Adak",
"America/Anchorage",
"America/Anguilla",
"America/Antigua",
"America/Araguaina",
"America/Argentina/ComodRivadavia",
"America/Argentina/La_Rioja",
"America/Argentina/Rio_Gallegos",
"America/Argentina/San_Juan",
"America/Argentina/Tucuman",
"America/Argentina/Ushuaia",
"America/Aruba",
"America/Asuncion",
"America/Bahia",
"America/Barbados",
"America/Belem",
"America/Belize",
"America/Boa_Vista",
"America/Bogota",
"America/Boise",
"America/Buenos_Aires",
"America/Cambridge_Bay",
"America/Campo_Grande",
"America/Cancun",
"America/Caracas",
"America/Catamarca",
"America/Cayenne",
"America/Cayman",
"America/Chicago",
"America/Chihuahua",
"America/Cordoba",
"America/Costa_Rica",
"America/Cuiaba",
"America/Curacao",
"America/Danmarkshavn",
"America/Dawson",
"America/Dawson_Creek",
"America/Denver",
"America/Detroit",
"America/Dominica",
"America/Edmonton",
"America/Eirunepe",
"America/El_Salvador",
"America/Fortaleza",
"America/Glace_Bay",
"America/Godthab",
"America/Goose_Bay",
"America/Grand_Turk",
"America/Grenada",
"America/Guadeloupe",
"America/Guatemala",
"America/Guayaquil",
"America/Guyana",
"America/Halifax",
"America/Havana",
"America/Hermosillo",
"America/Indiana/Knox",
"America/Indiana/Marengo",
"America/Indiana/Vevay",
"America/Indianapolis",
"America/Inuvik",
"America/Iqaluit",
"America/Jamaica",
"America/Jujuy",
"America/Juneau",
"America/Kentucky/Monticello",
"America/La_Paz",
"America/Lima",
"America/Los_Angeles",
"America/Louisville",
"America/Maceio",
"America/Managua",
"America/Manaus",
"America/Martinique",
"America/Mazatlan",
"America/Mendoza",
"America/Menominee",
"America/Merida",
"America/Mexico_City",
"America/Miquelon",
"America/Monterrey",
"America/Montevideo",
"America/Montreal",
"America/Montserrat",
"America/Nassau",
"America/New_York",
"America/Nipigon",
"America/Nome",
"America/Noronha",
"America/North_Dakota/Center",
"America/Panama",
"America/Pangnirtung",
"America/Paramaribo",
"America/Phoenix",
"America/Port-au-Prince",
"America/Port_of_Spain",
"America/Porto_Velho",
"America/Puerto_Rico",
"America/Rainy_River",
"America/Rankin_Inlet",
"America/Recife",
"America/Regina",
"America/Rio_Branco",
"America/Santiago",
"America/Santo_Domingo",
"America/Sao_Paulo",
"America/Scoresbysund",
"America/Shiprock",
"America/St_Johns",
"America/St_Kitts",
"America/St_Lucia",
"America/St_Thomas",
"America/St_Vincent",
"America/Swift_Current",
"America/Tegucigalpa",
"America/Thule",
"America/Thunder_Bay",
"America/Tijuana",
"America/Toronto",
"America/Tortola",
"America/Vancouver",
"America/Whitehorse",
"America/Winnipeg",
"America/Yakutat",
"America/Yellowknife",
"Antarctica/Casey",
"Antarctica/Davis",
"Antarctica/DumontDUrville",
"Antarctica/Mawson",
"Antarctica/McMurdo",
"Antarctica/Palmer",
"Antarctica/Rothera",
"Antarctica/South_Pole",
"Antarctica/Syowa",
"Antarctica/Vostok",
"Arctic/Longyearbyen",
"Asia/Aden",
"Asia/Almaty",
"Asia/Amman",
"Asia/Anadyr",
"Asia/Aqtau",
"Asia/Aqtobe",
"Asia/Ashgabat",
"Asia/Baghdad",
"Asia/Bahrain",
"Asia/Baku",
"Asia/Bangkok",
"Asia/Beirut",
"Asia/Bishkek",
"Asia/Brunei",
"Asia/Calcutta",
"Asia/Choibalsan",
"Asia/Chongqing",
"Asia/Colombo",
"Asia/Damascus",
"Asia/Dhaka",
"Asia/Dili",
"Asia/Dubai",
"Asia/Dushanbe",
"Asia/Gaza",
"Asia/Harbin",
"Asia/Hong_Kong",
"Asia/Hovd",
"Asia/Irkutsk",
"Asia/Jakarta",
"Asia/Jayapura",
"Asia/Jerusalem",
"Asia/Kabul",
"Asia/Kamchatka",
"Asia/Karachi",
"Asia/Kashgar",
"Asia/Katmandu",
"Asia/Krasnoyarsk",
"Asia/Kuala_Lumpur",
"Asia/Kuching",
"Asia/Kuwait",
"Asia/Macau",
"Asia/Magadan",
"Asia/Makassar",
"Asia/Manila",
"Asia/Muscat",
"Asia/Nicosia",
"Asia/Novosibirsk",
"Asia/Omsk",
"Asia/Oral",
"Asia/Phnom_Penh",
"Asia/Pontianak",
"Asia/Pyongyang",
"Asia/Qatar",
"Asia/Qyzylorda",
"Asia/Rangoon",
"Asia/Riyadh",
"Asia/Saigon",
"Asia/Sakhalin",
"Asia/Samarkand",
"Asia/Seoul",
"Asia/Shanghai",
"Asia/Singapore",
"Asia/Taipei",
"Asia/Tashkent",
"Asia/Tbilisi",
"Asia/Tehran",
"Asia/Thimphu",
"Asia/Tokyo",
"Asia/Ulaanbaatar",
"Asia/Urumqi",
"Asia/Vientiane",
"Asia/Vladivostok",
"Asia/Yakutsk",
"Asia/Yekaterinburg",
"Asia/Yerevan",
"Atlantic/Azores",
"Atlantic/Bermuda",
"Atlantic/Canary",
"Atlantic/Cape_Verde",
"Atlantic/Faeroe",
"Atlantic/Jan_Mayen",
"Atlantic/Madeira",
"Atlantic/Reykjavik",
"Atlantic/South_Georgia",
"Atlantic/St_Helena",
"Atlantic/Stanley",
"Australia/Adelaide",
"Australia/Brisbane",
"Australia/Broken_Hill",
"Australia/Darwin",
"Australia/Hobart",
"Australia/Lindeman",
"Australia/Lord_Howe",
"Australia/Melbourne",
"Australia/Perth",
"Australia/Sydney",
"Etc/GMT",
"Etc/GMT+1",
"Etc/GMT+10",
"Etc/GMT+11",
"Etc/GMT+12",
"Etc/GMT+2",
"Etc/GMT+3",
"Etc/GMT+4",
"Etc/GMT+5",
"Etc/GMT+6",
"Etc/GMT+7",
"Etc/GMT+8",
"Etc/GMT+9",
"Etc/GMT-1",
"Etc/GMT-10",
"Etc/GMT-11",
"Etc/GMT-12",
"Etc/GMT-13",
"Etc/GMT-14",
"Etc/GMT-2",
"Etc/GMT-3",
"Etc/GMT-4",
"Etc/GMT-5",
"Etc/GMT-6",
"Etc/GMT-7",
"Etc/GMT-8",
"Etc/GMT-9",
"Europe/Amsterdam",
"Europe/Andorra",
"Europe/Athens",
"Europe/Belfast",
"Europe/Belgrade",
"Europe/Berlin",
"Europe/Bratislava",
"Europe/Brussels",
"Europe/Bucharest",
"Europe/Budapest",
"Europe/Chisinau",
"Europe/Copenhagen",
"Europe/Dublin",
"Europe/Gibraltar",
"Europe/Helsinki",
"Europe/Istanbul",
"Europe/Kaliningrad",
"Europe/Kiev",
"Europe/Lisbon",
"Europe/Ljubljana",
"Europe/London",
"Europe/Luxembourg",
"Europe/Madrid",
"Europe/Malta",
"Europe/Mariehamn",
"Europe/Minsk",
"Europe/Monaco",
"Europe/Moscow",
"Europe/Oslo",
"Europe/Paris",
"Europe/Prague",
"Europe/Riga",
"Europe/Rome",
"Europe/Samara",
"Europe/San_Marino",
"Europe/Sarajevo",
"Europe/Simferopol",
"Europe/Skopje",
"Europe/Sofia",
"Europe/Stockholm",
"Europe/Tallinn",
"Europe/Tirane",
"Europe/Uzhgorod",
"Europe/Vaduz",
"Europe/Vatican",
"Europe/Vienna",
"Europe/Vilnius",
"Europe/Warsaw",
"Europe/Zagreb",
"Europe/Zaporozhye",
"Europe/Zurich",
"Indian/Antananarivo",
"Indian/Chagos",
"Indian/Christmas",
"Indian/Cocos",
"Indian/Comoro",
"Indian/Kerguelen",
"Indian/Mahe",
"Indian/Maldives",
"Indian/Mauritius",
"Indian/Mayotte",
"Indian/Reunion",
"Pacific/Apia",
"Pacific/Auckland",
"Pacific/Chatham",
"Pacific/Easter",
"Pacific/Efate",
"Pacific/Enderbury",
"Pacific/Fakaofo",
"Pacific/Fiji",
"Pacific/Funafuti",
"Pacific/Galapagos",
"Pacific/Gambier",
"Pacific/Guadalcanal",
"Pacific/Guam",
"Pacific/Honolulu",
"Pacific/Johnston",
"Pacific/Kiritimati",
"Pacific/Kosrae",
"Pacific/Kwajalein",
"Pacific/Majuro",
"Pacific/Marquesas",
"Pacific/Midway",
"Pacific/Nauru",
"Pacific/Niue",
"Pacific/Norfolk",
"Pacific/Noumea",
"Pacific/Pago_Pago",
"Pacific/Palau",
"Pacific/Pitcairn",
"Pacific/Ponape",
"Pacific/Port_Moresby",
"Pacific/Rarotonga",
"Pacific/Saipan",
"Pacific/Tahiti",
"Pacific/Tarawa",
"Pacific/Tongatapu",
"Pacific/Truk",
"Pacific/Wake",
"Pacific/Wallis",
"Pacific/Yap",
// Riyadh hack
"Asia/Riyadh87",
"Asia/Riyadh88",
"Asia/Riyadh89",
};
private static final String[][] COUNTRY_INFO = {
/* canonical zoneID, country, isSingle */
{"Etc/GMT+12", "001", "F"},
{"Etc/GMT-12", "001", "F"},
{"Etc/GMT+11", "001", "F"},
{"Etc/GMT-13", "001", "F"},
{"Etc/GMT+10", "001", "F"},
{"Etc/GMT-14", "001", "F"},
{"Etc/GMT+9", "001", "F"},
{"Etc/GMT+8", "001", "F"},
{"Etc/GMT+7", "001", "F"},
{"Etc/GMT+6", "001", "F"},
{"Etc/GMT+5", "001", "F"},
{"Etc/GMT+4", "001", "F"},
{"Etc/GMT+3", "001", "F"},
{"Etc/GMT+2", "001", "F"},
{"Etc/GMT+1", "001", "F"},
{"Etc/GMT", "001", "F"},
{"Etc/GMT-1", "001", "F"},
{"Etc/GMT-2", "001", "F"},
{"Etc/GMT-3", "001", "F"},
{"Etc/GMT-4", "001", "F"},
{"Etc/GMT-5", "001", "F"},
{"Etc/GMT-6", "001", "F"},
{"Etc/GMT-7", "001", "F"},
{"Etc/GMT-8", "001", "F"},
{"Etc/GMT-9", "001", "F"},
{"Etc/GMT-10", "001", "F"},
{"Etc/GMT-11", "001", "F"},
{"Europe/Andorra", "AD", "T"},
{"Asia/Dubai", "AE", "T"},
{"Asia/Kabul", "AF", "T"},
{"America/Antigua", "AG", "T"},
{"America/Anguilla", "AI", "T"},
{"Europe/Tirane", "AL", "T"},
{"Asia/Yerevan", "AM", "T"},
{"America/Curacao", "AN", "T"},
{"Africa/Luanda", "AO", "T"},
{"Antarctica/Rothera", "AQ", "F"},
{"Antarctica/Palmer", "AQ", "F"},
{"Antarctica/South_Pole", "AQ", "F"},
{"Antarctica/Syowa", "AQ", "F"},
{"Antarctica/Mawson", "AQ", "F"},
{"Antarctica/Davis", "AQ", "F"},
{"Antarctica/Vostok", "AQ", "F"},
{"Antarctica/Casey", "AQ", "F"},
{"Antarctica/DumontDUrville", "AQ", "F"},
{"Antarctica/McMurdo", "AQ", "F"},
{"America/Argentina/Rio_Gallegos", "AR", "F"},
{"America/Mendoza", "AR", "F"},
{"America/Argentina/San_Juan", "AR", "F"},
{"America/Argentina/Ushuaia", "AR", "F"},
{"America/Argentina/ComodRivadavia", "AR", "F"},
{"America/Argentina/La_Rioja", "AR", "F"},
{"America/Catamarca", "AR", "F"},
{"America/Jujuy", "AR", "F"},
{"America/Argentina/Tucuman", "AR", "F"},
{"America/Cordoba", "AR", "F"},
{"America/Buenos_Aires", "AR", "F"},
{"Pacific/Pago_Pago", "AS", "T"},
{"Europe/Vienna", "AT", "T"},
{"Australia/Perth", "AU", "F"},
{"Australia/Darwin", "AU", "F"},
{"Australia/Adelaide", "AU", "F"},
{"Australia/Broken_Hill", "AU", "F"},
{"Australia/Melbourne", "AU", "F"},
{"Australia/Hobart", "AU", "F"},
{"Australia/Lindeman", "AU", "F"},
{"Australia/Sydney", "AU", "F"},
{"Australia/Brisbane", "AU", "F"},
{"Australia/Lord_Howe", "AU", "F"},
{"America/Aruba", "AW", "T"},
{"Europe/Mariehamn", "AX", "T"},
{"Asia/Baku", "AZ", "T"},
{"Europe/Sarajevo", "BA", "T"},
{"America/Barbados", "BB", "T"},
{"Asia/Dhaka", "BD", "T"},
{"Europe/Brussels", "BE", "T"},
{"Africa/Ouagadougou", "BF", "T"},
{"Europe/Sofia", "BG", "T"},
{"Asia/Bahrain", "BH", "T"},
{"Africa/Bujumbura", "BI", "T"},
{"Africa/Porto-Novo", "BJ", "T"},
{"Atlantic/Bermuda", "BM", "T"},
{"Asia/Brunei", "BN", "T"},
{"America/La_Paz", "BO", "T"},
{"America/Eirunepe", "BR", "F"},
{"America/Rio_Branco", "BR", "F"},
{"America/Porto_Velho", "BR", "F"},
{"America/Boa_Vista", "BR", "F"},
{"America/Manaus", "BR", "F"},
{"America/Cuiaba", "BR", "F"},
{"America/Campo_Grande", "BR", "F"},
{"America/Belem", "BR", "F"},
{"America/Araguaina", "BR", "F"},
{"America/Sao_Paulo", "BR", "F"},
{"America/Bahia", "BR", "F"},
{"America/Fortaleza", "BR", "F"},
{"America/Maceio", "BR", "F"},
{"America/Recife", "BR", "F"},
{"America/Noronha", "BR", "F"},
{"America/Nassau", "BS", "T"},
{"Asia/Thimphu", "BT", "T"},
{"Africa/Gaborone", "BW", "T"},
{"Europe/Minsk", "BY", "T"},
{"America/Belize", "BZ", "T"},
{"America/Dawson", "CA", "F"},
{"America/Whitehorse", "CA", "F"},
{"America/Vancouver", "CA", "F"},
{"America/Dawson_Creek", "CA", "F"},
{"America/Yellowknife", "CA", "F"},
{"America/Inuvik", "CA", "F"},
{"America/Edmonton", "CA", "F"},
{"America/Swift_Current", "CA", "F"},
{"America/Cambridge_Bay", "CA", "F"},
{"America/Regina", "CA", "F"},
{"America/Winnipeg", "CA", "F"},
{"America/Rainy_River", "CA", "F"},
{"America/Rankin_Inlet", "CA", "F"},
{"America/Thunder_Bay", "CA", "F"},
{"America/Nipigon", "CA", "F"},
{"America/Toronto", "CA", "F"},
{"America/Montreal", "CA", "F"},
{"America/Iqaluit", "CA", "F"},
{"America/Pangnirtung", "CA", "F"},
{"America/Halifax", "CA", "F"},
{"America/Goose_Bay", "CA", "F"},
{"America/Glace_Bay", "CA", "F"},
{"America/St_Johns", "CA", "F"},
{"Indian/Cocos", "CC", "T"},
{"Africa/Kinshasa", "CD", "F"},
{"Africa/Lubumbashi", "CD", "F"},
{"Africa/Bangui", "CF", "T"},
{"Africa/Brazzaville", "CG", "T"},
{"Europe/Zurich", "CH", "T"},
{"Africa/Abidjan", "CI", "T"},
{"Pacific/Rarotonga", "CK", "T"},
{"Pacific/Easter", "CL", "F"},
{"America/Santiago", "CL", "T"},
{"Africa/Douala", "CM", "T"},
{"Asia/Kashgar", "CN", "F"},
{"Asia/Urumqi", "CN", "F"},
{"Asia/Chongqing", "CN", "F"},
{"Asia/Shanghai", "CN", "T"},
{"Asia/Harbin", "CN", "F"},
{"America/Bogota", "CO", "T"},
{"America/Costa_Rica", "CR", "T"},
{"Europe/Belgrade", "CS", "T"},
{"America/Havana", "CU", "T"},
{"Atlantic/Cape_Verde", "CV", "T"},
{"Indian/Christmas", "CX", "T"},
{"Asia/Nicosia", "CY", "T"},
{"Europe/Prague", "CZ", "T"},
{"Europe/Berlin", "DE", "T"},
{"Africa/Djibouti", "DJ", "T"},
{"Europe/Copenhagen", "DK", "T"},
{"America/Dominica", "DM", "T"},
{"America/Santo_Domingo", "DO", "T"},
{"Africa/Algiers", "DZ", "T"},
{"Pacific/Galapagos", "EC", "F"},
{"America/Guayaquil", "EC", "T"},
{"Europe/Tallinn", "EE", "T"},
{"Africa/Cairo", "EG", "T"},
{"Africa/El_Aaiun", "EH", "T"},
{"Africa/Asmera", "ER", "T"},
{"Atlantic/Canary", "ES", "F"},
{"Africa/Ceuta", "ES", "F"},
{"Europe/Madrid", "ES", "T"},
{"Africa/Addis_Ababa", "ET", "T"},
{"Europe/Helsinki", "FI", "T"},
{"Pacific/Fiji", "FJ", "T"},
{"Atlantic/Stanley", "FK", "T"},
{"Pacific/Yap", "FM", "F"},
{"Pacific/Truk", "FM", "F"},
{"Pacific/Ponape", "FM", "F"},
{"Pacific/Kosrae", "FM", "F"},
{"Atlantic/Faeroe", "FO", "T"},
{"Europe/Paris", "FR", "T"},
{"Africa/Libreville", "GA", "T"},
{"Europe/Belfast", "GB", "F"},
{"Europe/London", "GB", "T"},
{"America/Grenada", "GD", "T"},
{"Asia/Tbilisi", "GE", "T"},
{"America/Cayenne", "GF", "T"},
{"Africa/Accra", "GH", "T"},
{"Europe/Gibraltar", "GI", "T"},
{"America/Thule", "GL", "F"},
{"America/Godthab", "GL", "T"},
{"America/Scoresbysund", "GL", "F"},
{"America/Danmarkshavn", "GL", "F"},
{"Africa/Banjul", "GM", "T"},
{"Africa/Conakry", "GN", "T"},
{"America/Guadeloupe", "GP", "T"},
{"Africa/Malabo", "GQ", "T"},
{"Europe/Athens", "GR", "T"},
{"Atlantic/South_Georgia", "GS", "T"},
{"America/Guatemala", "GT", "T"},
{"Pacific/Guam", "GU", "T"},
{"Africa/Bissau", "GW", "T"},
{"America/Guyana", "GY", "T"},
{"Asia/Hong_Kong", "HK", "T"},
{"America/Tegucigalpa", "HN", "T"},
{"Europe/Zagreb", "HR", "T"},
{"America/Port-au-Prince", "HT", "T"},
{"Europe/Budapest", "HU", "T"},
{"Asia/Jakarta", "ID", "F"},
{"Asia/Pontianak", "ID", "F"},
{"Asia/Makassar", "ID", "F"},
{"Asia/Jayapura", "ID", "F"},
{"Europe/Dublin", "IE", "T"},
{"Asia/Jerusalem", "IL", "T"},
{"Asia/Calcutta", "IN", "T"},
{"Indian/Chagos", "IO", "T"},
{"Asia/Baghdad", "IQ", "T"},
{"Asia/Tehran", "IR", "T"},
{"Atlantic/Reykjavik", "IS", "T"},
{"Europe/Rome", "IT", "T"},
{"America/Jamaica", "JM", "T"},
{"Asia/Amman", "JO", "T"},
{"Asia/Tokyo", "JP", "T"},
{"Africa/Nairobi", "KE", "T"},
{"Asia/Bishkek", "KG", "T"},
{"Asia/Phnom_Penh", "KH", "T"},
{"Pacific/Enderbury", "KI", "F"},
{"Pacific/Kiritimati", "KI", "F"},
{"Pacific/Tarawa", "KI", "F"},
{"Indian/Comoro", "KM", "T"},
{"America/St_Kitts", "KN", "T"},
{"Asia/Pyongyang", "KP", "T"},
{"Asia/Seoul", "KR", "T"},
{"Asia/Kuwait", "KW", "T"},
{"America/Cayman", "KY", "T"},
{"Asia/Aqtau", "KZ", "F"},
{"Asia/Oral", "KZ", "F"},
{"Asia/Aqtobe", "KZ", "F"},
{"Asia/Qyzylorda", "KZ", "F"},
{"Asia/Almaty", "KZ", "F"},
{"Asia/Vientiane", "LA", "T"},
{"Asia/Beirut", "LB", "T"},
{"America/St_Lucia", "LC", "T"},
{"Europe/Vaduz", "LI", "T"},
{"Asia/Colombo", "LK", "T"},
{"Africa/Monrovia", "LR", "T"},
{"Africa/Maseru", "LS", "T"},
{"Europe/Vilnius", "LT", "T"},
{"Europe/Luxembourg", "LU", "T"},
{"Europe/Riga", "LV", "T"},
{"Africa/Tripoli", "LY", "T"},
{"Africa/Casablanca", "MA", "T"},
{"Europe/Monaco", "MC", "T"},
{"Europe/Chisinau", "MD", "T"},
{"Indian/Antananarivo", "MG", "T"},
{"Pacific/Kwajalein", "MH", "F"},
{"Pacific/Majuro", "MH", "F"},
{"Europe/Skopje", "MK", "T"},
{"Africa/Bamako", "ML", "T"},
{"Africa/Timbuktu", "ML", "F"},
{"Asia/Rangoon", "MM", "T"},
{"Asia/Hovd", "MN", "F"},
{"Asia/Ulaanbaatar", "MN", "F"},
{"Asia/Choibalsan", "MN", "F"},
{"Asia/Macau", "MO", "T"},
{"Pacific/Saipan", "MP", "T"},
{"America/Martinique", "MQ", "T"},
{"Africa/Nouakchott", "MR", "T"},
{"America/Montserrat", "MS", "T"},
{"Europe/Malta", "MT", "T"},
{"Indian/Mauritius", "MU", "T"},
{"Indian/Maldives", "MV", "T"},
{"Africa/Blantyre", "MW", "T"},
{"America/Tijuana", "MX", "F"},
{"America/Hermosillo", "MX", "F"},
{"America/Mazatlan", "MX", "F"},
{"America/Chihuahua", "MX", "F"},
{"America/Monterrey", "MX", "F"},
{"America/Mexico_City", "MX", "F"},
{"America/Merida", "MX", "F"},
{"America/Cancun", "MX", "F"},
{"Asia/Kuala_Lumpur", "MY", "T"},
{"Asia/Kuching", "MY", "F"},
{"Africa/Maputo", "MZ", "T"},
{"Africa/Windhoek", "NA", "T"},
{"Pacific/Noumea", "NC", "T"},
{"Africa/Niamey", "NE", "T"},
{"Pacific/Norfolk", "NF", "T"},
{"Africa/Lagos", "NG", "T"},
{"America/Managua", "NI", "T"},
{"Europe/Amsterdam", "NL", "T"},
{"Europe/Oslo", "NO", "T"},
{"Asia/Katmandu", "NP", "T"},
{"Pacific/Nauru", "NR", "T"},
{"Pacific/Niue", "NU", "T"},
{"Pacific/Chatham", "NZ", "F"},
{"Pacific/Auckland", "NZ", "T"},
{"Asia/Muscat", "OM", "T"},
{"America/Panama", "PA", "T"},
{"America/Lima", "PE", "T"},
{"Pacific/Tahiti", "PF", "T"},
{"Pacific/Marquesas", "PF", "F"},
{"Pacific/Gambier", "PF", "F"},
{"Pacific/Port_Moresby", "PG", "T"},
{"Asia/Manila", "PH", "T"},
{"Asia/Karachi", "PK", "T"},
{"Europe/Warsaw", "PL", "T"},
{"America/Miquelon", "PM", "T"},
{"Pacific/Pitcairn", "PN", "T"},
{"America/Puerto_Rico", "PR", "T"},
{"Asia/Gaza", "PS", "T"},
{"Atlantic/Azores", "PT", "F"},
{"Atlantic/Madeira", "PT", "F"},
{"Europe/Lisbon", "PT", "T"},
{"Pacific/Palau", "PW", "T"},
{"America/Asuncion", "PY", "T"},
{"Asia/Qatar", "QA", "T"},
{"Indian/Reunion", "RE", "T"},
{"Europe/Bucharest", "RO", "T"},
{"Europe/Kaliningrad", "RU", "F"},
{"Europe/Moscow", "RU", "F"},
{"Europe/Samara", "RU", "F"},
{"Asia/Yekaterinburg", "RU", "F"},
{"Asia/Omsk", "RU", "F"},
{"Asia/Novosibirsk", "RU", "F"},
{"Asia/Krasnoyarsk", "RU", "F"},
{"Asia/Irkutsk", "RU", "F"},
{"Asia/Yakutsk", "RU", "F"},
{"Asia/Vladivostok", "RU", "F"},
{"Asia/Sakhalin", "RU", "F"},
{"Asia/Magadan", "RU", "F"},
{"Asia/Kamchatka", "RU", "F"},
{"Asia/Anadyr", "RU", "F"},
{"Africa/Kigali", "RW", "T"},
{"Asia/Riyadh", "SA", "T"},
{"Pacific/Guadalcanal", "SB", "T"},
{"Indian/Mahe", "SC", "T"},
{"Africa/Khartoum", "SD", "T"},
{"Europe/Stockholm", "SE", "T"},
{"Asia/Singapore", "SG", "T"},
{"Atlantic/St_Helena", "SH", "T"},
{"Europe/Ljubljana", "SI", "T"},
{"Atlantic/Jan_Mayen", "SJ", "F"},
{"Arctic/Longyearbyen", "SJ", "F"},
{"Europe/Bratislava", "SK", "T"},
{"Africa/Freetown", "SL", "T"},
{"Europe/San_Marino", "SM", "T"},
{"Africa/Dakar", "SN", "T"},
{"Africa/Mogadishu", "SO", "T"},
{"America/Paramaribo", "SR", "T"},
{"Africa/Sao_Tome", "ST", "T"},
{"America/El_Salvador", "SV", "T"},
{"Asia/Damascus", "SY", "T"},
{"Africa/Mbabane", "SZ", "T"},
{"America/Grand_Turk", "TC", "T"},
{"Africa/Ndjamena", "TD", "T"},
{"Indian/Kerguelen", "TF", "T"},
{"Africa/Lome", "TG", "T"},
{"Asia/Bangkok", "TH", "T"},
{"Asia/Dushanbe", "TJ", "T"},
{"Pacific/Fakaofo", "TK", "T"},
{"Asia/Dili", "TL", "T"},
{"Asia/Ashgabat", "TM", "T"},
{"Africa/Tunis", "TN", "T"},
{"Pacific/Tongatapu", "TO", "T"},
{"Europe/Istanbul", "TR", "T"},
{"America/Port_of_Spain", "TT", "T"},
{"Pacific/Funafuti", "TV", "T"},
{"Asia/Taipei", "TW", "T"},
{"Africa/Dar_es_Salaam", "TZ", "T"},
{"Europe/Uzhgorod", "UA", "F"},
{"Europe/Kiev", "UA", "F"},
{"Europe/Simferopol", "UA", "F"},
{"Europe/Zaporozhye", "UA", "F"},
{"Africa/Kampala", "UG", "T"},
{"Pacific/Midway", "UM", "F"},
{"Pacific/Johnston", "UM", "F"},
{"Pacific/Wake", "UM", "F"},
{"America/Adak", "US", "F"},
{"America/Nome", "US", "F"},
{"Pacific/Honolulu", "US", "F"},
{"America/Anchorage", "US", "F"},
{"America/Yakutat", "US", "F"},
{"America/Juneau", "US", "F"},
{"America/Los_Angeles", "US", "F"},
{"America/Boise", "US", "F"},
{"America/Phoenix", "US", "F"},
{"America/Shiprock", "US", "F"},
{"America/Denver", "US", "F"},
{"America/North_Dakota/Center", "US", "F"},
{"America/Chicago", "US", "F"},
{"America/Menominee", "US", "F"},
{"America/Indiana/Knox", "US", "F"},
{"America/Indiana/Marengo", "US", "F"},
{"America/Indianapolis", "US", "F"},
{"America/Louisville", "US", "F"},
{"America/Indiana/Vevay", "US", "F"},
{"America/Kentucky/Monticello", "US", "F"},
{"America/Detroit", "US", "F"},
{"America/New_York", "US", "F"},
{"America/Montevideo", "UY", "T"},
{"Asia/Samarkand", "UZ", "F"},
{"Asia/Tashkent", "UZ", "T"},
{"Europe/Vatican", "VA", "T"},
{"America/St_Vincent", "VC", "T"},
{"America/Caracas", "VE", "T"},
{"America/Tortola", "VG", "T"},
{"America/St_Thomas", "VI", "T"},
{"Asia/Saigon", "VN", "T"},
{"Pacific/Efate", "VU", "T"},
{"Pacific/Wallis", "WF", "T"},
{"Pacific/Apia", "WS", "T"},
{"Asia/Aden", "YE", "T"},
{"Indian/Mayotte", "YT", "T"},
{"Africa/Johannesburg", "ZA", "T"},
{"Africa/Lusaka", "ZM", "T"},
{"Africa/Harare", "ZW", "T"},
// Riyadh hack
{"Asia/Riyadh87", "SA", "T"},
{"Asia/Riyadh88", "SA", "T"},
{"Asia/Riyadh89", "SA", "T"},
};
public static void main(String[] args) {
// validate, and generate single combined table
// start with country info
Map m = new TreeMap();
for (int i = 0; i < COUNTRY_INFO.length; ++i) {
String[] info = COUNTRY_INFO[i];
String canonical = info[0];
if (m.keySet().contains(canonical)) {
System.err.println("duplicate country: " + canonical);
} else {
ArrayList al = new ArrayList();
for (int j = 0; j < info.length; ++j) {
al.add(info[j]);
}
m.put(canonical, al);
}
}
// verify that everything in the canonical list is there
if (CANONICAL_LIST.length != COUNTRY_INFO.length) {
System.err.println("Canonical and Country info lists differ in length.");
}
for (int i = 0; i < CANONICAL_LIST.length; ++i) {
String canonical = CANONICAL_LIST[i];
if (!m.keySet().contains(canonical)) {
System.err.println("missing canonical item: " + canonical);
}
}
// verify that canonical targets of remappings are all in the map, and add them.
HashSet aliases = new HashSet();
for (int i = 0; i < CANONICAL_REMAP.length; ++i) {
String[] equiv = CANONICAL_REMAP[i];
String alias = equiv[0];
String canonical = equiv[1];
ArrayList al = (ArrayList)m.get(canonical);
if (al == null) {
System.err.println("remap to item not in canonical list: " + canonical);
} else {
if (m.keySet().contains(alias)) {
System.err.println("alias is actually canonical: " + alias);
} else if (aliases.contains(alias)) {
System.err.println("alias is listed twice: " + alias);
} else {
aliases.add(alias);
al.add(alias);
}
}
}
// look for ids that in EQUIV that are neither canonical nor aliases, and
// warn about them
ArrayList canonicals = new ArrayList();
ArrayList unlisted = new ArrayList();
for (int i = 0; i < ZoneMetaData.EQUIV.length; ++i) {
canonicals.clear();
unlisted.clear();
String[] record = ZoneMetaData.EQUIV[i];
for (int j = 0; j < record.length; ++j) {
String s = record[j];
if (m.keySet().contains(s)) {
canonicals.add(s);
} else if (!aliases.contains(s)) {
// not listed as an alias
unlisted.add(s);
}
}
boolean report = false;
if (unlisted.size() > 0) { // have some unknown aliases
report = true;
if (canonicals.size() == 0) {
System.err.println("no canonicals for unknown alises");
} else if (canonicals.size() == 1) {
report = false;
// quietly fix
// System.err.println("suggest canonical for unknown aliases: " + canonicals.get(0));
// add another alias mapping for the canonical
ArrayList al = (ArrayList)m.get(canonicals.get(0));
for (int k = 0; k < unlisted.size(); ++k) {
al.add(unlisted.get(k));
}
} else {
System.err.print("multiple canonicals for unknown aliases: ");
for (int k = 0; k < canonicals.size(); ++k) {
if (k != 0) {
System.err.print(", ");
}
System.err.print(canonicals.get(k));
}
System.err.println();
}
if (report) {
System.err.print(" " + unlisted.get(0));
for (int k = 1; k < unlisted.size(); ++k) {
System.err.print(", " + unlisted.get(k));
}
System.err.println();
}
}
}
System.out.println(HEADER);
// generate combined table
// map territory == 001 to null
// map isSingle == F to null
System.out.println(" private static final String[][] CLDR_INFO = {");
Iterator i = m.entrySet().iterator();
while (i.hasNext()) {
ArrayList records = (ArrayList)(((Map.Entry)i.next()).getValue());
System.out.print(" { \"");
System.out.print(records.get(0));
System.out.print("\"");
for (int j = 1; j < records.size(); ++j) {
System.out.print(", ");
String record = (String)records.get(j);
if ((j == 1 && record.equals("001"))
|| j == 2 && record.equals("F")) {
record = null;
} else {
record = '"' + record + '"';
}
System.out.print(record);
}
System.out.println(" },");
}
System.out.println(" };");
System.out.println(FOOTER);
// done
System.out.flush();
}
private static final String HEADER =
"//---------------------------------------------------------\n" +
"// Copyright (C) 2005, International Business Machines\n" +
"// Corporation and others. All Rights Reserved.\n" +
"//---------------------------------------------------------\n" +
"\n" +
"// >>> This data was generated by ZoneMetaCLDR\n" +
"// >>> as a temporary measure for the 3.4 release.\n" +
"\n" +
"package com.ibm.icu.impl;\n" +
"\n" +
"public final class ZoneInfoExt {\n" +
"\n" +
" // table is sorted by canonical time zone id\n" +
" // aliases are not sorted\n" +
"\n" +
" // [0] canonical time zone id\n" +
" // [1] country code, or null if no country\n" +
" // [2] \"T\" if isSingle, null if not\n" +
" // [n...] aliases for canonical time zone id\n";
private static final String FOOTER =
"}";
}