Blame internal/data.alias.pl

Packit 95306a
#!/usr/bin/perl -w
Packit 95306a
# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
Packit 95306a
# This program is free software; you can redistribute it and/or modify it
Packit 95306a
# under the same terms as Perl itself.
Packit 95306a
Packit 95306a
# The following zones are treated specially. If they are in the tzdata
Packit 95306a
# files, they are ignored and created separately. Either there are
Packit 95306a
# problems with them, or they are defined in other standards ways.
Packit 95306a
Packit 95306a
%windows_zones =
Packit 95306a
  (
Packit 95306a
   # http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html
Packit 95306a
   # CLDR 21 (2012-03-01)
Packit 95306a
Packit 95306a
   "AUS Central Standard Time"       => "Australia/Darwin",
Packit 95306a
   "AUS Eastern Standard Time"       => "Australia/Sydney",
Packit 95306a
   "Afghanistan Standard Time"       => "Asia/Kabul",
Packit 95306a
   "Alaskan Standard Time"           => "America/Anchorage",
Packit 95306a
   "Arab Standard Time"              => "Asia/Riyadh",
Packit 95306a
   "Arabian Standard Time"           => "Asia/Dubai",
Packit 95306a
   "Arabic Standard Time"            => "Asia/Baghdad",
Packit 95306a
   "Argentina Standard Time"         => "America/Argentina/Buenos_Aires",
Packit 95306a
   "Atlantic Standard Time"          => "America/Halifax",
Packit 95306a
   "Azerbaijan Standard Time"        => "Asia/Baku",
Packit 95306a
   "Azores Standard Time"            => "Atlantic/Azores",
Packit 95306a
   "Bahia Standard Time"             => "America/Bahia",
Packit 95306a
   "Bangladesh Standard Time"        => "Asia/Dhaka",
Packit 95306a
   "Canada Central Standard Time"    => "America/Regina",
Packit 95306a
   "Cape Verde Standard Time"        => "Atlantic/Cape_Verde",
Packit 95306a
   "Caucasus Standard Time"          => "Asia/Yerevan",
Packit 95306a
   "Cen. Australia Standard Time"    => "Australia/Adelaide",
Packit 95306a
   "Central America Standard Time"   => "America/Guatemala",
Packit 95306a
   "Central Asia Standard Time"      => "Asia/Almaty",
Packit 95306a
   "Central Brazilian Standard Time" => "America/Cuiaba",
Packit 95306a
   "Central Europe Standard Time"    => "Europe/Budapest",
Packit 95306a
   "Central European Standard Time"  => "Europe/Warsaw",
Packit 95306a
   "Central Pacific Standard Time"   => "Pacific/Guadalcanal",
Packit 95306a
   "Central Standard Time (Mexico)"  => "America/Mexico_City",
Packit 95306a
   "Central Standard Time"           => "America/Chicago",
Packit 95306a
   "China Standard Time"             => "Asia/Shanghai",
Packit 95306a
   "Dateline Standard Time"          => "Etc/GMT+12",
Packit 95306a
   "E. Africa Standard Time"         => "Africa/Nairobi",
Packit 95306a
   "E. Australia Standard Time"      => "Australia/Brisbane",
Packit 95306a
   "E. Europe Standard Time"         => "Asia/Nicosia",
Packit 95306a
   "E. South America Standard Time"  => "America/Sao_Paulo",
Packit 95306a
   "Eastern Standard Time"           => "America/New_York",
Packit 95306a
   "Egypt Standard Time"             => "Africa/Cairo",
Packit 95306a
   "Ekaterinburg Standard Time"      => "Asia/Yekaterinburg",
Packit 95306a
   "FLE Standard Time"               => "Europe/Kiev",
Packit 95306a
   "Fiji Standard Time"              => "Pacific/Fiji",
Packit 95306a
   "GMT Standard Time"               => "Europe/London",
Packit 95306a
   "GTB Standard Time"               => "Europe/Istanbul",
Packit 95306a
   "Georgian Standard Time"          => "Asia/Tbilisi",
Packit 95306a
   "Greenland Standard Time"         => "America/Godthab",
Packit 95306a
   "Greenwich Standard Time"         => "Atlantic/Reykjavik",
Packit 95306a
   "Hawaiian Standard Time"          => "Pacific/Honolulu",
Packit 95306a
   "India Standard Time"             => "Asia/Kolkata",
Packit 95306a
   "Iran Standard Time"              => "Asia/Tehran",
Packit 95306a
   "Israel Standard Time"            => "Asia/Jerusalem",
Packit 95306a
   "Jordan Standard Time"            => "Asia/Amman",
Packit 95306a
   "Kaliningrad Standard Time"       => "Europe/Kaliningrad",
Packit 95306a
   "Korea Standard Time"             => "Asia/Seoul",
Packit 95306a
   "Magadan Standard Time"           => "Asia/Magadan",
Packit 95306a
   "Mauritius Standard Time"         => "Indian/Mauritius",
Packit 95306a
   "Middle East Standard Time"       => "Asia/Beirut",
Packit 95306a
   "Montevideo Standard Time"        => "America/Montevideo",
Packit 95306a
   "Morocco Standard Time"           => "Africa/Casablanca",
Packit 95306a
   "Mountain Standard Time (Mexico)" => "America/Chihuahua",
Packit 95306a
   "Mountain Standard Time"          => "America/Denver",
Packit 95306a
   "Myanmar Standard Time"           => "Asia/Yangon",
Packit 95306a
   "N. Central Asia Standard Time"   => "Asia/Novosibirsk",
Packit 95306a
   "Namibia Standard Time"           => "Africa/Windhoek",
Packit 95306a
   "Nepal Standard Time"             => "Asia/Kathmandu",
Packit 95306a
   "New Zealand Standard Time"       => "Pacific/Auckland",
Packit 95306a
   "Newfoundland Standard Time"      => "America/St_Johns",
Packit 95306a
   "North Asia East Standard Time"   => "Asia/Irkutsk",
Packit 95306a
   "North Asia Standard Time"        => "Asia/Krasnoyarsk",
Packit 95306a
   "Pacific SA Standard Time"        => "America/Santiago",
Packit 95306a
   "Pacific Standard Time"           => "America/Los_Angeles",
Packit 95306a
   "Pakistan Standard Time"          => "Asia/Karachi",
Packit 95306a
   "Paraguay Standard Time"          => "America/Asuncion",
Packit 95306a
   "Romance Standard Time"           => "Europe/Paris",
Packit 95306a
   "Russian Standard Time"           => "Europe/Moscow",
Packit 95306a
   "SA Eastern Standard Time"        => "America/Cayenne",
Packit 95306a
   "SA Pacific Standard Time"        => "America/Bogota",
Packit 95306a
   "SA Western Standard Time"        => "America/La_Paz",
Packit 95306a
   "SE Asia Standard Time"           => "Asia/Bangkok",
Packit 95306a
   "Samoa Standard Time"             => "Pacific/Apia",
Packit 95306a
   "Singapore Standard Time"         => "Asia/Singapore",
Packit 95306a
   "South Africa Standard Time"      => "Africa/Johannesburg",
Packit 95306a
   "Sri Lanka Standard Time"         => "Asia/Colombo",
Packit 95306a
   "Syria Standard Time"             => "Asia/Damascus",
Packit 95306a
   "Taipei Standard Time"            => "Asia/Taipei",
Packit 95306a
   "Tasmania Standard Time"          => "Australia/Hobart",
Packit 95306a
   "Tokyo Standard Time"             => "Asia/Tokyo",
Packit 95306a
   "Tonga Standard Time"             => "Pacific/Tongatapu",
Packit 95306a
   "Turkey Standard Time"            => "Europe/Istanbul",
Packit 95306a
   "US Eastern Standard Time"        => "America/Indiana/Indianapolis",
Packit 95306a
   "US Mountain Standard Time"       => "America/Phoenix",
Packit 95306a
   "UTC+12"                          => "Etc/GMT-12",
Packit 95306a
   "UTC-02"                          => "Etc/GMT+2",
Packit 95306a
   "UTC-11"                          => "Etc/GMT+11",
Packit 95306a
   "Ulaanbaatar Standard Time"       => "Asia/Ulaanbaatar",
Packit 95306a
   "Venezuela Standard Time"         => "America/Caracas",
Packit 95306a
   "Vladivostok Standard Time"       => "Asia/Vladivostok",
Packit 95306a
   "W. Australia Standard Time"      => "Australia/Perth",
Packit 95306a
   "W. Central Africa Standard Time" => "Africa/Lagos",
Packit 95306a
   "W. Europe Standard Time"         => "Europe/Berlin",
Packit 95306a
   "West Asia Standard Time"         => "Asia/Tashkent",
Packit 95306a
   "West Pacific Standard Time"      => "Pacific/Port_Moresby",
Packit 95306a
   "Yakutsk Standard Time"           => "Asia/Yakutsk",
Packit 95306a
  );
Packit 95306a
Packit 95306a
%hpux_zones = (
Packit 95306a
   # tztab $Date: 2008/12/08 17:21:29 $Revision: r11.11/12 PATCH_11.11 (PHCO_39172)
Packit 95306a
Packit 95306a
   'ARST3ARDT'                       => 'America/Argentina/Buenos_Aires',
Packit 95306a
   'AST10ADT'                        => 'America/Adak',
Packit 95306a
   'AST4ADT#Canada'                  => 'America/Halifax',
Packit 95306a
   'BRST3BRDT'                       => 'America/Sao_Paulo',
Packit 95306a
   'BRWST4BRWDT'                     => 'America/Campo_Grande',
Packit 95306a
   'CSM6CDM'                         => 'America/Mexico_City',
Packit 95306a
   'CST-9:30CDT'                     => 'Australia/Adelaide',
Packit 95306a
   'CST6CDT#Canada'                  => 'America/Winnipeg',
Packit 95306a
   'CST6CDT#Indiana'                 => 'America/Indiana/Indianapolis',
Packit 95306a
   'CST6CDT#Mexico'                  => 'America/Mexico_City',
Packit 95306a
   'EET-2EETDST'                     => 'Europe/Helsinki',
Packit 95306a
   'EST-10EDT'                       => 'Australia/Melbourne',
Packit 95306a
   'EST-10EDT#NSW'                   => 'Australia/Sydney',
Packit 95306a
   'EST-10EDT#Tasmania'              => 'Australia/Hobart',
Packit 95306a
   'EST-10EDT#VIC'                   => 'Australia/Melbourne',
Packit 95306a
   'EST5CDT'                         => 'America/Indiana/Indianapolis',
Packit 95306a
   'EST5EDT#Canada'                  => 'America/Toronto',
Packit 95306a
   'EST5EDT#Indiana'                 => 'America/Indiana/Indianapolis',
Packit 95306a
   'EST5EST'                         => 'America/Indiana/Indianapolis',
Packit 95306a
   'EST6CDT'                         => 'America/Indiana/Indianapolis',
Packit 95306a
   'MET-1METDST'                     => 'MET',
Packit 95306a
   'MEZ-1MESZ'                       => 'CET',
Packit 95306a
   'MSM7MDM'                         => 'America/Chihuahua',
Packit 95306a
   'MST7MDT#Canada'                  => 'America/Edmonton',
Packit 95306a
   'MST7MDT#Mexico'                  => 'America/Chihuahua',
Packit 95306a
   'MXST6MXDT'                       => 'America/Mexico_City',
Packit 95306a
   'MXST6MXDT#Mexico'                => 'America/Mexico_City',
Packit 95306a
   'NST3:30NDT'                      => 'America/St_Johns',
Packit 95306a
   'NST3:30NDT#Canada'               => 'America/St_Johns',
Packit 95306a
   'PST-8PDT'                        => 'Asia/Singapore',
Packit 95306a
   'PST8PDT#Canada'                  => 'America/Vancouver',
Packit 95306a
   'PWT0PST'                         => 'Europe/Lisbon',
Packit 95306a
   'SAST-2'                          => 'Africa/Johannesburg',
Packit 95306a
   'WET0WETDST'                      => 'WET',
Packit 95306a
   'WST-10WSTDST'                    => 'Asia/Vladivostok',
Packit 95306a
   'WST-11WSTDST'                    => 'Asia/Srednekolymsk',
Packit 95306a
   'WST-12WSTDST'                    => 'Asia/Kamchatka',
Packit 95306a
   'WST-2WSTDST'                     => 'Europe/Minsk',
Packit 95306a
   'WST-3WSTDST'                     => 'Europe/Moscow',
Packit 95306a
   'WST-4WSTDST'                     => 'Europe/Samara',
Packit 95306a
   'WST-5WSTDST'                     => 'Asia/Yekaterinburg',
Packit 95306a
   'WST-6WSTDST'                     => 'Asia/Omsk',
Packit 95306a
   'WST-7WSTDST'                     => 'Asia/Krasnoyarsk',
Packit 95306a
   'WST-8WDT'                        => 'Australia/Perth',
Packit 95306a
   'WST-8WSTDST'                     => 'Asia/Irkutsk',
Packit 95306a
   'WST-9WSTDST'                     => 'Asia/Yakutsk',
Packit 95306a
  );
