Beispiel #1
0
        public void PluralRuleRepository_GetPluralRuleset(string locale, int pluralForms)
        {
            IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale);

            Assert.AreEqual(locale, ruleset.Language, "The language does not match.");
            Assert.AreEqual(pluralForms, ruleset.PluralForms.Count() + 1, "The number of plural forms does not match.");
        }
        /*********
        ** Protected methods
        *********/
        /// <summary>Get the plural form of a word for an arbitrary quantity.</summary>
        /// <param name="quantity">The quantity for which to pluralise a word.</param>
        /// <param name="forms">The available plural forms of a word.</param>
        private static string GetPlural(decimal quantity, params string[] forms)
        {
            string         locale  = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
            IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale);
            int            form    = ruleset.SelectForm(quantity);

            if (forms.Length > form)
            {
                return(forms[form]);
            }
            return(forms[forms.Length - 1]);
        }
Beispiel #3
0
        public int PluralRuleset_SelectForm(string locale, decimal quantity)
        {
            IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale);

            return(ruleset.SelectForm(quantity));
        }