diff options
Diffstat (limited to 'tools/java/org/unicode/cldr/util/ZoneParser.java')
-rw-r--r-- | tools/java/org/unicode/cldr/util/ZoneParser.java | 23 |
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 +} |