Skip to content

Commit

Permalink
Use CLDR string representation
Browse files Browse the repository at this point in the history
  • Loading branch information
jedel1043 committed Oct 2, 2023
1 parent b1e132a commit 53831d6
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 25 deletions.
23 changes: 13 additions & 10 deletions components/plurals/src/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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",
}
}
}
Expand Down Expand Up @@ -193,15 +197,14 @@ impl serde::Serialize for UnvalidatedPluralRange {
where
S: serde::Serializer,
{
use core::fmt::Write;
use serde::ser::Error;

struct PrettyPrinter(RawPluralCategory, RawPluralCategory);

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())
}
}
Expand Down Expand Up @@ -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))?;
Expand Down
10 changes: 5 additions & 5 deletions provider/datagen/tests/data/json/plurals/ranges@1/ar-EG.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions provider/datagen/tests/data/json/plurals/ranges@1/ar.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion provider/datagen/tests/data/json/plurals/ranges@1/en.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion provider/datagen/tests/data/json/plurals/ranges@1/es.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 53831d6

Please sign in to comment.