Packit 95306a
Packit 95306a
%nontzdata_zones =
Packit 95306a
  (
Packit 95306a
   # The standard GMT+OFF zones don't dump well, so
Packit 95306a
   # we'll create them manually.
Packit 95306a
Packit 95306a
   "Etc/GMT-1"        => [ qw(offset   -1:00:00) ],
Packit 95306a
   "Etc/GMT-2"        => [ qw(offset   -2:00:00) ],
Packit 95306a
   "Etc/GMT-3"        => [ qw(offset   -3:00:00) ],
Packit 95306a
   "Etc/GMT-4"        => [ qw(offset   -4:00:00) ],
Packit 95306a
   "Etc/GMT-5"        => [ qw(offset   -5:00:00) ],
Packit 95306a
   "Etc/GMT-6"        => [ qw(offset   -6:00:00) ],
Packit 95306a
   "Etc/GMT-7"        => [ qw(offset   -7:00:00) ],
Packit 95306a
   "Etc/GMT-8"        => [ qw(offset   -8:00:00) ],
Packit 95306a
   "Etc/GMT-9"        => [ qw(offset   -9:00:00) ],
Packit 95306a
   "Etc/GMT-10"       => [ qw(offset  -10:00:00) ],
Packit 95306a
   "Etc/GMT-11"       => [ qw(offset  -11:00:00) ],
Packit 95306a
   "Etc/GMT-12"       => [ qw(offset  -12:00:00) ],
Packit 95306a
   "Etc/GMT-13"       => [ qw(offset  -13:00:00) ],
Packit 95306a
   "Etc/GMT-14"       => [ qw(offset  -14:00:00) ],
Packit 95306a
   "Etc/GMT+1"        => [ qw(offset    1:00:00) ],
Packit 95306a
   "Etc/GMT+2"        => [ qw(offset    2:00:00) ],
Packit 95306a
   "Etc/GMT+3"        => [ qw(offset    3:00:00) ],
Packit 95306a
   "Etc/GMT+4"        => [ qw(offset    4:00:00) ],
Packit 95306a
   "Etc/GMT+5"        => [ qw(offset    5:00:00) ],
Packit 95306a
   "Etc/GMT+6"        => [ qw(offset    6:00:00) ],
Packit 95306a
   "Etc/GMT+7"        => [ qw(offset    7:00:00) ],
Packit 95306a
   "Etc/GMT+8"        => [ qw(offset    8:00:00) ],
Packit 95306a
   "Etc/GMT+9"        => [ qw(offset    9:00:00) ],
Packit 95306a
   "Etc/GMT+10"       => [ qw(offset   10:00:00) ],
Packit 95306a
   "Etc/GMT+11"       => [ qw(offset   11:00:00) ],
Packit 95306a
   "Etc/GMT+12"       => [ qw(offset   12:00:00) ],
Packit 95306a
   "Etc/GMT"          => [ qw(offset    0:00:00) ],
Packit 95306a
Packit 95306a
   # There are some other problems in dumping zones
Packit 95306a
   # that we'll solve by aliasing some zones. They
Packit 95306a
   # could probably be handled by a more intelligent
Packit 95306a
   # handling of the tzdata files, but this is simpler.
Packit 95306a
Packit 95306a
   "GMT"              => [ qw(alias    Etc/GMT) ],
Packit 95306a
   "UTC"              => [ qw(offset   0:00:00) ],
Packit 95306a
   "UCT"              => [ qw(alias    UTC) ],
Packit 95306a
   "Etc/UCT"          => [ qw(alias    UTC) ],
Packit 95306a
   "Etc/UTC"          => [ qw(alias    UTC) ],
Packit 95306a
   "Pacific/Johnston" => [ qw(alias    Pacific/Honolulu) ],
Packit 95306a
   "HST"              => [ qw(ignore) ],
Packit 95306a
   "EST"              => [ qw(ignore) ],
Packit 95306a
   "MST"              => [ qw(ignore) ],
Packit 95306a
Packit 95306a
   # The following are set by RFC-822.
Packit 95306a
Packit 95306a
   "A"                => [ qw(offset   -1:00:00) ],
Packit 95306a
   "B"                => [ qw(offset   -2:00:00) ],
Packit 95306a
   "C"                => [ qw(offset   -3:00:00) ],
Packit 95306a
   "D"                => [ qw(offset   -4:00:00) ],
Packit 95306a
   "E"                => [ qw(offset   -5:00:00) ],
Packit 95306a
   "F"                => [ qw(offset   -6:00:00) ],
Packit 95306a
   "G"                => [ qw(offset   -7:00:00) ],
Packit 95306a
   "H"                => [ qw(offset   -8:00:00) ],
Packit 95306a
   "I"                => [ qw(offset   -9:00:00) ],
Packit 95306a
   "K"                => [ qw(offset  -10:00:00) ],
Packit 95306a
   "L"                => [ qw(offset  -11:00:00) ],
Packit 95306a
   "M"                => [ qw(offset  -12:00:00) ],
Packit 95306a
   "N"                => [ qw(offset    1:00:00) ],
Packit 95306a
   "O"                => [ qw(offset    2:00:00) ],
Packit 95306a
   "P"                => [ qw(offset    3:00:00) ],
Packit 95306a
   "Q"                => [ qw(offset    4:00:00) ],
Packit 95306a
   "R"                => [ qw(offset    5:00:00) ],
Packit 95306a
   "S"                => [ qw(offset    6:00:00) ],
Packit 95306a
   "T"                => [ qw(offset    7:00:00) ],
Packit 95306a
   "U"                => [ qw(offset    8:00:00) ],
Packit 95306a
   "V"                => [ qw(offset    9:00:00) ],
Packit 95306a
   "W"                => [ qw(offset   10:00:00) ],
Packit 95306a
   "X"                => [ qw(offset   11:00:00) ],
Packit 95306a
   "Y"                => [ qw(offset   12:00:00) ],
Packit 95306a
   "Z"                => [ qw(offset    0:00:00) ],
Packit 95306a
   "UT"               => [ qw(offset    0:00:00) ],
Packit 95306a
  );
