Still not an ideal solution, as it implicity relies on icu_plurals being imported by the user, but at least now the locale is controlled by the caller, which is much cleaner and removes duplicated code/work.
EMXNTYAMGWISSMAFQDBVGZ67OLM2SKZFH23J4ZWC5YSEAFAFL2JQC {// FIXME: this is a hack and should be cleaned up lateruse 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");
match plural_rules.category_for(*#match_target) {#(#match_arms),*}