Skip to content

Commit a1868c9

Browse files
committed
feat(common): update to cldr 47 (#64032)
Update to CLDR version 47 for localization PR Close #64032
1 parent 70332b0 commit a1868c9

File tree

8 files changed

+156
-134
lines changed

8 files changed

+156
-134
lines changed

MODULE.bazel

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,14 @@ register_toolchains(
132132
"@devinfra//bazel/git-toolchain:git_windows_toolchain",
133133
)
134134

135-
CLDR_VERSION = "41"
135+
CLDR_VERSION = "47"
136136

137137
cldr_json_data = use_repo_rule("//packages/common/locales/generate-locales-tool:cldr-data.bzl", "cldr_json_data_repository")
138138

139139
cldr_json_data(
140140
name = "cldr_json_data",
141141
urls = {
142-
"https://github.com/unicode-org/cldr-json/releases/download/%s.0.0/cldr-%s.0.0-json-full.zip" % (CLDR_VERSION, CLDR_VERSION): "649b76647269e32b1b0a5f7b6eed52e9e63a1581f1afdcf4f6771e49c9713614",
142+
"https://github.com/unicode-org/cldr-json/releases/download/%s.0.0/cldr-%s.0.0-json-full.zip" % (CLDR_VERSION, CLDR_VERSION): "bbb9a9aac2dfc534bd18288678a5984023d11d22f712f3c33425f3214bd1def6",
143143
},
144144
)
145145

@@ -148,7 +148,7 @@ cldr_xml_data = use_repo_rule("//packages/common/locales/generate-locales-tool:c
148148
cldr_xml_data(
149149
name = "cldr_xml_data",
150150
urls = {
151-
"https://github.com/unicode-org/cldr/releases/download/release-%s/cldr-common-%s.0.zip" % (CLDR_VERSION, CLDR_VERSION): "823c6170c41e2de2c229574e8a436332d25f1c9723409867fe721e00bc92d853",
151+
"https://github.com/unicode-org/cldr/releases/download/release-%s/core.zip" % CLDR_VERSION: "d5ee2abac64158c04884a722f8ef4830ea22b6c74aac20185be2838db8eda788",
152152
},
153153
)
154154

packages/common/locales/closure-locale.ts

Lines changed: 116 additions & 114 deletions
Large diffs are not rendered by default.

packages/common/locales/generate-locales-tool/cldr-data.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ def _cldr_json_data_repository_impl(ctx):
44
ctx.download_and_extract(
55
url = url,
66
sha256 = sha256,
7+
canonical_id = sha256,
78
)
89

910
ctx.report_progress("Extracting available locales from: %s" % ctx.attr.available_locales_path)
@@ -36,6 +37,7 @@ def _cldr_xml_data_repository_impl(ctx):
3637
ctx.download_and_extract(
3738
url = url,
3839
sha256 = sha256,
40+
canonical_id = sha256,
3941
)
4042

4143
ctx.file("BUILD.bazel", content = """

packages/common/locales/generate-locales-tool/locale-currencies.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function getCurrencySettings(localeName: string, localeData: CldrLocaleDa
8383

8484
let currencySettings = [undefined, undefined, undefined];
8585

86-
if (currentCurrency) {
86+
if (currencyInfo[currentCurrency]) {
8787
currencySettings = [
8888
currentCurrency,
8989
currencyInfo[currentCurrency].symbol,

packages/common/locales/index.bzl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ def generate_base_currencies_file(name, src):
1717
name = name + "_generated",
1818
outs = ["base_currencies_generated.ts"],
1919
tool = "//packages/common/locales/generate-locales-tool/bin:get-base-currencies-file",
20+
tags = [
21+
"no-remote-exec",
22+
],
2023
chdir = native.package_name(),
2124
)
2225
write_source_file(
@@ -30,6 +33,11 @@ def generate_base_locale_file(name, src):
3033
name = name + "_generated",
3134
outs = ["base_locale_file.ts"],
3235
tool = "//packages/common/locales/generate-locales-tool/bin:get-base-locale-file",
36+
tags = [
37+
# No remote execution is used as the number of individual files used is beyond the RBE limit
38+
# due to the number of CLDR files which we cannot control.
39+
"no-remote-exec",
40+
],
3341
chdir = native.package_name(),
3442
)
3543
write_source_file(
@@ -43,6 +51,11 @@ def generate_closure_locale_file(name, src):
4351
name = name + "_generated",
4452
outs = ["closure_locale_generated.ts"],
4553
tool = "//packages/common/locales/generate-locales-tool/bin:get-closure-locale-file",
54+
tags = [
55+
# No remote execution is used as the number of individual files used is beyond the RBE limit
56+
# due to the number of CLDR files which we cannot control.
57+
"no-remote-exec",
58+
],
4659
chdir = native.package_name(),
4760
)
4861
write_source_file(
@@ -65,5 +78,10 @@ def generate_all_locale_files(name):
6578
name = name,
6679
outs = locale_files,
6780
tool = "//packages/common/locales/generate-locales-tool/bin:write-locale-files-to-dist",
81+
tags = [
82+
# No remote execution is used as the number of individual files used is beyond the RBE limit
83+
# due to the number of CLDR files which we cannot control.
84+
"no-remote-exec",
85+
],
6886
chdir = native.package_name(),
6987
)

packages/common/src/i18n/currencies.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
export type CurrenciesSymbols = [string] | [string | undefined, string];
1111

1212
/** @internal */
13-
export const CURRENCIES_EN: {[code: string]: CurrenciesSymbols | [string | undefined, string | undefined, number]} = {"ADP":[undefined,undefined,0],"AFN":[undefined,"؋",0],"ALL":[undefined,undefined,0],"AMD":[undefined,"֏",2],"AOA":[undefined,"Kz"],"ARS":[undefined,"$"],"AUD":["A$","$"],"AZN":[undefined,"₼"],"BAM":[undefined,"KM"],"BBD":[undefined,"$"],"BDT":[undefined,"৳"],"BHD":[undefined,undefined,3],"BIF":[undefined,undefined,0],"BMD":[undefined,"$"],"BND":[undefined,"$"],"BOB":[undefined,"Bs"],"BRL":["R$"],"BSD":[undefined,"$"],"BWP":[undefined,"P"],"BYN":[undefined,undefined,2],"BYR":[undefined,undefined,0],"BZD":[undefined,"$"],"CAD":["CA$","$",2],"CHF":[undefined,undefined,2],"CLF":[undefined,undefined,4],"CLP":[undefined,"$",0],"CNY":["CN¥","¥"],"COP":[undefined,"$",2],"CRC":[undefined,"₡",2],"CUC":[undefined,"$"],"CUP":[undefined,"$"],"CZK":[undefined,"Kč",2],"DJF":[undefined,undefined,0],"DKK":[undefined,"kr",2],"DOP":[undefined,"$"],"EGP":[undefined,"E£"],"ESP":[undefined,"₧",0],"EUR":["€"],"FJD":[undefined,"$"],"FKP":[undefined,"£"],"GBP":["£"],"GEL":[undefined,"₾"],"GHS":[undefined,"GH₵"],"GIP":[undefined,"£"],"GNF":[undefined,"FG",0],"GTQ":[undefined,"Q"],"GYD":[undefined,"$",2],"HKD":["HK$","$"],"HNL":[undefined,"L"],"HRK":[undefined,"kn"],"HUF":[undefined,"Ft",2],"IDR":[undefined,"Rp",2],"ILS":["₪"],"INR":["₹"],"IQD":[undefined,undefined,0],"IRR":[undefined,undefined,0],"ISK":[undefined,"kr",0],"ITL":[undefined,undefined,0],"JMD":[undefined,"$"],"JOD":[undefined,undefined,3],"JPY":["¥",undefined,0],"KHR":[undefined,"៛"],"KMF":[undefined,"CF",0],"KPW":[undefined,"₩",0],"KRW":["₩",undefined,0],"KWD":[undefined,undefined,3],"KYD":[undefined,"$"],"KZT":[undefined,"₸"],"LAK":[undefined,"₭",0],"LBP":[undefined,"L£",0],"LKR":[undefined,"Rs"],"LRD":[undefined,"$"],"LTL":[undefined,"Lt"],"LUF":[undefined,undefined,0],"LVL":[undefined,"Ls"],"LYD":[undefined,undefined,3],"MGA":[undefined,"Ar",0],"MGF":[undefined,undefined,0],"MMK":[undefined,"K",0],"MNT":[undefined,"₮",2],"MRO":[undefined,undefined,0],"MUR":[undefined,"Rs",2],"MXN":["MX$","$"],"MYR":[undefined,"RM"],"NAD":[undefined,"$"],"NGN":[undefined,"₦"],"NIO":[undefined,"C$"],"NOK":[undefined,"kr",2],"NPR":[undefined,"Rs"],"NZD":["NZ$","$"],"OMR":[undefined,undefined,3],"PHP":["₱"],"PKR":[undefined,"Rs",2],"PLN":[undefined,"zł"],"PYG":[undefined,"₲",0],"RON":[undefined,"lei"],"RSD":[undefined,undefined,0],"RUB":[undefined,"₽"],"RWF":[undefined,"RF",0],"SBD":[undefined,"$"],"SEK":[undefined,"kr",2],"SGD":[undefined,"$"],"SHP":[undefined,"£"],"SLE":[undefined,undefined,2],"SLL":[undefined,undefined,0],"SOS":[undefined,undefined,0],"SRD":[undefined,"$"],"SSP":[undefined,"£"],"STD":[undefined,undefined,0],"STN":[undefined,"Db"],"SYP":[undefined,"£",0],"THB":[undefined,"฿"],"TMM":[undefined,undefined,0],"TND":[undefined,undefined,3],"TOP":[undefined,"T$"],"TRL":[undefined,undefined,0],"TRY":[undefined,"₺"],"TTD":[undefined,"$"],"TWD":["NT$","$",2],"TZS":[undefined,undefined,2],"UAH":[undefined,"₴"],"UGX":[undefined,undefined,0],"USD":["$"],"UYI":[undefined,undefined,0],"UYU":[undefined,"$"],"UYW":[undefined,undefined,4],"UZS":[undefined,undefined,2],"VEF":[undefined,"Bs",2],"VND":["₫",undefined,0],"VUV":[undefined,undefined,0],"XAF":["FCFA",undefined,0],"XCD":["EC$","$"],"XOF":["F CFA",undefined,0],"XPF":["CFPF",undefined,0],"XXX":["¤"],"YER":[undefined,undefined,0],"ZAR":[undefined,"R"],"ZMK":[undefined,undefined,0],"ZMW":[undefined,"ZK"],"ZWD":[undefined,undefined,0]};
13+
export const CURRENCIES_EN: {[code: string]: CurrenciesSymbols | [string | undefined, string | undefined, number]} = {"ADP":[undefined,undefined,0],"AFN":[undefined,"؋",0],"ALL":[undefined,undefined,0],"AMD":[undefined,"֏",2],"AOA":[undefined,"Kz"],"ARS":[undefined,"$"],"AUD":["A$","$"],"AZN":[undefined,"₼"],"BAM":[undefined,"KM"],"BBD":[undefined,"$"],"BDT":[undefined,"৳"],"BHD":[undefined,undefined,3],"BIF":[undefined,undefined,0],"BMD":[undefined,"$"],"BND":[undefined,"$"],"BOB":[undefined,"Bs"],"BRL":["R$"],"BSD":[undefined,"$"],"BWP":[undefined,"P"],"BYN":[undefined,undefined,2],"BYR":[undefined,undefined,0],"BZD":[undefined,"$"],"CAD":["CA$","$",2],"CHF":[undefined,undefined,2],"CLF":[undefined,undefined,4],"CLP":[undefined,"$",0],"CNY":["CN¥","¥"],"COP":[undefined,"$",2],"CRC":[undefined,"₡",2],"CUC":[undefined,"$"],"CUP":[undefined,"$"],"CZK":[undefined,"Kč",2],"DJF":[undefined,undefined,0],"DKK":[undefined,"kr",2],"DOP":[undefined,"$"],"EGP":[undefined,"E£"],"ESP":[undefined,"₧",0],"EUR":["€"],"FJD":[undefined,"$"],"FKP":[undefined,"£"],"GBP":["£"],"GEL":[undefined,"₾"],"GHS":[undefined,"GH₵"],"GIP":[undefined,"£"],"GNF":[undefined,"FG",0],"GTQ":[undefined,"Q"],"GYD":[undefined,"$",2],"HKD":["HK$","$"],"HNL":[undefined,"L"],"HRK":[undefined,"kn"],"HUF":[undefined,"Ft",2],"IDR":[undefined,"Rp",2],"ILS":["₪"],"INR":["₹"],"IQD":[undefined,undefined,0],"IRR":[undefined,undefined,0],"ISK":[undefined,"kr",0],"ITL":[undefined,undefined,0],"JMD":[undefined,"$"],"JOD":[undefined,undefined,3],"JPY":["¥",undefined,0],"KGS":[undefined,"⃀"],"KHR":[undefined,"៛"],"KMF":[undefined,"CF",0],"KPW":[undefined,"₩",0],"KRW":["₩",undefined,0],"KWD":[undefined,undefined,3],"KYD":[undefined,"$"],"KZT":[undefined,"₸"],"LAK":[undefined,"₭",0],"LBP":[undefined,"L£",0],"LKR":[undefined,"Rs"],"LRD":[undefined,"$"],"LTL":[undefined,"Lt"],"LUF":[undefined,undefined,0],"LVL":[undefined,"Ls"],"LYD":[undefined,undefined,3],"MGA":[undefined,"Ar",0],"MGF":[undefined,undefined,0],"MMK":[undefined,"K",0],"MNT":[undefined,"₮",2],"MRO":[undefined,undefined,0],"MUR":[undefined,"Rs",2],"MXN":["MX$","$"],"MYR":[undefined,"RM"],"NAD":[undefined,"$"],"NGN":[undefined,"₦"],"NIO":[undefined,"C$"],"NOK":[undefined,"kr",2],"NPR":[undefined,"Rs"],"NZD":["NZ$","$"],"OMR":[undefined,undefined,3],"PHP":["₱"],"PKR":[undefined,"Rs",2],"PLN":[undefined,"zł"],"PYG":[undefined,"₲",0],"RON":[undefined,"lei"],"RSD":[undefined,undefined,0],"RUB":[undefined,"₽"],"RWF":[undefined,"RF",0],"SBD":[undefined,"$"],"SEK":[undefined,"kr",2],"SGD":[undefined,"$"],"SHP":[undefined,"£"],"SLE":[undefined,undefined,2],"SLL":[undefined,undefined,0],"SOS":[undefined,undefined,0],"SRD":[undefined,"$"],"SSP":[undefined,"£"],"STD":[undefined,undefined,0],"STN":[undefined,"Db"],"SYP":[undefined,"£",0],"THB":[undefined,"฿"],"TMM":[undefined,undefined,0],"TND":[undefined,undefined,3],"TOP":[undefined,"T$"],"TRL":[undefined,undefined,0],"TRY":[undefined,"₺"],"TTD":[undefined,"$"],"TWD":["NT$","$",2],"TZS":[undefined,undefined,2],"UAH":[undefined,"₴"],"UGX":[undefined,undefined,0],"USD":["$"],"UYI":[undefined,undefined,0],"UYU":[undefined,"$"],"UYW":[undefined,undefined,4],"UZS":[undefined,undefined,2],"VEF":[undefined,"Bs",2],"VND":["₫",undefined,0],"VUV":[undefined,undefined,0],"XAF":["FCFA",undefined,0],"XCD":["EC$","$"],"XCG":["Cg."],"XOF":["F CFA",undefined,0],"XPF":["CFPF",undefined,0],"XXX":["¤"],"YER":[undefined,undefined,0],"ZAR":[undefined,"R"],"ZMK":[undefined,undefined,0],"ZMW":[undefined,"ZK"],"ZWD":[undefined,undefined,0]};

packages/common/test/i18n/format_date_spec.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ describe('Format date', () => {
273273
);
274274
});
275275

276-
const nightTime = new Date(2015, 5, 15, 2, 3, 1, 550);
276+
const nightTime = new Date(2015, 5, 15, 22, 3, 1, 550);
277277
Object.keys(midnightCrossingPeriods).forEach((pattern) => {
278278
expectDateFormatAs(nightTime, pattern, midnightCrossingPeriods[pattern]);
279279
});
@@ -336,14 +336,14 @@ describe('Format date', () => {
336336
mediumDate: 'Jun 15, 2015',
337337
longDate: 'June 15, 2015',
338338
fullDate: 'Monday, June 15, 2015',
339-
short: '6/15/15, 9:03 AM',
340-
medium: 'Jun 15, 2015, 9:03:01 AM',
341-
long: /June 15, 2015 at 9:03:01 AM GMT(\+|-)\d/,
342-
full: /Monday, June 15, 2015 at 9:03:01 AM GMT(\+|-)\d{2}:\d{2}/,
343-
shortTime: '9:03 AM',
344-
mediumTime: '9:03:01 AM',
345-
longTime: /9:03:01 AM GMT(\+|-)\d/,
346-
fullTime: /9:03:01 AM GMT(\+|-)\d{2}:\d{2}/,
339+
short: '6/15/15, 9:03AM',
340+
medium: 'Jun 15, 2015, 9:03:01AM',
341+
long: /June 15, 2015, 9:03:01AM GMT(\+|-)\d/,
342+
full: /Monday, June 15, 2015, 9:03:01AM GMT(\+|-)\d{2}:\d{2}/,
343+
shortTime: '9:03AM',
344+
mediumTime: '9:03:01AM',
345+
longTime: /9:03:01AM GMT(\+|-)\d/,
346+
fullTime: /9:03:01AM GMT(\+|-)\d{2}:\d{2}/,
347347
};
348348

349349
Object.keys(dateFixtures).forEach((pattern: string) => {
@@ -383,7 +383,7 @@ describe('Format date', () => {
383383
it('should show the correct time when the timezone is fixed', () => {
384384
expect(
385385
formatDate('2017-06-13T10:14:39+0000', 'shortTime', ɵDEFAULT_LOCALE_ID, '+0000'),
386-
).toEqual('10:14 AM');
386+
).toEqual('10:14AM');
387387
expect(formatDate('2017-06-13T10:14:39+0000', 'h:mm a', ɵDEFAULT_LOCALE_ID, '+0000')).toEqual(
388388
'10:14 AM',
389389
);
@@ -420,7 +420,7 @@ describe('Format date', () => {
420420

421421
it(`should format the date correctly in various locales`, () => {
422422
expect(formatDate(date, 'short', 'de')).toEqual('15.06.15, 09:03');
423-
expect(formatDate(date, 'short', 'ar')).toEqual('15‏/6‏/2015, 9:03 ص');
423+
expect(formatDate(date, 'short', 'ar')).toEqual('15‏/6‏/2015، 9:03 ص');
424424
expect(formatDate(date, 'dd-MM-yy', 'th')).toEqual('15-06-15');
425425
expect(formatDate(date, 'a', 'hu')).toEqual('de.');
426426
expect(formatDate(date, 'a', 'sr')).toEqual('AM');
@@ -517,11 +517,11 @@ describe('Format date', () => {
517517

518518
const date1 = formatDate(isoDate, 'long', 'en', 'America/New_York');
519519
const date2 = formatDate(isoDate, 'long', 'en', 'EST');
520-
expect(date1).toBe('February 17, 2024 at 12:00:00 PM GMT+0');
521-
expect(date2).toBe('February 17, 2024 at 7:00:00 AM GMT-5');
520+
expect(date1).toBe('February 17, 2024, 12:00:00PM GMT+0');
521+
expect(date2).toBe('February 17, 2024, 7:00:00AM GMT-5');
522522

523523
const date3 = formatDate(isoDate, 'long', 'en', '+0500');
524-
expect(date3).toBe('February 17, 2024 at 5:00:00 PM GMT+5');
524+
expect(date3).toBe('February 17, 2024, 5:00:00PM GMT+5');
525525
});
526526

527527
it('should return thursday date of the same week', () => {

packages/core/src/i18n/locale_en.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ if (i === 1 && v === 0)
1717
return 5;
1818
}
1919

20-
export default ["en",[["a","p"],["AM","PM"]],[["AM","PM"]],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],u,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],u,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",u,"{1} 'at' {0}",u],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr", plural];
20+
export default ["en",[["a","p"],["AM","PM"]],[["AM","PM"]],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],u,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],u,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mma","h:mm:ssa","h:mm:ssa z","h:mm:ssa zzzz"],["{1}, {0}",u,u,u],[".",",",";","%","+","-","E","×","‰","∞","NaN",":"],["#,##0.###","#,##0%","¤#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr", plural];

0 commit comments

Comments
 (0)