Expand description
Multilingual noun singularization and pluralization.
i18n_inflector provides functions to convert between singular and plural forms of nouns across
ISO 639 two-letter language codes.
§Quick Start
use i18n_inflector::{language_rules, LanguageRules};
// English
let en = language_rules("en").unwrap();
assert_eq!(en.singularize("users"), "user");
assert_eq!(en.singularize("categories"), "category");
assert_eq!(en.singularize("children"), "child");
let plurals = en.pluralize("user");
assert!(plurals.iter().any(|v| v == "users"));
// Spanish
assert_eq!(language_rules("es").unwrap().singularize("ciudades"), "ciudad");
// French
assert_eq!(language_rules("fr").unwrap().singularize("journaux"), "journal");
// Japanese
assert_eq!(language_rules("ja").unwrap().singularize("user"), "user");
// Unsupported locale returns an error
assert!(language_rules("xx").is_err());Structs§
- Error
- An error returned when an unsupported locale is provided.
- Language
Rule Set - A concrete implementation of
LanguageRulesbacked by function pointers.
Traits§
- Language
Rules - A standardized interface for language-specific inflection rules.
Functions§
- language_
rules - Returns the
LanguageRuleSetfor the given locale.
Type Aliases§
- Result
- Result type for inflector operations.