using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Umbraco.Core.Services { /// /// Extension methods for ILocalizedTextService /// public static class LocalizedTextServiceExtensions { /// /// Localize a key without any variables /// /// /// /// /// /// public static string Localize(this ILocalizedTextService manager, string key, CultureInfo culture, string[] tokens) { return manager.Localize(key, culture, ConvertToDictionaryVars(tokens)); } /// /// Convert an array of strings to a dictionary of indicies -> values /// /// /// internal static IDictionary ConvertToDictionaryVars(string[] variables) { if (variables == null) return null; if (variables.Any() == false) return null; return variables.Select((s, i) => new { index = i.ToString(CultureInfo.InvariantCulture), value = s }) .ToDictionary(keyvals => keyvals.index, keyvals => keyvals.value); } } }