From 22102899ac20348c1db19132bd3f10251ed7449b Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Thu, 15 Aug 2024 15:57:06 +0200 Subject: [PATCH 1/6] Add Intl --- features/intl.yml | 92 ++++++++++ features/intl.yml.dist | 382 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 474 insertions(+) create mode 100644 features/intl.yml create mode 100644 features/intl.yml.dist diff --git a/features/intl.yml b/features/intl.yml new file mode 100644 index 00000000000..2ba1e6ae045 --- /dev/null +++ b/features/intl.yml @@ -0,0 +1,92 @@ +name: Internationalization API +description: "The `Intl` API provides language sensitive string comparison, number formatting, date and time formatting, and more." +group: intl +spec: https://tc39.es/ecma402/#introduction +caniuse: internationalization +status: + compute_from: javascript.builtins.Intl +compat_features: + - javascript.builtins.Intl + - javascript.builtins.Intl.getCanonicalLocales + - javascript.builtins.Intl.supportedValuesOf + - javascript.builtins.Intl.Collator + - javascript.builtins.Intl.Collator.Collator + - javascript.builtins.Intl.Collator.Collator.options_caseFirst_parameter + - javascript.builtins.Intl.Collator.Collator.options_collation_parameter + - javascript.builtins.Intl.Collator.Collator.options_ignorePunctuation_parameter + - javascript.builtins.Intl.Collator.Collator.options_localeMatcher_parameter + - javascript.builtins.Intl.Collator.Collator.options_numeric_parameter + - javascript.builtins.Intl.Collator.Collator.options_sensitivity_parameter + - javascript.builtins.Intl.Collator.Collator.options_usage_parameter + - javascript.builtins.Intl.Collator.compare + - javascript.builtins.Intl.Collator.resolvedOptions + - javascript.builtins.Intl.Collator.supportedLocalesOf + - javascript.builtins.Intl.DateTimeFormat + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.locales_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_calendar_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dateStyle_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dayPeriod_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_fractionalSecondDigits_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_hourCycle_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_numberingSystem_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeStyle_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.iana_time_zones + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter.extended_values + - javascript.builtins.Intl.DateTimeFormat.format + - javascript.builtins.Intl.DateTimeFormat.formatRange + - javascript.builtins.Intl.DateTimeFormat.formatRangeToParts + - javascript.builtins.Intl.DateTimeFormat.formatToParts + - javascript.builtins.Intl.DateTimeFormat.resolvedOptions + - javascript.builtins.Intl.DateTimeFormat.resolvedOptions.computed_timezone + - javascript.builtins.Intl.DateTimeFormat.supportedLocalesOf + - javascript.builtins.Intl.NumberFormat + - javascript.builtins.Intl.NumberFormat.NumberFormat + - javascript.builtins.Intl.NumberFormat.NumberFormat.locales_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_compactDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currency_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencyDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencySign_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_localeMatcher_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumFractionDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumSignificantDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumFractionDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumIntegerDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumSignificantDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_notation_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_numberingSystem_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingIncrement_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingMode_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingPriority_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter.negative + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_style_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_trailingZeroDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unit_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unitDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter + - javascript.builtins.Intl.NumberFormat.format + - javascript.builtins.Intl.NumberFormat.format.number_parameter-string_decimal + - javascript.builtins.Intl.NumberFormat.formatRange + - javascript.builtins.Intl.NumberFormat.formatRangeToParts + - javascript.builtins.Intl.NumberFormat.formatToParts + - javascript.builtins.Intl.NumberFormat.resolvedOptions + #- javascript.builtins.Array.toLocaleString + - javascript.builtins.Array.toLocaleString.locales_parameter + - javascript.builtins.Array.toLocaleString.options_parameter + #- javascript.builtins.BigInt.toLocaleString + - javascript.builtins.BigInt.toLocaleString.locales_parameter + - javascript.builtins.BigInt.toLocaleString.options_parameter + - javascript.builtins.Date.toLocaleString + - javascript.builtins.Date.toLocaleString.iana_time_zone_names + - javascript.builtins.Date.toLocaleString.locales_parameter + - javascript.builtins.Date.toLocaleString.options_parameter + - javascript.builtins.Number.toLocaleString + - javascript.builtins.Number.toLocaleString.locales_parameter + - javascript.builtins.Number.toLocaleString.options_parameter + - javascript.builtins.Object.toLocaleString + #- javascript.builtins.TypedArray.toLocaleString diff --git a/features/intl.yml.dist b/features/intl.yml.dist new file mode 100644 index 00000000000..f3303467dd3 --- /dev/null +++ b/features/intl.yml.dist @@ -0,0 +1,382 @@ +# Generated from: intl.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2017-09-28 + baseline_high_date: 2020-03-28 + support: + chrome: "24" + chrome_android: "25" + edge: "12" + firefox: "29" + firefox_android: "56" + safari: "10" + safari_ios: "10" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - javascript.builtins.Date.toLocaleString + - javascript.builtins.Number.toLocaleString + - javascript.builtins.Object.toLocaleString + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2017-09-28 + # baseline_high_date: 2020-03-28 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "12" + # firefox: "29" + # firefox_android: "56" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Date.toLocaleString.locales_parameter + - javascript.builtins.Date.toLocaleString.options_parameter + - javascript.builtins.Intl + - javascript.builtins.Intl.Collator + - javascript.builtins.Intl.Collator.Collator + - javascript.builtins.Intl.Collator.compare + - javascript.builtins.Intl.Collator.resolvedOptions + - javascript.builtins.Intl.Collator.supportedLocalesOf + - javascript.builtins.Intl.DateTimeFormat + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.locales_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter + - javascript.builtins.Intl.DateTimeFormat.format + - javascript.builtins.Intl.DateTimeFormat.resolvedOptions + - javascript.builtins.Intl.DateTimeFormat.supportedLocalesOf + - javascript.builtins.Intl.NumberFormat + - javascript.builtins.Intl.NumberFormat.NumberFormat + - javascript.builtins.Intl.NumberFormat.NumberFormat.locales_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currency_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_localeMatcher_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumFractionDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumSignificantDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumFractionDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumIntegerDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumSignificantDigits_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_numberingSystem_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_style_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter + - javascript.builtins.Intl.NumberFormat.format + - javascript.builtins.Intl.NumberFormat.resolvedOptions + + # baseline: high + # baseline_low_date: 2017-09-28 + # baseline_high_date: 2020-03-28 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "14" + # firefox: "52" + # firefox_android: "56" + # safari: "7" + # safari_ios: "7" + - javascript.builtins.Date.toLocaleString.iana_time_zone_names + + # baseline: high + # baseline_low_date: 2017-09-28 + # baseline_high_date: 2020-03-28 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "14" + # firefox: "52" + # firefox_android: "56" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.iana_time_zones + + # baseline: high + # baseline_low_date: 2017-09-28 + # baseline_high_date: 2020-03-28 + # support: + # chrome: "24" + # chrome_android: "26" + # edge: "12" + # firefox: "29" + # firefox_android: "56" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Number.toLocaleString.locales_parameter + - javascript.builtins.Number.toLocaleString.options_parameter + + # baseline: high + # baseline_low_date: 2017-09-28 + # baseline_high_date: 2020-03-28 + # support: + # chrome: "35" + # chrome_android: "35" + # edge: "14" + # firefox: "53" + # firefox_android: "56" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Intl.DateTimeFormat.resolvedOptions.computed_timezone + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "16" + # firefox: "48" + # firefox_android: "56" + # safari: "10.1" + # safari_ios: "10.3" + - javascript.builtins.Intl.getCanonicalLocales + + # baseline: high + # baseline_low_date: 2018-10-02 + # baseline_high_date: 2021-04-02 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "18" + # firefox: "55" + # firefox_android: "56" + # safari: "11" + # safari_ios: "11" + - javascript.builtins.Intl.Collator.Collator.options_caseFirst_parameter + + # baseline: high + # baseline_low_date: 2018-10-02 + # baseline_high_date: 2021-04-02 + # support: + # chrome: "57" + # chrome_android: "57" + # edge: "18" + # firefox: "51" + # firefox_android: "56" + # safari: "11" + # safari_ios: "11" + - javascript.builtins.Intl.DateTimeFormat.formatToParts + + # baseline: high + # baseline_low_date: 2019-09-19 + # baseline_high_date: 2022-03-19 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "12" + # firefox: "58" + # firefox_android: "58" + # safari: "13" + # safari_ios: "13" + - javascript.builtins.Intl.NumberFormat.formatToParts + + # baseline: high + # baseline_low_date: 2019-09-19 + # baseline_high_date: 2022-03-19 + # support: + # chrome: "73" + # chrome_android: "73" + # edge: "18" + # firefox: "58" + # firefox_android: "58" + # safari: "13" + # safari_ios: "13" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_hourCycle_parameter + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "79" + # firefox: "29" + # firefox_android: "56" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Intl.Collator.Collator.options_ignorePunctuation_parameter + - javascript.builtins.Intl.Collator.Collator.options_localeMatcher_parameter + - javascript.builtins.Intl.Collator.Collator.options_numeric_parameter + - javascript.builtins.Intl.Collator.Collator.options_sensitivity_parameter + - javascript.builtins.Intl.Collator.Collator.options_usage_parameter + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "79" + # firefox: "52" + # firefox_android: "56" + # safari: "7" + # safari_ios: "7" + - javascript.builtins.Array.toLocaleString.locales_parameter + - javascript.builtins.Array.toLocaleString.options_parameter + + # baseline: high + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 + # support: + # chrome: "76" + # chrome_android: "76" + # edge: "79" + # firefox: "70" + # firefox_android: "79" + # safari: "14" + # safari_ios: "14" + - javascript.builtins.BigInt.toLocaleString.locales_parameter + - javascript.builtins.BigInt.toLocaleString.options_parameter + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "76" + # chrome_android: "76" + # edge: "79" + # firefox: "79" + # firefox_android: "79" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dateStyle_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeStyle_parameter + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "77" + # chrome_android: "77" + # edge: "79" + # firefox: "78" + # firefox_android: "79" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_compactDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencyDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencySign_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_notation_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unitDisplay_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unit_parameter + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "80" + # chrome_android: "80" + # edge: "80" + # firefox: "76" + # firefox_android: "79" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_calendar_parameter + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_numberingSystem_parameter + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "84" + # chrome_android: "84" + # edge: "84" + # firefox: "84" + # firefox_android: "84" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_fractionalSecondDigits_parameter + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + # firefox: "85" + # firefox_android: "85" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.Collator.Collator.options_collation_parameter + + # baseline: high + # baseline_low_date: 2021-07-22 + # baseline_high_date: 2024-01-22 + # support: + # chrome: "92" + # chrome_android: "92" + # edge: "92" + # firefox: "90" + # firefox_android: "90" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dayPeriod_parameter + + # baseline: high + # baseline_low_date: 2021-08-10 + # baseline_high_date: 2024-02-10 + # support: + # chrome: "76" + # chrome_android: "76" + # edge: "79" + # firefox: "91" + # firefox_android: "91" + # safari: "14.1" + # safari_ios: "14.5" + - javascript.builtins.Intl.DateTimeFormat.formatRange + - javascript.builtins.Intl.DateTimeFormat.formatRangeToParts + + # baseline: low + # baseline_low_date: 2022-03-14 + # support: + # chrome: "95" + # chrome_android: "95" + # edge: "95" + # firefox: "91" + # firefox_android: "91" + # safari: "15.4" + # safari_ios: "15.4" + - javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter.extended_values + + # baseline: low + # baseline_low_date: 2022-03-14 + # support: + # chrome: "99" + # chrome_android: "99" + # edge: "99" + # firefox: "93" + # firefox_android: "93" + # safari: "15.4" + # safari_ios: "15.4" + - javascript.builtins.Intl.supportedValuesOf + + # baseline: low + # baseline_low_date: 2023-08-01 + # support: + # chrome: "106" + # chrome_android: "106" + # edge: "106" + # firefox: "116" + # firefox_android: "116" + # safari: "15.4" + # safari_ios: "15.4" + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingIncrement_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingMode_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingPriority_parameter + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter.negative + - javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_trailingZeroDisplay_parameter + - javascript.builtins.Intl.NumberFormat.format.number_parameter-string_decimal + - javascript.builtins.Intl.NumberFormat.formatRange + - javascript.builtins.Intl.NumberFormat.formatRangeToParts From 3a05ad1b34316cd52b285e82119d4099e4be9b36 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Fri, 16 Aug 2024 12:00:28 +0200 Subject: [PATCH 2/6] Add more Date locale keys --- features/intl.yml | 8 ++++++++ features/intl.yml.dist | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/features/intl.yml b/features/intl.yml index 2ba1e6ae045..52ea8b6e075 100644 --- a/features/intl.yml +++ b/features/intl.yml @@ -81,10 +81,18 @@ compat_features: #- javascript.builtins.BigInt.toLocaleString - javascript.builtins.BigInt.toLocaleString.locales_parameter - javascript.builtins.BigInt.toLocaleString.options_parameter + - javascript.builtins.Date.toLocaleDateString + - javascript.builtins.Date.toLocaleDateString.iana_time_zone_names + - javascript.builtins.Date.toLocaleDateString.locales_parameter + - javascript.builtins.Date.toLocaleDateString.options_parameter - javascript.builtins.Date.toLocaleString - javascript.builtins.Date.toLocaleString.iana_time_zone_names - javascript.builtins.Date.toLocaleString.locales_parameter - javascript.builtins.Date.toLocaleString.options_parameter + - javascript.builtins.Date.toLocaleTimeString + - javascript.builtins.Date.toLocaleTimeString.iana_time_zone_names + - javascript.builtins.Date.toLocaleTimeString.locales_parameter + - javascript.builtins.Date.toLocaleTimeString.options_parameter - javascript.builtins.Number.toLocaleString - javascript.builtins.Number.toLocaleString.locales_parameter - javascript.builtins.Number.toLocaleString.options_parameter diff --git a/features/intl.yml.dist b/features/intl.yml.dist index f3303467dd3..3a1ffc3a13b 100644 --- a/features/intl.yml.dist +++ b/features/intl.yml.dist @@ -25,7 +25,9 @@ compat_features: # firefox_android: "4" # safari: "1" # safari_ios: "1" + - javascript.builtins.Date.toLocaleDateString - javascript.builtins.Date.toLocaleString + - javascript.builtins.Date.toLocaleTimeString - javascript.builtins.Number.toLocaleString - javascript.builtins.Object.toLocaleString @@ -41,8 +43,12 @@ compat_features: # firefox_android: "56" # safari: "10" # safari_ios: "10" + - javascript.builtins.Date.toLocaleDateString.locales_parameter + - javascript.builtins.Date.toLocaleDateString.options_parameter - javascript.builtins.Date.toLocaleString.locales_parameter - javascript.builtins.Date.toLocaleString.options_parameter + - javascript.builtins.Date.toLocaleTimeString.locales_parameter + - javascript.builtins.Date.toLocaleTimeString.options_parameter - javascript.builtins.Intl - javascript.builtins.Intl.Collator - javascript.builtins.Intl.Collator.Collator @@ -86,7 +92,9 @@ compat_features: # firefox_android: "56" # safari: "7" # safari_ios: "7" + - javascript.builtins.Date.toLocaleDateString.iana_time_zone_names - javascript.builtins.Date.toLocaleString.iana_time_zone_names + - javascript.builtins.Date.toLocaleTimeString.iana_time_zone_names # baseline: high # baseline_low_date: 2017-09-28 From 92ead09b3253704159c94fabfe7136b6b6329e51 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Fri, 16 Aug 2024 12:09:43 +0200 Subject: [PATCH 3/6] Add more String locale keys --- features/intl.yml | 7 +++++++ features/intl.yml.dist | 43 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/features/intl.yml b/features/intl.yml index 52ea8b6e075..81d7df75624 100644 --- a/features/intl.yml +++ b/features/intl.yml @@ -97,4 +97,11 @@ compat_features: - javascript.builtins.Number.toLocaleString.locales_parameter - javascript.builtins.Number.toLocaleString.options_parameter - javascript.builtins.Object.toLocaleString + - javascript.builtins.String.localeCompare + - javascript.builtins.String.localeCompare.locales_parameter + - javascript.builtins.String.localeCompare.options_parameter + - javascript.builtins.String.toLocaleLowerCase + - javascript.builtins.String.toLocaleLowerCase.locale + - javascript.builtins.String.toLocaleUpperCase + - javascript.builtins.String.toLocaleUpperCase.locale #- javascript.builtins.TypedArray.toLocaleString diff --git a/features/intl.yml.dist b/features/intl.yml.dist index 3a1ffc3a13b..126cb9baeae 100644 --- a/features/intl.yml.dist +++ b/features/intl.yml.dist @@ -31,6 +31,47 @@ compat_features: - javascript.builtins.Number.toLocaleString - javascript.builtins.Object.toLocaleString + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1.3" + # safari_ios: "1" + - javascript.builtins.String.toLocaleLowerCase + - javascript.builtins.String.toLocaleUpperCase + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "3" + # safari_ios: "1" + - javascript.builtins.String.localeCompare + + # baseline: high + # baseline_low_date: 2017-08-08 + # baseline_high_date: 2020-02-08 + # support: + # chrome: "58" + # chrome_android: "58" + # edge: "12" + # firefox: "55" + # firefox_android: "55" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.String.toLocaleLowerCase.locale + - javascript.builtins.String.toLocaleUpperCase.locale + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2017-09-28 @@ -122,6 +163,8 @@ compat_features: # safari_ios: "10" - javascript.builtins.Number.toLocaleString.locales_parameter - javascript.builtins.Number.toLocaleString.options_parameter + - javascript.builtins.String.localeCompare.locales_parameter + - javascript.builtins.String.localeCompare.options_parameter # baseline: high # baseline_low_date: 2017-09-28 From 8d89bda249000360dd2a5402e36e6c5241ec9857 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 19 Aug 2024 14:22:59 +0200 Subject: [PATCH 4/6] Udpate per Daniel's feedback --- features/intl.yml | 5 ++++- groups/intl.yml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/features/intl.yml b/features/intl.yml index 81d7df75624..9437e391e0f 100644 --- a/features/intl.yml +++ b/features/intl.yml @@ -1,10 +1,13 @@ -name: Internationalization API +name: Intl description: "The `Intl` API provides language sensitive string comparison, number formatting, date and time formatting, and more." group: intl spec: https://tc39.es/ecma402/#introduction caniuse: internationalization status: compute_from: javascript.builtins.Intl +# We might want to break this feature up into smaller features. +# It is hard to determine how to slice the incremental Intl enhancements, though. +# See https://github.com/web-platform-dx/web-features/pull/1601#issuecomment-2296149060 compat_features: - javascript.builtins.Intl - javascript.builtins.Intl.getCanonicalLocales diff --git a/groups/intl.yml b/groups/intl.yml index 5bcc2770180..4b42afd5f8f 100644 --- a/groups/intl.yml +++ b/groups/intl.yml @@ -1,3 +1,3 @@ # JavaScript APIs for language- and region-specific string, number, and date handling. Also known as the Internationalization API. -name: Intl +name: Internationalization parent: javascript From 01ddf5bf56a60af12f136dfcd0863e610958b40e Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 19 Aug 2024 14:27:02 +0200 Subject: [PATCH 5/6] Re-add previously commented out keys --- features/intl.yml | 8 ++++---- features/intl.yml.dist | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/features/intl.yml b/features/intl.yml index 9437e391e0f..6b8caba8501 100644 --- a/features/intl.yml +++ b/features/intl.yml @@ -5,7 +5,7 @@ spec: https://tc39.es/ecma402/#introduction caniuse: internationalization status: compute_from: javascript.builtins.Intl -# We might want to break this feature up into smaller features. +# We might want to break this feature up into smaller features. # It is hard to determine how to slice the incremental Intl enhancements, though. # See https://github.com/web-platform-dx/web-features/pull/1601#issuecomment-2296149060 compat_features: @@ -78,10 +78,10 @@ compat_features: - javascript.builtins.Intl.NumberFormat.formatRangeToParts - javascript.builtins.Intl.NumberFormat.formatToParts - javascript.builtins.Intl.NumberFormat.resolvedOptions - #- javascript.builtins.Array.toLocaleString + - javascript.builtins.Array.toLocaleString - javascript.builtins.Array.toLocaleString.locales_parameter - javascript.builtins.Array.toLocaleString.options_parameter - #- javascript.builtins.BigInt.toLocaleString + - javascript.builtins.BigInt.toLocaleString - javascript.builtins.BigInt.toLocaleString.locales_parameter - javascript.builtins.BigInt.toLocaleString.options_parameter - javascript.builtins.Date.toLocaleDateString @@ -107,4 +107,4 @@ compat_features: - javascript.builtins.String.toLocaleLowerCase.locale - javascript.builtins.String.toLocaleUpperCase - javascript.builtins.String.toLocaleUpperCase.locale - #- javascript.builtins.TypedArray.toLocaleString + - javascript.builtins.TypedArray.toLocaleString diff --git a/features/intl.yml.dist b/features/intl.yml.dist index 126cb9baeae..379c0728b9b 100644 --- a/features/intl.yml.dist +++ b/features/intl.yml.dist @@ -25,6 +25,7 @@ compat_features: # firefox_android: "4" # safari: "1" # safari_ios: "1" + - javascript.builtins.Array.toLocaleString - javascript.builtins.Date.toLocaleDateString - javascript.builtins.Date.toLocaleString - javascript.builtins.Date.toLocaleTimeString @@ -58,6 +59,19 @@ compat_features: # safari_ios: "1" - javascript.builtins.String.localeCompare + # baseline: high + # baseline_low_date: 2017-01-24 + # baseline_high_date: 2019-07-24 + # support: + # chrome: "7" + # chrome_android: "18" + # edge: "12" + # firefox: "51" + # firefox_android: "51" + # safari: "5.1" + # safari_ios: "5" + - javascript.builtins.TypedArray.toLocaleString + # baseline: high # baseline_low_date: 2017-08-08 # baseline_high_date: 2020-02-08 @@ -275,6 +289,19 @@ compat_features: - javascript.builtins.Array.toLocaleString.locales_parameter - javascript.builtins.Array.toLocaleString.options_parameter + # baseline: high + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 + # support: + # chrome: "67" + # chrome_android: "67" + # edge: "79" + # firefox: "68" + # firefox_android: "68" + # safari: "14" + # safari_ios: "14" + - javascript.builtins.BigInt.toLocaleString + # baseline: high # baseline_low_date: 2020-09-16 # baseline_high_date: 2023-03-16 From 156a6cc3489525e623f411a76d8db42e024b4e87 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Wed, 21 Aug 2024 16:14:16 +0200 Subject: [PATCH 6/6] Fix formatting --- features/intl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/intl.yml b/features/intl.yml index 6b8caba8501..66ad9c4786d 100644 --- a/features/intl.yml +++ b/features/intl.yml @@ -5,7 +5,7 @@ spec: https://tc39.es/ecma402/#introduction caniuse: internationalization status: compute_from: javascript.builtins.Intl -# We might want to break this feature up into smaller features. +# We might want to break this feature up into smaller features. # It is hard to determine how to slice the incremental Intl enhancements, though. # See https://github.com/web-platform-dx/web-features/pull/1601#issuecomment-2296149060 compat_features: