public Localizer (Localizer fallback) { _fallback = fallback; }
private static void FillLocalizer (Localizer loc, ITemplateSet templates) { for (Template t = templates.GetNextTemplate(); t != null; t = templates.GetNextTemplate()) { if (string.IsNullOrEmpty(t.Translation)) loc.Remove(t.Tag); else loc.Add(t.Tag, t.Translation); } }
private void CacheLocalizer (CultureInfo culture, Localizer loc) { _localizers.Add(culture, loc); }
private static Localizer CreateLocalizer(Localizer fallback, string culture, IEnumerable<ITemplateProvider> providers) { Localizer loc = null; foreach (ITemplateProvider provider in providers) { using (ITemplateSet templates = provider.Load(culture)) { if (templates != null) { if (loc == null) loc = new Localizer(fallback); FillLocalizer(loc, templates); } } } return loc; }