]> granicus.if.org Git - icu/commitdiff
ICU-21581 integrate CLDR release-40-alpha3 to ICU trunk
authorPeter Edberg <pedberg@unicode.org>
Thu, 9 Sep 2021 04:42:54 +0000 (21:42 -0700)
committerPeter Edberg <42151464+pedberg-icu@users.noreply.github.com>
Thu, 9 Sep 2021 17:57:21 +0000 (10:57 -0700)
icu4c/source/common/uloc_keytype.cpp
icu4c/source/data/build.xml
icu4c/source/data/misc/metaZones.txt
icu4c/source/data/misc/timezoneTypes.txt
icu4c/source/i18n/zonemeta.cpp
icu4j/main/classes/core/src/com/ibm/icu/impl/ZoneMeta.java
icu4j/main/classes/core/src/com/ibm/icu/impl/locale/KeyTypeData.java
icu4j/main/shared/data/icudata.jar
icu4j/main/shared/data/icutzdata.jar
icu4j/main/shared/data/testdata.jar
tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt

index ed76ffa01f3d5d255b8b2f03b2c20090093a630e..c289ebe76ff1009aae88edb0b35382c7a364045b 100644 (file)
@@ -222,11 +222,6 @@ initFromResourceBundle(UErrorCode& sts) {
                 if (U_FAILURE(sts)) {
                     break;
                 }
-                // TODO: For now we skip loading entries mapping to metazone short ids,
-                // which have 4 characters.
-                if (isTZ && uBcpTypeId.length() == 4) {
-                    continue;
-                }
 
                 // empty value indicates that BCP type is same with the legacy type.
                 const char* bcpTypeId = legacyTypeId;
index bcc07bd655dfcc51c7df6314caef1eb5ca8c04b2..a7efc0675b115c033b6a8048f1082f46ee295da9 100644 (file)
     <target name="setup" depends="init">
         <mkdir dir="${env.CLDR_TMP_DIR}"/> <!-- make sure parent dir exists -->
         <condition property="cldrprod.exists">
-            <available file="${cldr.prod.dir}" type="dir"/>
+            <available file="${cldr.prod.dir}/common" type="dir"/>
         </condition>
     </target>
 
     <target name="cleanprod" depends="init, setup" if="cldrprod.exists">
-        <delete dir="${cldr.prod.dir}" />
+        <delete dir="${cldr.prod.dir}/common" />
+        <delete dir="${cldr.prod.dir}/keyboards" />
     </target>
     <target name="proddata" depends="init,setup" unless="cldrprod.exists">
         <echo message="Rebuilding ${cldr.prod.dir} - takes a while!"/>
index 6865d9e31a9cd1e31ed86aae18ac33a5b89d70fd..d17ce06b1d519ec422eaffaf1ad06f3205bc6cbf 100644 (file)
@@ -711,6 +711,166 @@ metaZones:table(nofallback){
             001{"America/Whitehorse"}
         }
     }
+    metazoneIds{
+        acre{"Acre"}
+        afce{"Africa_Central"}
+        afea{"Africa_Eastern"}
+        afgh{"Afghanistan"}
+        afso{"Africa_Southern"}
+        afwe{"Africa_Western"}
+        alam{"Almaty"}
+        alas{"Alaska"}
+        amaz{"Amazon"}
+        amce{"America_Central"}
+        amea{"America_Eastern"}
+        ammo{"America_Mountain"}
+        ampa{"America_Pacific"}
+        anad{"Anadyr"}
+        apia{"Apia"}
+        aqta{"Aqtau"}
+        aqto{"Aqtobe"}
+        arab{"Arabian"}
+        arge{"Argentina"}
+        arme{"Armenia"}
+        arwe{"Argentina_Western"}
+        atla{"Atlantic"}
+        auce{"Australia_Central"}
+        aucw{"Australia_CentralWestern"}
+        auea{"Australia_Eastern"}
+        auwe{"Australia_Western"}
+        azer{"Azerbaijan"}
+        azor{"Azores"}
+        bang{"Bangladesh"}
+        bhut{"Bhutan"}
+        boli{"Bolivia"}
+        bras{"Brasilia"}
+        brun{"Brunei"}
+        case{"Casey"}
+        cave{"Cape_Verde"}
+        cham{"Chamorro"}
+        chat{"Chatham"}
+        chil{"Chile"}
+        chin{"China"}
+        choi{"Choibalsan"}
+        chri{"Christmas"}
+        coco{"Cocos"}
+        colo{"Colombia"}
+        cook{"Cook"}
+        cuba{"Cuba"}
+        davi{"Davis"}
+        dumo{"DumontDUrville"}
+        east{"Easter"}
+        eati{"East_Timor"}
+        ecua{"Ecuador"}
+        euce{"Europe_Central"}
+        euea{"Europe_Eastern"}
+        eufe{"Europe_Further_Eastern"}
+        euwe{"Europe_Western"}
+        falk{"Falkland"}
+        fiji{"Fiji"}
+        frgu{"French_Guiana"}
+        frso{"French_Southern"}
+        gala{"Galapagos"}
+        gamb{"Gambier"}
+        geor{"Georgia"}
+        giis{"Gilbert_Islands"}
+        grea{"Greenland_Eastern"}
+        grwe{"Greenland_Western"}
+        guam{"Guam"}
+        gulf{"Gulf"}
+        guya{"Guyana"}
+        haal{"Hawaii_Aleutian"}
+        hoko{"Hong_Kong"}
+        hovd{"Hovd"}
+        ince{"Indonesia_Central"}
+        indi{"India"}
+        indo{"Indochina"}
+        inea{"Indonesia_Eastern"}
+        inoc{"Indian_Ocean"}
+        inwe{"Indonesia_Western"}
+        iran{"Iran"}
+        irku{"Irkutsk"}
+        isra{"Israel"}
+        japa{"Japan"}
+        kaea{"Kazakhstan_Eastern"}
+        kamc{"Kamchatka"}
+        kawe{"Kazakhstan_Western"}
+        kore{"Korea"}
+        kosr{"Kosrae"}
+        kras{"Krasnoyarsk"}
+        kyrg{"Kyrgystan"}
+        lank{"Lanka"}
+        liis{"Line_Islands"}
+        loho{"Lord_Howe"}
+        maca{"Macau"}
+        macq{"Macquarie"}
+        maga{"Magadan"}
+        mais{"Marshall_Islands"}
+        mala{"Malaysia"}
+        mald{"Maldives"}
+        marq{"Marquesas"}
+        maur{"Mauritius"}
+        maws{"Mawson"}
+        meno{"Mexico_Northwest"}
+        mepa{"Mexico_Pacific"}
+        mgmt{"GMT"}
+        mong{"Mongolia"}
+        mosc{"Moscow"}
+        myan{"Myanmar"}
+        naur{"Nauru"}
+        neca{"New_Caledonia"}
+        nepa{"Nepal"}
+        newf{"Newfoundland"}
+        neze{"New_Zealand"}
+        niue{"Niue"}
+        noma{"North_Mariana"}
+        norf{"Norfolk"}
+        noro{"Noronha"}
+        novo{"Novosibirsk"}
+        omsk{"Omsk"}
+        paki{"Pakistan"}
+        pala{"Palau"}
+        pang{"Papua_New_Guinea"}
+        para{"Paraguay"}
+        peru{"Peru"}
+        phil{"Philippines"}
+        phis{"Phoenix_Islands"}
+        pimi{"Pierre_Miquelon"}
+        pitc{"Pitcairn"}
+        pona{"Ponape"}
+        pyon{"Pyongyang"}
+        qyzy{"Qyzylorda"}
+        reun{"Reunion"}
+        roth{"Rothera"}
+        sakh{"Sakhalin"}
+        sama{"Samara"}
+        samo{"Samoa"}
+        seyc{"Seychelles"}
+        sing{"Singapore"}
+        soge{"South_Georgia"}
+        solo{"Solomon"}
+        suri{"Suriname"}
+        syow{"Syowa"}
+        tahi{"Tahiti"}
+        taip{"Taipei"}
+        taji{"Tajikistan"}
+        toke{"Tokelau"}
+        tong{"Tonga"}
+        truk{"Truk"}
+        turk{"Turkmenistan"}
+        tuva{"Tuvalu"}
+        urug{"Uruguay"}
+        uzbe{"Uzbekistan"}
+        vanu{"Vanuatu"}
+        vene{"Venezuela"}
+        vlad{"Vladivostok"}
+        volg{"Volgograd"}
+        vost{"Vostok"}
+        wake{"Wake"}
+        wall{"Wallis"}
+        yaku{"Yakutsk"}
+        yeka{"Yekaterinburg"}
+    }
     metazoneInfo{
         "Africa:Abidjan"{
             {
index a1d4fd708edb1958fee6b1df72168cd442c7e9c9..faa029819201b6fd8a0be6d0836a52241782b992 100644 (file)
@@ -606,168 +606,10 @@ timezoneTypes:table(nofallback){
             "Pacific:Truk"{"fmtkk"}
             "Pacific:Wake"{"umawk"}
             "Pacific:Wallis"{"wfmau"}
-            Acre{"acre"}
-            Afghanistan{"afgh"}
-            Africa_Central{"afce"}
-            Africa_Eastern{"afea"}
-            Africa_Southern{"afso"}
-            Africa_Western{"afwe"}
-            Alaska{"alas"}
-            Almaty{"alam"}
-            Amazon{"amaz"}
-            America_Central{"amce"}
-            America_Eastern{"amea"}
-            America_Mountain{"ammo"}
-            America_Pacific{"ampa"}
-            Anadyr{"anad"}
-            Apia{"apia"}
-            Aqtau{"aqta"}
-            Aqtobe{"aqto"}
-            Arabian{"arab"}
-            Argentina{"arge"}
-            Argentina_Western{"arwe"}
-            Armenia{"arme"}
-            Atlantic{"atla"}
-            Australia_Central{"auce"}
-            Australia_CentralWestern{"aucw"}
-            Australia_Eastern{"auea"}
-            Australia_Western{"auwe"}
-            Azerbaijan{"azer"}
-            Azores{"azor"}
-            Bangladesh{"bang"}
-            Bhutan{"bhut"}
-            Bolivia{"boli"}
-            Brasilia{"bras"}
-            Brunei{"brun"}
             CST6CDT{"cst6cdt"}
-            Cape_Verde{"cave"}
-            Casey{"case"}
-            Chamorro{"cham"}
-            Chatham{"chat"}
-            Chile{"chil"}
-            China{"chin"}
-            Choibalsan{"choi"}
-            Christmas{"chri"}
-            Cocos{"coco"}
-            Colombia{"colo"}
-            Cook{"cook"}
-            Cuba{"cuba"}
-            Davis{"davi"}
-            DumontDUrville{"dumo"}
             EST5EDT{"est5edt"}
-            East_Timor{"eati"}
-            Easter{"east"}
-            Ecuador{"ecua"}
-            Europe_Central{"euce"}
-            Europe_Eastern{"euea"}
-            Europe_Further_Eastern{"eufe"}
-            Europe_Western{"euwe"}
-            Falkland{"falk"}
-            Fiji{"fiji"}
-            French_Guiana{"frgu"}
-            French_Southern{"frso"}
-            GMT{"mgmt"}
-            Galapagos{"gala"}
-            Gambier{"gamb"}
-            Georgia{"geor"}
-            Gilbert_Islands{"giis"}
-            Greenland_Eastern{"grea"}
-            Greenland_Western{"grwe"}
-            Guam{"guam"}
-            Gulf{"gulf"}
-            Guyana{"guya"}
-            Hawaii_Aleutian{"haal"}
-            Hong_Kong{"hoko"}
-            Hovd{"hovd"}
-            India{"indi"}
-            Indian_Ocean{"inoc"}
-            Indochina{"indo"}
-            Indonesia_Central{"ince"}
-            Indonesia_Eastern{"inea"}
-            Indonesia_Western{"inwe"}
-            Iran{"iran"}
-            Irkutsk{"irku"}
-            Israel{"isra"}
-            Japan{"japa"}
-            Kamchatka{"kamc"}
-            Kazakhstan_Eastern{"kaea"}
-            Kazakhstan_Western{"kawe"}
-            Korea{"kore"}
-            Kosrae{"kosr"}
-            Krasnoyarsk{"kras"}
-            Kyrgystan{"kyrg"}
-            Lanka{"lank"}
-            Line_Islands{"liis"}
-            Lord_Howe{"loho"}
             MST7MDT{"mst7mdt"}
-            Macau{"maca"}
-            Macquarie{"macq"}
-            Magadan{"maga"}
-            Malaysia{"mala"}
-            Maldives{"mald"}
-            Marquesas{"marq"}
-            Marshall_Islands{"mais"}
-            Mauritius{"maur"}
-            Mawson{"maws"}
-            Mexico_Northwest{"meno"}
-            Mexico_Pacific{"mepa"}
-            Mongolia{"mong"}
-            Moscow{"mosc"}
-            Myanmar{"myan"}
-            Nauru{"naur"}
-            Nepal{"nepa"}
-            New_Caledonia{"neca"}
-            New_Zealand{"neze"}
-            Newfoundland{"newf"}
-            Niue{"niue"}
-            Norfolk{"norf"}
-            Noronha{"noro"}
-            North_Mariana{"noma"}
-            Novosibirsk{"novo"}
-            Omsk{"omsk"}
             PST8PDT{"pst8pdt"}
-            Pakistan{"paki"}
-            Palau{"pala"}
-            Papua_New_Guinea{"pang"}
-            Paraguay{"para"}
-            Peru{"peru"}
-            Philippines{"phil"}
-            Phoenix_Islands{"phis"}
-            Pierre_Miquelon{"pimi"}
-            Pitcairn{"pitc"}
-            Ponape{"pona"}
-            Pyongyang{"pyon"}
-            Qyzylorda{"qyzy"}
-            Reunion{"reun"}
-            Rothera{"roth"}
-            Sakhalin{"sakh"}
-            Samara{"sama"}
-            Samoa{"samo"}
-            Seychelles{"seyc"}
-            Singapore{"sing"}
-            Solomon{"solo"}
-            South_Georgia{"soge"}
-            Suriname{"suri"}
-            Syowa{"syow"}
-            Tahiti{"tahi"}
-            Taipei{"taip"}
-            Tajikistan{"taji"}
-            Tokelau{"toke"}
-            Tonga{"tong"}
-            Truk{"truk"}
-            Turkmenistan{"turk"}
-            Tuvalu{"tuva"}
-            Uruguay{"urug"}
-            Uzbekistan{"uzbe"}
-            Vanuatu{"vanu"}
-            Venezuela{"vene"}
-            Vladivostok{"vlad"}
-            Volgograd{"volg"}
-            Vostok{"vost"}
-            Wake{"wake"}
-            Wallis{"wall"}
-            Yakutsk{"yaku"}
-            Yekaterinburg{"yeka"}
         }
     }
 }
index 6af2231c7774ce54bfdc8b1a87da48f038dd9e1f..b8afa4760f1823c9cde7d73bf300397045e6b65a 100644 (file)
@@ -290,13 +290,9 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) {
     UResourceBundle *rb = ures_getByKey(top, gTypeMapTag, NULL, &tmpStatus);
     ures_getByKey(rb, gTimezoneTag, rb, &tmpStatus);
     ures_getByKey(rb, id, rb, &tmpStatus);
-    int32_t bcp47StrLen = 0;
-    ures_getString(rb, &bcp47StrLen, &tmpStatus);
-    if (U_SUCCESS(tmpStatus) && bcp47StrLen!=4) {
+    if (U_SUCCESS(tmpStatus)) {
         // type entry (canonical) found
         // the input is the canonical ID. resolve to const UChar*
-        // TODO: For now we skip entries mapping to metazone short ids,
-        // which have 4 characters.
         canonicalID = TimeZone::findID(tzid);
         isInputCanonical = TRUE;
     }
@@ -937,11 +933,7 @@ ZoneMeta::getShortIDFromCanonical(const UChar* canonicalID) {
     ures_getByKey(rb, gTimezoneTag, rb, &status);
     shortID = ures_getStringByKey(rb, tzidKey, NULL, &status);
     ures_close(rb);
-    if (U_FAILURE(status) || (shortID!=nullptr && u_strlen(shortID)==4)) {
-        // TODO: For now we skip entries mapping to metazone short ids,
-        // which have 4 characters.
-        return NULL;
-    }
+
     return shortID;
 }
 
index 158002f7ed24b83bedd1d659b8c9a1a9005356a1..5858b480ddae016a6c215180033026ec0e1245aa 100644 (file)
@@ -401,13 +401,9 @@ public final class ZoneMeta {
             UResourceBundle typeMap = keyTypeData.get("typeMap");
             UResourceBundle typeKeys = typeMap.get("timezone");
             try {
-                UResourceBundle canonicalEntry = typeKeys.get(tzidKey);
-                if (canonicalEntry.getString().length() != 4) {
-                    // The given tzid is available in the canonical list
-                    // TODO: For now we skip entries mapping to metazone short ids,
-                    // which have 4 characters.
-                    canonical = tzid;
-                }
+                /* UResourceBundle canonicalEntry = */ typeKeys.get(tzidKey);
+                // The given tzid is available in the canonical list
+                canonical = tzid;
             } catch (MissingResourceException e) {
                 // fall through
             }
@@ -884,11 +880,6 @@ public final class ZoneMeta {
         } catch (MissingResourceException e) {
             // fall through
         }
-        if (shortID!=null && shortID.length()==4) {
-            // TODO: For now we skip entries mapping to metazone short ids,
-            // which have 4 characters.
-            return null;
-        }
 
         return shortID;
     }
index baa03b2fa5a75b29eb7527e6c089597e699e79de..50033b3aab93bca887f887f7b7d3860943a11057 100644 (file)
@@ -340,12 +340,6 @@ public class KeyTypeData {
                     String legacyTypeId = typeMapEntry.getKey();
                     String bcpTypeId = typeMapEntry.getString();
 
-                    // TODO: For now we skip loading entries mapping to metazone short ids,
-                    // which have 4 characters.
-                    if (isTZ && bcpTypeId.length() == 4) {
-                        continue;
-                    }
-
                     // special types
                     final char first = legacyTypeId.charAt(0);
                     final boolean isSpecialType = '9' < first && first < 'a' && bcpTypeId.length() == 0;
index 2cec24713147f454e3c282cdeee4c1f800b2bb26..81a0b1a800867d3ede94fdb33822c0d0e58b6b07 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:87b44d8bdf19a56188c51fb4348630396dba560115cd0918f7a89c8d2871a26e
+oid sha256:3f402b4fe975401f04a882d775a758d929fe8bc8f48e5343b28f2f52eb02bac8
 size 13626217
index 5a6d9bbc0fa5af49d4344f1e4381b72913e6b6c2..e3df589a76119949db2b7c3a4ba0e1ae2cec3041 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:abfd47aefce01f45015382e67784908314aac96327071f50768bd2e52b4ad18f
-size 96724
+oid sha256:8e10ef2bda758384c97b0f278d73fce925d09c8409908f8e5b465a01c5078010
+size 96207
index b5f74dee612f4046f643f4b1c1defc376cce4f60..0425dd7a2b988fd96af1452f841bb21672d3ac6d 100644 (file)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:1db5e252cd48bb0610d5d2e84ca24de565e4014a9679ea9246b999d5bc0e74b5
-size 826093
+oid sha256:4f0d0fe4550696a62d531ba62608520481f31795390cfc21c813f952938c73c0
+size 826071
index 9caef9eadc6eb3a0b4c5d9ebb89d22b9ce6e64ba..4685ba2dc62ce9fe59b3e357a24869e294b6fe97 100644 (file)
 //supplementalData/metaZones/metazoneInfo/timezone[@type="(%W)"]/usesMetazone[@from="(%A)"][@mzone="(%W)"] ; /metazoneInfo/"$1"/<$2> ; values=$3 "$2" "9999-12-31 23:59"
 //supplementalData/metaZones/metazoneInfo/timezone[@type="(%W)"]/usesMetazone[@from="(%A)"][@to="(%A)"][@mzone="(%W)"] ; /metazoneInfo/"$1"/<$2> ; values=$4 "$2" "$3"
 //supplementalData/metaZones/metazoneInfo/timezone[@type="(%W)"]/usesMetazone[@to="(%A)"][@mzone="(%W)"] ; /metazoneInfo/"$1"/<1970-01-01 00:00> ; values=$3 "1970-01-01 00:00" "$2"
+//supplementalData/metaZones/metazoneIds/metazoneId[@shortId="(%A)"][@longId="(%A)"][@deprecated="false"] ; /metazoneIds/$1 ; values=$2
 
 //supplementalData/primaryZones/primaryZone[@iso3166="(%W)"] ; /primaryZones/$1 ; values={value}