aboutsummaryrefslogtreecommitdiff
path: root/tools/java/org/unicode/cldr/util/ZoneParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'tools/java/org/unicode/cldr/util/ZoneParser.java')
-rw-r--r--tools/java/org/unicode/cldr/util/ZoneParser.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/java/org/unicode/cldr/util/ZoneParser.java b/tools/java/org/unicode/cldr/util/ZoneParser.java
index 9f5a84c8..56aceaaf 100644
--- a/tools/java/org/unicode/cldr/util/ZoneParser.java
+++ b/tools/java/org/unicode/cldr/util/ZoneParser.java
@@ -648,6 +648,7 @@ public class ZoneParser {
{ "Asia/Ho_Chi_Minh", "Asia/Saigon" },
{ "Asia/Yangon", "Asia/Rangoon" },
{ "Asia/Kathmandu", "Asia/Katmandu" },
+ { "Europe/Kyiv", "Europe/Kiev" },
{ "Pacific/Pohnpei", "Pacific/Ponape" },
{ "Pacific/Chuuk", "Pacific/Truk" },
{ "Pacific/Honolulu", "Pacific/Johnston" }
@@ -655,6 +656,14 @@ public class ZoneParser {
FIX_UNSTABLE_TZIDS = CldrUtility.asMap(FIX_UNSTABLE_TZID_DATA);
}
+ // CLDR canonical zone IDs removed from zone.tab are defined here.
+ // When these zones are deprecated in CLDR, remove them from this array.
+ // See CLDR-16049
+ static final String[][] SUPPLEMENTAL_ZONE_ID_DATA = {
+ {"Europe/Uzhgorod", "UA", "+4837+02218"},
+ {"Europe/Zaporozhye", "UA", "+4750+03510"}
+ };
+
/**
*
*/
@@ -734,6 +743,18 @@ public class ZoneParser {
zoneData.put("Etc/Unknown", pieces);
zoneData.put("Etc/UTC", pieces);
+ // add extra zones
+ for (String[] zoneEntry : SUPPLEMENTAL_ZONE_ID_DATA) {
+ List<String> zarray = new ArrayList<>();
+ if (!m.reset(zoneEntry[2]).matches()) {
+ throw new IllegalArgumentException("Bad zone.tab, lat/long format: " + zoneEntry[2]);
+ }
+ zarray.add(getDegrees(m, true).toString());
+ zarray.add(getDegrees(m, false).toString());
+ zarray.add(zoneEntry[1]);
+ zoneData.put(zoneEntry[0], zarray);
+ }
+
zoneData = CldrUtility.protectCollection(zoneData); // protect for later
// now get links
@@ -990,4 +1011,4 @@ public class ZoneParser {
return version;
}
-} \ No newline at end of file
+}