| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System.Collections.Generic;
- namespace Abp.Localization.Dictionaries.Xml
- {
- public abstract class LocalizationDictionaryProviderBase : ILocalizationDictionaryProvider
- {
- public string SourceName { get; private set; }
- public ILocalizationDictionary DefaultDictionary { get; protected set; }
- public IDictionary<string, ILocalizationDictionary> Dictionaries { get; private set; }
- protected LocalizationDictionaryProviderBase()
- {
- Dictionaries = new Dictionary<string, ILocalizationDictionary>();
- }
- public virtual void Initialize(string sourceName)
- {
- SourceName = sourceName;
- }
- public void Extend(ILocalizationDictionary dictionary)
- {
- //Add
- ILocalizationDictionary existingDictionary;
- if (!Dictionaries.TryGetValue(dictionary.CultureInfo.Name, out existingDictionary))
- {
- Dictionaries[dictionary.CultureInfo.Name] = dictionary;
- return;
- }
- //Override
- var localizedStrings = dictionary.GetAllStrings();
- foreach (var localizedString in localizedStrings)
- {
- existingDictionary[localizedString.Name] = localizedString.Value;
- }
- }
- }
- }
|