Packit 95306a
Packit 95306a
foreach my $winz (keys %windows_zones) {
Packit 95306a
   my $zone = $windows_zones{$winz};
Packit 95306a
   $nontzdata_zones{$winz} = [ 'alias', $zone ];
Packit 95306a
}
Packit 95306a
foreach my $hpuxz (keys %hpux_zones) {
Packit 95306a
   my $zone = $hpux_zones{$hpuxz};
Packit 95306a
   $nontzdata_zones{$hpuxz} = [ 'alias', $zone ];
Packit 95306a
}
Packit 95306a
Packit 95306a
# Zone aliases of the form "EST5EDT" are handled here. In most cases,
Packit 95306a
# there are more than one possibile zone that they could apply to.
Packit 95306a
# Every possibility should be included here (so that they can be
Packit 95306a
# included in the docs) but the first one will be used.
Packit 95306a
Packit 95306a
%def_alias2 =
Packit 95306a
  (
Packit 95306a
   # These are set in RFC 822 and the default (first) value will NOT
Packit 95306a
   # be modified ever.
Packit 95306a
   'CST6CDT'       => [ 'America/Chicago' => 'America/Winnipeg' ],
Packit 95306a
   'EST5EDT'       => 'America/New_York',
Packit 95306a
   'MST7MDT'       => 'America/Denver',
Packit 95306a
   'PST8PDT'       => 'America/Los_Angeles',
Packit 95306a
Packit 95306a
   # Open to discussion
Packit 95306a
Packit 95306a
   'AEST-10AEDT'   => [ 'Australia/Melbourne' => 'Australia/Currie' ],
Packit 95306a
   'AHST10AHDT'    => 'America/Anchorage',
Packit 95306a
   'AKST9AKDT'     => 'America/Anchorage',
Packit 95306a
   'AST10APT'      => 'America/Anchorage',
Packit 95306a
   'AST4ADT'       => 'America/Halifax',
Packit 95306a
   'AST4APT'       => 'America/Blanc-Sablon',
Packit 95306a
   'AWST-8AWDT'    => 'Australia/Perth',
Packit 95306a
   'BST11BDT'      => 'America/Adak',
Packit 95306a
   'CAT-2CAST'     => 'Africa/Khartoum',
Packit 95306a
   'CET-1CEST'     => 'CET',
Packit 95306a
   'CET-1WEMT'     => 'Europe/Monaco',
Packit 95306a
   'CET-1WEST'     => 'Europe/Luxembourg',
Packit 95306a
   'CST-8CDT'      => 'Asia/Shanghai',
Packit 95306a
   'CST5CDT'       => 'America/Havana',
Packit 95306a
   'CST6CPT'       => 'America/Chicago',
Packit 95306a
   'EET-2EEST'     => 'EET',
Packit 95306a
   'EST5EPT'       => [ 'America/New_York' => 'America/Detroit' ],
Packit 95306a
   'GMT0BST'       => 'Europe/London',
Packit 95306a
   'GMT0IST'       => 'Europe/Dublin',
Packit 95306a
   'HKT-8HKST'     => 'Asia/Hong_Kong',
Packit 95306a
   'HST10HDT'      => 'America/Adak',
Packit 95306a
   'IST-2EEST'     => 'Asia/Gaza',
Packit 95306a
   'IST-2IDT'      => 'Asia/Jerusalem',
Packit 95306a
   'JST-9JDT'      => 'Asia/Tokyo',
Packit 95306a
   'KST-9KDT'      => 'Asia/Seoul',
Packit 95306a
   'MET-1MEST'     => 'MET',
Packit 95306a
   'MSK-3CEST'     => [ 'Europe/Minsk' => 'Europe/Chisinau' ],
Packit 95306a
   'MSK-3MSD'      => 'Europe/Moscow',
Packit 95306a
   'MST7MPT'       => [ 'America/Denver' => 'America/Boise' ],
Packit 95306a
   'NST11NPT'      => 'America/Adak',
Packit 95306a
   'NZST-12NZDT'   => 'Pacific/Auckland',
Packit 95306a
   'PKT-5PKST'     => 'Asia/Karachi',
Packit 95306a
   'PST8PPT'       => [ 'America/Los_Angeles' => 'America/Dawson_Creek' ],
Packit 95306a
   'SAST-2SAST'    => 'Africa/Johannesburg',
Packit 95306a
   'WAT-1WAST'     => 'Africa/Windhoek',
Packit 95306a
   'WET-1WEST'     => 'Europe/Luxembourg',
Packit 95306a
   'WET0WEST'      => 'WET',
Packit 95306a
   'YST9YDT'       => 'America/Yakutat',
Packit 95306a
   'YST9YPT'       => [ 'America/Whitehorse' => 'America/Dawson' ],
Packit 95306a
  );
Packit 95306a
Packit 95306a
1;
Packit 95306a
Packit 95306a
# Local Variables:
Packit 95306a
# mode: cperl
Packit 95306a
# indent-tabs-mode: nil
Packit 95306a
# cperl-indent-level: 3
Packit 95306a
# cperl-continued-statement-offset: 2
Packit 95306a
# cperl-continued-brace-offset: 0
Packit 95306a
# cperl-brace-offset: 0
Packit 95306a
# cperl-brace-imaginary-offset: 0
Packit 95306a
# cperl-label-offset: 0
Packit 95306a
# End: