From 53831d6e41ec7a8d6b89ab0afbe4d5779834712d Mon Sep 17 00:00:00 2001 From: jedel1043 Date: Sun, 1 Oct 2023 23:23:27 -0600 Subject: [PATCH] Use CLDR string representation --- components/plurals/src/provider.rs | 23 +++++++++++-------- .../data/json/plurals/ranges@1/ar-EG.json | 10 ++++---- .../tests/data/json/plurals/ranges@1/ar.json | 10 ++++---- .../data/json/plurals/ranges@1/en-001.json | 2 +- .../data/json/plurals/ranges@1/en-ZA.json | 2 +- .../tests/data/json/plurals/ranges@1/en.json | 2 +- .../data/json/plurals/ranges@1/es-AR.json | 2 +- .../tests/data/json/plurals/ranges@1/es.json | 2 +- 8 files changed, 28 insertions(+), 25 deletions(-) diff --git a/components/plurals/src/provider.rs b/components/plurals/src/provider.rs index 4c12839cff3..6ff2340ae33 100644 --- a/components/plurals/src/provider.rs +++ b/components/plurals/src/provider.rs @@ -113,6 +113,10 @@ impl DataMarker for ErasedPluralRulesV1Marker { #[cfg_attr(feature = "serde", derive(serde::Deserialize))] #[zerovec::make_ule(RawPluralCategoryULE)] #[repr(u8)] +#[cfg_attr( + any(feature = "datagen", feature = "serde"), + serde(rename_all = "lowercase") +)] pub enum RawPluralCategory { /// CLDR "other" plural category. Other = 0, @@ -133,12 +137,12 @@ impl RawPluralCategory { #[cfg(any(feature = "datagen", feature = "serde"))] const fn as_str(self) -> &'static str { match self { - Self::Other => "Other", - Self::Zero => "Zero", - Self::One => "One", - Self::Two => "Two", - Self::Few => "Few", - Self::Many => "Many", + Self::Other => "other", + Self::Zero => "zero", + Self::One => "one", + Self::Two => "two", + Self::Few => "few", + Self::Many => "many", } } } @@ -193,7 +197,6 @@ impl serde::Serialize for UnvalidatedPluralRange { where S: serde::Serializer, { - use core::fmt::Write; use serde::ser::Error; struct PrettyPrinter(RawPluralCategory, RawPluralCategory); @@ -201,7 +204,7 @@ impl serde::Serialize for UnvalidatedPluralRange { impl core::fmt::Display for PrettyPrinter { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { f.write_str(self.0.as_str())?; - f.write_char('-')?; + f.write_str("--")?; f.write_str(self.1.as_str()) } } @@ -252,8 +255,8 @@ impl<'de> serde::Deserialize<'de> for UnvalidatedPluralRange { ]; let (start, end) = v - .split_once('-') - .ok_or_else(|| E::custom("expected token `-` in plural range"))?; + .split_once("--") + .ok_or_else(|| E::custom("expected token `--` in plural range"))?; let start = PluralCategory::get_for_cldr_string(start) .ok_or_else(|| E::unknown_variant(start, &VARIANTS))?; diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/ar-EG.json b/provider/datagen/tests/data/json/plurals/ranges@1/ar-EG.json index b45974274a8..0ffe6d47392 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/ar-EG.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/ar-EG.json @@ -1,9 +1,9 @@ { "ranges": { - "Other-One": "Other", - "Other-Two": "Other", - "Zero-One": "Zero", - "Zero-Two": "Zero", - "One-Two": "Other" + "other--one": "other", + "other--two": "other", + "zero--one": "zero", + "zero--two": "zero", + "one--two": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/ar.json b/provider/datagen/tests/data/json/plurals/ranges@1/ar.json index b45974274a8..0ffe6d47392 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/ar.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/ar.json @@ -1,9 +1,9 @@ { "ranges": { - "Other-One": "Other", - "Other-Two": "Other", - "Zero-One": "Zero", - "Zero-Two": "Zero", - "One-Two": "Other" + "other--one": "other", + "other--two": "other", + "zero--one": "zero", + "zero--two": "zero", + "one--two": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/en-001.json b/provider/datagen/tests/data/json/plurals/ranges@1/en-001.json index 3f547964c38..1fc92dd2aaf 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/en-001.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/en-001.json @@ -1,5 +1,5 @@ { "ranges": { - "Other-One": "Other" + "other--one": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/en-ZA.json b/provider/datagen/tests/data/json/plurals/ranges@1/en-ZA.json index 3f547964c38..1fc92dd2aaf 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/en-ZA.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/en-ZA.json @@ -1,5 +1,5 @@ { "ranges": { - "Other-One": "Other" + "other--one": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/en.json b/provider/datagen/tests/data/json/plurals/ranges@1/en.json index 3f547964c38..1fc92dd2aaf 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/en.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/en.json @@ -1,5 +1,5 @@ { "ranges": { - "Other-One": "Other" + "other--one": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/es-AR.json b/provider/datagen/tests/data/json/plurals/ranges@1/es-AR.json index 3f547964c38..1fc92dd2aaf 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/es-AR.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/es-AR.json @@ -1,5 +1,5 @@ { "ranges": { - "Other-One": "Other" + "other--one": "other" } } diff --git a/provider/datagen/tests/data/json/plurals/ranges@1/es.json b/provider/datagen/tests/data/json/plurals/ranges@1/es.json index 3f547964c38..1fc92dd2aaf 100644 --- a/provider/datagen/tests/data/json/plurals/ranges@1/es.json +++ b/provider/datagen/tests/data/json/plurals/ranges@1/es.json @@ -1,5 +1,5 @@ { "ranges": { - "Other-One": "Other" + "other--one": "other" } }