diff --git a/common/properties/coverageLevels.txt b/common/properties/coverageLevels.txt index 3a2bb78c703..2880fce837b 100644 --- a/common/properties/coverageLevels.txt +++ b/common/properties/coverageLevels.txt @@ -9,16 +9,18 @@ af ; modern ; Afrikaans +ak ; moderate ; Akan am ; modern ; Amharic ar ; modern ; Arabic as ; modern ; Assamese ast ; basic ; Asturian az ; modern ; Azerbaijani +bal_Latn ; moderate ; Baluchi (Latin) be ; modern ; Belarusian bg ; modern ; Bulgarian bgc ; basic ; Haryanvi bho ; basic ; Bhojpuri -blo ; moderate ; Anii +blo ; basic ; Anii bn ; modern ; Bangla br ; moderate ; Breton brx ; basic ; Bodo @@ -29,12 +31,13 @@ ceb ; moderate ; Cebuano chr ; modern ; Cherokee cs ; modern ; Czech csw ; basic ; Swampy Cree -cv ; moderate ; Chuvash +cv ; basic ; Chuvash cy ; modern ; Welsh da ; modern ; Danish de ; modern ; German doi ; basic ; Dogri dsb ; modern ; Lower Sorbian +ee ; basic ; Ewe el ; modern ; Greek en ; modern ; English eo ; basic ; Esperanto @@ -49,6 +52,7 @@ fo ; moderate ; Faroese fr ; modern ; French fy ; basic ; Western Frisian ga ; modern ; Irish +gaa ; basic ; Ga gd ; modern ; Scottish Gaelic gl ; modern ; Galician gu ; modern ; Gujarati @@ -64,6 +68,7 @@ ia ; moderate ; Interlingua id ; modern ; Indonesian ie ; basic ; Interlingue ig ; modern ; Igbo +ii ; basic ; Sichuan Yi is ; modern ; Icelandic it ; modern ; Italian ja ; modern ; Japanese @@ -76,13 +81,10 @@ km ; modern ; Khmer kn ; modern ; Kannada ko ; modern ; Korean kok ; modern ; Konkani +kok_Latn ; basic ; Konkani (Latin) ks ; basic ; Kashmiri ks_Deva ; basic ; Kashmiri (Devanagari) ku ; moderate ; Kurdish -kxv ; basic ; Kuvi -kxv_Deva ; basic ; Kuvi (Devanagari) -kxv_Orya ; basic ; Kuvi (Odia) -kxv_Telu ; basic ; Kuvi (Telugu) ky ; modern ; Kyrgyz lb ; basic ; Luxembourgish lij ; basic ; Ligurian @@ -105,11 +107,12 @@ ne ; modern ; Nepali nl ; modern ; Dutch nn ; modern ; Norwegian Nynorsk no ; modern ; Norwegian -nqo ; basic ; N’Ko +nso ; basic ; Northern Sotho oc ; basic ; Occitan +om ; basic ; Oromo or ; modern ; Odia pa ; modern ; Punjabi -pcm ; moderate ; Nigerian Pidgin +pcm ; modern ; Nigerian Pidgin pl ; modern ; Polish prg ; basic ; Prussian ps ; modern ; Pashto @@ -119,6 +122,7 @@ raj ; basic ; Rajasthani rm ; basic ; Romansh ro ; modern ; Romanian ru ; modern ; Russian +rw ; basic ; Kinyarwanda sa ; basic ; Sanskrit sah ; basic ; Yakut sat ; basic ; Santali @@ -132,6 +136,7 @@ so ; modern ; Somali sq ; modern ; Albanian sr ; modern ; Serbian sr_Latn ; modern ; Serbian (Latin) +st ; basic ; Southern Sotho su ; basic ; Sundanese sv ; modern ; Swedish sw ; modern ; Swahili @@ -139,24 +144,22 @@ syr ; basic ; Syriac szl ; basic ; Silesian ta ; modern ; Tamil te ; modern ; Telugu -tg ; basic ; Tajik +tg ; moderate ; Tajik th ; modern ; Thai -ti ; basic ; Tigrinya +ti ; modern ; Tigrinya tk ; modern ; Turkmen +tn ; basic ; Tswana to ; basic ; Tongan tr ; modern ; Turkish -tt ; basic ; Tatar -ug ; basic ; Uyghur +tt ; moderate ; Tatar uk ; modern ; Ukrainian ur ; modern ; Urdu uz ; modern ; Uzbek -uz_Cyrl ; basic ; Uzbek (Cyrillic) vec ; moderate ; Venetian vi ; modern ; Vietnamese vmw ; basic ; Makhuwa -wo ; basic ; Wolof +wo ; moderate ; Wolof xh ; moderate ; Xhosa -xnr ; basic ; Kangri yo ; modern ; Yoruba yrl ; basic ; Nheengatu yue ; modern ; Cantonese diff --git a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCLDRLocaleCoverage.java b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCLDRLocaleCoverage.java index 2099a76e2ee..28c6f6a2f25 100644 --- a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCLDRLocaleCoverage.java +++ b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestCLDRLocaleCoverage.java @@ -117,13 +117,39 @@ public void TestLanguageNameCoverage() { "localesForNames.containsAll(coverageLocales)", localesForNames, coverageLocales); + + final int currentMajorVersion = SDI.getCldrVersion().getMajor(); + + // Updating coverageLevels.txt + // + // Languages that reach basic need to be added to coverage locales in the next release. + // In the meantime, this list is used to allow a new coverageLevels.txt to be included at + // the end of a release. + // Follow the instructions below. + + // Set the version number to the current release number + final int exceptionMajorVersion = 46; + + // Include all and only the locales that newly reached Basic coverage. + Set exceptionsForCurrentVersion = + ImmutableSet.of("ak", "ee", "gaa", "ii", "nso", "om", "rw", "st", "tn"); + showRegex |= !assertContains( "coverageLocales.containsAll(localesForNames) - add to %language80 or lower under coverageLevels.xml?", - coverageLocales, localesForNames); + currentMajorVersion != exceptionMajorVersion + ? coverageLocales + : Sets.union(coverageLocales, exceptionsForCurrentVersion), + localesForNames); + if (showRegex) { String simplePattern = MinimizeRegex.simplePattern(localesForNames); - warnln("Plain Regex for coverage:\n" + simplePattern); + warnln( + "Plain Regex for coverage:\n" + + simplePattern + + "\n\tWhen regenerating a new coverageLevels.txt," + + "\n\tsearch for 'Updating coverageLevels.txt in TestLanguageNameCoverageOpening, " + + "and follow the instructions."); } coverageLocales.addAll(SDI.getCLDRLanguageCodes());