Require `Locale` to be passed as a parameter to `localize()`

finchie
Feb 14, 2024, 6:56 AM
EMXNTYAMGWISSMAFQDBVGZ67OLM2SKZFH23J4ZWC5YSEAFAFL2JQC

Dependencies

  • [2] NFHPBRB5 Support named fields in enum variants
  • [3] BMUMO42I Add support for inline string and number literals
  • [4] UOMQT7LT Add support for cardinal CLDR plural selectors
  • [5] K4XW4OBW Create derive macro helper function for simple enums
  • [*] O77KA6C4 Create `fluent_embed` crate

Change contents

  • replacement in fluent_embed/src/lib.rs at line 95
    [3.889][3.889:936]()
    fn localize(&self) -> String {
    [3.889]
    [3.936]
    fn localize(&self, plural_rules: &::icu_plurals::PluralRules) -> String {
  • replacement in fluent_embed/src/lib.rs at line 134
    [3.583][3.583:974]()
    {
    // FIXME: this is a hack and should be cleaned up later
    use icu_locid::locale;
    use icu_plurals::{PluralCategory, PluralRuleType, PluralRules};
    let plural_rules = PluralRules::try_new(&locale!("en").into(), PluralRuleType::Cardinal)
    .expect("locale should be present");
    [3.583]
    [3.974]
    match plural_rules.category_for(*#match_target) {
    #(#match_arms),*
    }
  • edit in fluent_embed/src/lib.rs at line 138
    [3.975][2.644:714](),[2.714][3.1044:1125](),[3.1044][3.1044:1125]()
    match plural_rules.category_for(*#match_target) {
    #(#match_arms),*
    }
    }
  • replacement in fluent_embed/src/lib.rs at line 190
    [3.2124][3.2124:2173]()
    parse_quote!(PluralCategory::#ident)
    [3.2124]
    [3.2173]
    parse_quote!(::icu_plurals::PluralCategory::#ident)