public static string Format(this DictionaryModel model, CultureInfo culture, int count, params object[] args)
        {
            string dictionaryValue = model.ToString(culture);

            string[] pluralizedValues = dictionaryValue.Split('|').Select(x => x.Trim()).ToArray();
            if (pluralizedValues.Length <= 1)
            {
                return(dictionaryValue);
            }

            IPluralizationRule pluralizationRule =
                Current.Factory.GetAllInstances <IPluralizationRule>().SingleOrDefault(x => x.Cultures.Contains(culture))
                ?? new DefaultPluralizationRule();

            int index = pluralizationRule.GetChoiceIndex(count, pluralizedValues.Length);

            if (index >= pluralizedValues.Length)
            {
                return(dictionaryValue);
            }

            dictionaryValue = pluralizedValues[index]
                              .Replace("{n}", count.ToString())
                              .Replace("{count}", count.ToString());

            return(string.Format(dictionaryValue, args));
        }
        public static string Format(this DictionaryModel model, CultureInfo culture, params object[] args)
        {
            string dictionaryValue = model.ToString(culture);

            return(string.Format(dictionaryValue, args));
        }