Skip to content

Commit 9263526

Browse files
authored
CLDR-15830 Use getNameFromTypenumCode instead of getNameFromTypestrCode (#4228)
1 parent 178ef98 commit 9263526

18 files changed

+102
-51
lines changed

tools/cldr-code/src/main/java/org/unicode/cldr/test/CLDRTest.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -1048,7 +1048,8 @@ public Object transform(Object source) {
10481048
public Object transform(Object source) {
10491049
if (english == null) english = cldrFactory.make("en", true);
10501050
return english.nameGetter()
1051-
.getNameFromTypestrCode("currency", source.toString())
1051+
.getNameFromTypenumCode(
1052+
CLDRFile.CURRENCY_NAME, source.toString())
10521053
+ " ("
10531054
+ source
10541055
+ ")";
@@ -1191,9 +1192,11 @@ public void TestSupplementalData() {
11911192
}
11921193
}
11931194
logln("Missing English currency names");
1195+
NameGetter englishNameGetter = english.nameGetter();
11941196
for (Iterator<String> it = legalCurrencies.iterator(); it.hasNext(); ) {
11951197
String currency = it.next();
1196-
String name = english.nameGetter().getNameFromTypestrCode("currency", currency);
1198+
String name =
1199+
englishNameGetter.getNameFromTypenumCode(CLDRFile.CURRENCY_NAME, currency);
11971200
if (name == null) {
11981201
String standardName = sc.getFullData("currency", currency).get(0);
11991202
logln("\t\t\t<currency type=\"" + currency + "\">");

tools/cldr-code/src/main/java/org/unicode/cldr/tool/ConvertLanguageData.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -438,14 +438,10 @@ private static List<String> compare(
438438
BasicLanguageData.Type oldValue = oldDataToType.get(s);
439439
BasicLanguageData.Type newValue = newDataToType.get(s);
440440
if (!CldrUtility.equals(oldValue, newValue)) {
441+
int code = s.length() == 4 ? CLDRFile.SCRIPT_NAME : CLDRFile.TERRITORY_NAME;
442+
String name = englishNameGetter.getNameFromTypenumCode(code, s);
441443
temp.setLength(0);
442-
temp.append("[")
443-
.append(s)
444-
.append(":")
445-
.append(
446-
englishNameGetter.getNameFromTypestrCode(
447-
s.length() == 4 ? "script" : "region", s))
448-
.append("] ");
444+
temp.append("[").append(s).append(":").append(name).append("] ");
449445
if (oldValue == null) {
450446
temp.append(" added as ").append(newValue);
451447
} else if (newValue == null) {

tools/cldr-code/src/main/java/org/unicode/cldr/tool/CountItems.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,8 @@ private static void writeZonePrettyPath(
562562
"# "
563563
+ newCountry
564564
+ "\t"
565-
+ nameGetter.getNameFromTypestrCode("territory", newCountry));
565+
+ nameGetter.getNameFromTypenumCode(
566+
CLDRFile.TERRITORY_NAME, newCountry));
566567
lastCountry = newCountry;
567568
}
568569
Log.println("\t'" + oldName + "'\t>\t'" + newName + "';");

tools/cldr-code/src/main/java/org/unicode/cldr/tool/ExtractMessages.java

+12-5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.unicode.cldr.util.CldrUtility;
2323
import org.unicode.cldr.util.CollatorHelper;
2424
import org.unicode.cldr.util.Factory;
25+
import org.unicode.cldr.util.NameGetter;
2526
import org.unicode.cldr.util.Pair;
2627
import org.unicode.cldr.util.PathUtilities;
2728
import org.unicode.cldr.util.PatternCache;
@@ -155,13 +156,13 @@ public static void main(String[] args) throws IOException {
155156
System.out.println("\titems: " + itemCount);
156157
totalCount += itemCount;
157158
}
158-
159+
NameGetter englishNameGetter = english.nameGetter();
159160
for (String name : skipped) {
160161
System.out.println(
161162
"\tSkipping, no CLDR locale file: "
162163
+ name
163164
+ "\t"
164-
+ english.nameGetter().getNameFromBCP47(name));
165+
+ englishNameGetter.getNameFromBCP47(name));
165166
}
166167
double deltaTime = System.currentTimeMillis() - startTime;
167168
System.out.println("Elapsed: " + deltaTime / 1000.0 + " seconds");
@@ -448,10 +449,13 @@ public void addName(String name, String code, boolean skipMessage) {
448449
DataHandler(Type type, String pattern) {
449450
this.type = type;
450451
matcher = PatternCache.get(pattern).matcher("");
452+
NameGetter englishNameGetter = english.nameGetter();
451453
switch (type) {
452454
case LANGUAGE:
453455
for (String code : sc.getAvailableCodes("language")) {
454-
String name = english.nameGetter().getNameFromTypestrCode("language", code);
456+
String name =
457+
englishNameGetter.getNameFromTypenumCode(
458+
CLDRFile.LANGUAGE_NAME, code);
455459
if (name == null) {
456460
// System.out.println("Missing name for: " + code);
457461
continue;
@@ -493,7 +497,8 @@ public void addName(String name, String code, boolean skipMessage) {
493497
case REGION:
494498
for (String code : sc.getAvailableCodes("territory")) {
495499
String name =
496-
english.nameGetter().getNameFromTypestrCode("territory", code);
500+
englishNameGetter.getNameFromTypenumCode(
501+
CLDRFile.TERRITORY_NAME, code);
497502
if (name == null) {
498503
// System.out.println("Missing name for: " + code);
499504
continue;
@@ -532,7 +537,9 @@ public void addName(String name, String code, boolean skipMessage) {
532537
break;
533538
case CURRENCY:
534539
for (String code : sc.getAvailableCodes("currency")) {
535-
String name = english.nameGetter().getNameFromTypestrCode("currency", code);
540+
String name =
541+
englishNameGetter.getNameFromTypenumCode(
542+
CLDRFile.CURRENCY_NAME, code);
536543
if (name == null) {
537544
// System.out.println("Missing name for: " + code);
538545
continue;

tools/cldr-code/src/main/java/org/unicode/cldr/tool/FindPreferredHours.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.unicode.cldr.util.DateTimeCanonicalizer.DateTimePatternType;
2222
import org.unicode.cldr.util.Factory;
2323
import org.unicode.cldr.util.LanguageTagParser;
24+
import org.unicode.cldr.util.NameGetter;
2425
import org.unicode.cldr.util.PreferredAndAllowedHour;
2526
import org.unicode.cldr.util.SupplementalDataInfo.OfficialStatus;
2627
import org.unicode.cldr.util.SupplementalDataInfo.PopulationData;
@@ -261,21 +262,24 @@ public static void main(String[] args) {
261262
if (tag.equals("h")) {
262263
tag += "*";
263264
}
264-
265+
NameGetter englishNameGetter = ENGLISH.nameGetter();
265266
System.out.println(
266267
tag
267268
+ "\t"
268269
+ region
269270
+ "\t"
270-
+ ENGLISH.nameGetter().getNameFromTypestrCode("territory", region)
271+
+ englishNameGetter.getNameFromTypenumCode(
272+
CLDRFile.TERRITORY_NAME, region)
271273
+ "\t"
272274
+ subcontinent
273275
+ "\t"
274-
+ ENGLISH.nameGetter().getNameFromTypestrCode("territory", subcontinent)
276+
+ englishNameGetter.getNameFromTypenumCode(
277+
CLDRFile.TERRITORY_NAME, subcontinent)
275278
+ "\t"
276279
+ continent
277280
+ "\t"
278-
+ ENGLISH.nameGetter().getNameFromTypestrCode("territory", continent)
281+
+ englishNameGetter.getNameFromTypenumCode(
282+
CLDRFile.TERRITORY_NAME, continent)
279283
+ "\t"
280284
+ showInfo(preferredSet));
281285
}

tools/cldr-code/src/main/java/org/unicode/cldr/tool/GenerateEnums.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ private void showRegionCodeInfo() throws IOException {
644644
format(popData.getPopulation()),
645645
format(popData.getLiteratePopulation() / popData.getPopulation()),
646646
format(popData.getGdp()),
647-
englishNameGetter.getNameFromTypestrCode("territory", territory));
647+
englishNameGetter.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, territory));
648648
// remove all the ISO 639-3 until they are part of BCP 47
649649
// we need to remove in earlier pass so we have the count
650650
Set<String> languages = new TreeSet<>();
@@ -742,7 +742,8 @@ private void showRegionCodeInfo() throws IOException {
742742
+ "\t"
743743
+ region
744744
+ "\t"
745-
+ englishNameGetter.getNameFromTypestrCode("territory", region));
745+
+ englishNameGetter.getNameFromTypenumCode(
746+
CLDRFile.TERRITORY_NAME, region));
746747
}
747748

748749
showGeneratedCommentEnd(DATA_INDENT);

tools/cldr-code/src/main/java/org/unicode/cldr/tool/GenerateStatistics.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ private static String getFixedDisplayCountry(String localeID, String country) {
414414
}
415415
}
416416
CLDRFile cldr = factory.make(localeID, true);
417-
String name = cldr.nameGetter().getNameFromTypestrCode("territory", country);
417+
String name = cldr.nameGetter().getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, country);
418418
if (false && HACK) {
419419
Object trial = fixCountryNames.get(name);
420420
if (trial != null) {

tools/cldr-code/src/main/java/org/unicode/cldr/tool/GetLanguageData.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ private void findSuspectData() {
7171
territory //
7272
+ "\t"
7373
+ english.nameGetter()
74-
.getNameFromTypestrCode("territory", territory) //
74+
.getNameFromTypenumCode(
75+
CLDRFile.TERRITORY_NAME, territory) //
7576
+ "\t"
7677
+ territoryPop //
7778
+ "\t"

tools/cldr-code/src/main/java/org/unicode/cldr/tool/Misc.java

+10-8
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.unicode.cldr.util.Factory;
4444
import org.unicode.cldr.util.Iso3166Data;
4545
import org.unicode.cldr.util.LanguageTagParser;
46+
import org.unicode.cldr.util.NameGetter;
4647
import org.unicode.cldr.util.PatternCache;
4748
import org.unicode.cldr.util.SimpleXMLSource;
4849
import org.unicode.cldr.util.StandardCodes;
@@ -266,6 +267,7 @@ private static void showLanguageTagCount() {
266267
private static void listObsoletes() {
267268
// java.util.TimeZone t;
268269
StandardCodes sc = StandardCodes.make();
270+
NameGetter englishNameGetter = english.nameGetter();
269271
for (Iterator<String> typeIt = sc.getAvailableTypes().iterator(); typeIt.hasNext(); ) {
270272
String type = typeIt.next();
271273
System.out.println(type);
@@ -276,13 +278,13 @@ private static void listObsoletes() {
276278
if (list.size() < 3) continue;
277279
String replacementCode = list.get(2);
278280
if (replacementCode.length() == 0) continue;
279-
System.out.println(
280-
code
281-
+ " => "
282-
+ replacementCode
283-
+ "; "
284-
+ english.nameGetter()
285-
.getNameFromTypestrCode(type, replacementCode));
281+
/*
282+
* TODO: use getNameFromTypenumCode instead of getNameFromTypestrCode here.
283+
* Reference: https://unicode-org.atlassian.net/browse/CLDR-15830
284+
* type is derived from sc.getAvailableTypes()
285+
*/
286+
String name = englishNameGetter.getNameFromTypestrCode(type, replacementCode);
287+
System.out.println(code + " => " + replacementCode + "; " + name);
286288
}
287289
}
288290
}
@@ -481,7 +483,7 @@ static void printZoneAliases() {
481483
new_old.put(zone, new TreeSet<String>(col));
482484
String country = zone_countries.get(zone);
483485
String name =
484-
english.nameGetter().getNameFromTypestrCode("territory", country)
486+
english.nameGetter().getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, country)
485487
+ " ("
486488
+ country
487489
+ ")";

tools/cldr-code/src/main/java/org/unicode/cldr/tool/ShowLanguages.java

+11-5
Original file line numberDiff line numberDiff line change
@@ -2231,8 +2231,8 @@ public void printCurrency(PrintWriter index) throws IOException {
22312231
+ infoItem.getCurrency()
22322232
+ "</td>"
22332233
+ "<td class='target'>"
2234-
+ englishNameGetter.getNameFromTypestrCode(
2235-
"currency", infoItem.getCurrency())
2234+
+ englishNameGetter.getNameFromTypenumCode(
2235+
CLDRFile.CURRENCY_NAME, infoItem.getCurrency())
22362236
+ "</td>"
22372237
+ "</tr>");
22382238
}
@@ -2287,8 +2287,8 @@ public void printCurrency(PrintWriter index) throws IOException {
22872287
"<tr>"
22882288
+ "<td class='source nowrap'>"
22892289
+ TransliteratorUtilities.toHTML.transform(
2290-
englishNameGetter.getNameFromTypestrCode(
2291-
"currency", currency))
2290+
englishNameGetter.getNameFromTypenumCode(
2291+
CLDRFile.CURRENCY_NAME, currency))
22922292
+ "</td>"
22932293
+ "<td class='source'>"
22942294
+ CldrUtility.getDoubleLinkedText(currency)
@@ -2369,7 +2369,7 @@ public void printCurrency(PrintWriter index) throws IOException {
23692369

23702370
private String getTerritoryName(String territory) {
23712371
String name;
2372-
name = englishNameGetter.getNameFromTypestrCode("territory", territory);
2372+
name = englishNameGetter.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, territory);
23732373
if (name == null) {
23742374
name = sc.getData("territory", territory);
23752375
}
@@ -2972,6 +2972,12 @@ private static Map<String, Set<String>> getInverse(
29722972
private static SortedMap<String, String> getNameToCode(CodeType codeType, String cldrCodeType) {
29732973
SortedMap<String, String> temp = new TreeMap<String, String>(col);
29742974
for (String territory : StandardCodes.make().getAvailableCodes(codeType)) {
2975+
/*
2976+
* TODO: use getNameFromTypenumCode instead of getNameFromTypestrCode here.
2977+
* Reference: https://unicode-org.atlassian.net/browse/CLDR-15830
2978+
* codeType is either CodeType.territory or CodeType.currency
2979+
* cldrCodeType is either "region" or "currency"
2980+
*/
29752981
String name = englishNameGetter.getNameFromTypestrCode(cldrCodeType, territory);
29762982
temp.put(name == null ? territory : name, territory);
29772983
}

tools/cldr-code/src/main/java/org/unicode/cldr/tool/ShowLocaleCoverage.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ private static String spreadsheetLine(
11801180
+ "\t"
11811181
+ ENGLISH.nameGetter().getNameFromBCP47(language)
11821182
+ "\t"
1183-
+ ENGLISH.nameGetter().getNameFromTypestrCode("script", script)
1183+
+ ENGLISH.nameGetter().getNameFromTypenumCode(CLDRFile.SCRIPT_NAME, script)
11841184
+ "\t"
11851185
+ cldrLocaleLevelGoal
11861186
+ "\t"

tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRFile.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2531,7 +2531,7 @@ public static int typeNameToCode(String type) {
25312531
if (type.equalsIgnoreCase("region")) {
25322532
type = "territory";
25332533
}
2534-
for (int i = 0; i < LIMIT_TYPES; ++i) {
2534+
for (int i = 0; i <= LIMIT_TYPES; ++i) {
25352535
if (type.equalsIgnoreCase(getNameName(i))) {
25362536
return i;
25372537
}

tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRLocale.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ public CLDRFormatter(FormatBehavior behavior) {
152152
@Override
153153
public String getDisplayVariant(CLDRLocale cldrLocale) {
154154
if (file != null)
155-
return file.nameGetter().getNameFromTypestrCode("variant", cldrLocale.getVariant());
155+
return file.nameGetter()
156+
.getNameFromTypenumCode(CLDRFile.VARIANT_NAME, cldrLocale.getVariant());
156157
return tryForBetter(super.getDisplayVariant(cldrLocale), cldrLocale.getVariant());
157158
}
158159

@@ -181,23 +182,24 @@ public String getDisplayName(
181182
@Override
182183
public String getDisplayScript(CLDRLocale cldrLocale) {
183184
if (file != null)
184-
return file.nameGetter().getNameFromTypestrCode("script", cldrLocale.getScript());
185+
return file.nameGetter()
186+
.getNameFromTypenumCode(CLDRFile.SCRIPT_NAME, cldrLocale.getScript());
185187
return tryForBetter(super.getDisplayScript(cldrLocale), cldrLocale.getScript());
186188
}
187189

188190
@Override
189191
public String getDisplayLanguage(CLDRLocale cldrLocale) {
190192
if (file != null)
191193
return file.nameGetter()
192-
.getNameFromTypestrCode("language", cldrLocale.getLanguage());
194+
.getNameFromTypenumCode(CLDRFile.LANGUAGE_NAME, cldrLocale.getLanguage());
193195
return tryForBetter(super.getDisplayLanguage(cldrLocale), cldrLocale.getLanguage());
194196
}
195197

196198
@Override
197199
public String getDisplayCountry(CLDRLocale cldrLocale) {
198200
if (file != null)
199201
return file.nameGetter()
200-
.getNameFromTypestrCode("territory", cldrLocale.getCountry());
202+
.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, cldrLocale.getCountry());
201203
return tryForBetter(super.getDisplayLanguage(cldrLocale), cldrLocale.getLanguage());
202204
}
203205

tools/cldr-code/src/main/java/org/unicode/cldr/util/PathDescription.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,8 @@ public String getDescription(String path, String value, Object context) {
995995
found = true;
996996
} else if (country != null) {
997997
String countryName =
998-
english.nameGetter().getNameFromTypestrCode("territory", country);
998+
english.nameGetter()
999+
.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, country);
9991000
if (countryName != null) {
10001001
if (!codeName.equals(countryName)) {
10011002
code = "the city “" + codeName + "” (in " + countryName + ")";

tools/cldr-code/src/test/java/org/unicode/cldr/unittest/LanguageTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ Set<String> getUnicodeScripts() {
261261

262262
private String getScriptName(String script) {
263263
NameGetter nameGetter = testInfo.getEnglish().nameGetter();
264-
String name = nameGetter.getNameFromTypestrCode("script", script);
264+
String name = nameGetter.getNameFromTypenumCode(CLDRFile.SCRIPT_NAME, script);
265265
if (name != null && !name.equals(script)) {
266266
return name;
267267
}
@@ -281,7 +281,7 @@ public String getDescription(String type, String token) {
281281

282282
private String getLanguageName(String language) {
283283
NameGetter nameGetter = testInfo.getEnglish().nameGetter();
284-
String name = nameGetter.getNameFromTypestrCode("language", language);
284+
String name = nameGetter.getNameFromTypenumCode(CLDRFile.LANGUAGE_NAME, language);
285285
if (name != null && !name.equals(language)) {
286286
return name;
287287
}

0 commit comments

Comments
 (0)