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)); }