private void InitializeExtensions(LocalizationResourceInitializationContext context) { foreach (var extension in Extensions) { extension.Initialize(context); DictionaryProvider.Extend(extension); } }
public virtual void Initialize(IServiceProvider serviceProvider) { var context = new LocalizationResourceInitializationContext(this, serviceProvider); Dictionaries.Clear(); InitializeContributors(context); foreach (var contributor in Contributors) { contributor.Updated += (sender, args) => { Dictionaries.Clear(); InitializeContributors(context); }; } }
protected virtual void InitializeContributors(LocalizationResourceInitializationContext context) { foreach (var contributor in Contributors) { foreach (var dictionary in contributor.GetDictionaries(context)) { var existingDictionary = Dictionaries.GetOrDefault(dictionary.CultureName); if (existingDictionary == null) { Dictionaries[dictionary.CultureName] = dictionary; } else { existingDictionary.Extend(dictionary); } } } }
private StringLocalizerCacheItem CreateStringLocalizerCacheItem(LocalizationResource resource) { foreach (var globalContributor in AbpLocalizationOptions.GlobalContributors) { resource.Contributors.Add((ILocalizationResourceContributor)Activator.CreateInstance(globalContributor)); } var context = new LocalizationResourceInitializationContext(resource, ServiceProvider); foreach (var contributor in resource.Contributors) { contributor.Initialize(context); } return(new StringLocalizerCacheItem( new AbpDictionaryBasedStringLocalizer( resource, resource.BaseResourceTypes.Select(Create).ToList() ) )); }
public virtual void Initialize(IServiceProvider serviceProvider) { //TODO: We should refactor here to create a better design! var context = new LocalizationResourceInitializationContext(serviceProvider); InitializeDictionaryProvider(context); InitializeExtensions(context); DictionaryProvider.Updated += (sender, args) => { InitializeExtensions(context); }; foreach (var extension in Extensions) { extension.Updated += (sender, args) => { InitializeDictionaryProvider(context); InitializeExtensions(context); }; } }
private void InitializeDictionaryProvider(LocalizationResourceInitializationContext context) { DictionaryProvider.Initialize(context); }
public abstract List <ILocalizationDictionary> GetDictionaries(LocalizationResourceInitializationContext context);
public virtual void Initialize(LocalizationResourceInitializationContext context) { }