Browse Source

Minor refactor.

pull/179/head
Halil İbrahim Kalkan 9 years ago
parent
commit
31fa23ccc8
  1. 7
      src/Volo.Abp/Volo/Abp/Localization/AbpStringLocalizerFactory.cs
  2. 2
      src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionary.cs
  3. 8
      src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionary.cs
  4. 10
      src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs

7
src/Volo.Abp/Volo/Abp/Localization/AbpStringLocalizerFactory.cs

@ -48,9 +48,10 @@ namespace Volo.Abp.Localization
//Notes: Localizer will be cached, so wrappers are responsible to cache/invalidate themselves! //Notes: Localizer will be cached, so wrappers are responsible to cache/invalidate themselves!
var baseLocalizers = resource.BaseResourceTypes.Select(Create).ToList(); var localizer = new AbpDictionaryBasedStringLocalizer(
resource,
var localizer = new AbpDictionaryBasedStringLocalizer(resource, baseLocalizers); resource.BaseResourceTypes.Select(Create).ToList()
);
//TODO: Wrap with DB provider or other premium sources //TODO: Wrap with DB provider or other premium sources

2
src/Volo.Abp/Volo/Abp/Localization/ILocalizationDictionary.cs

@ -27,5 +27,7 @@ namespace Volo.Abp.Localization
/// </summary> /// </summary>
/// <returns>List of all <see cref="LocalString"/> object</returns> /// <returns>List of all <see cref="LocalString"/> object</returns>
IReadOnlyList<LocalString> GetAllStrings(); IReadOnlyList<LocalString> GetAllStrings();
void Extend(ILocalizationDictionary dictionary);
} }
} }

8
src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionary.cs

@ -43,6 +43,14 @@ namespace Volo.Abp.Localization
return _dictionary.Values.ToImmutableList(); return _dictionary.Values.ToImmutableList();
} }
public void Extend(ILocalizationDictionary dictionary)
{
foreach (var localizedString in dictionary.GetAllStrings())
{
this[localizedString.Name] = localizedString;
}
}
/// <inheritdoc/> /// <inheritdoc/>
public virtual IEnumerator<LocalString> GetEnumerator() public virtual IEnumerator<LocalString> GetEnumerator()
{ {

10
src/Volo.Abp/Volo/Abp/Localization/LocalizationDictionaryProviderBase.cs

@ -34,15 +34,7 @@ namespace Volo.Abp.Localization
} }
else else
{ {
Overwrite(existingDictionary, dictionary); existingDictionary.Extend(dictionary);
}
}
protected virtual void Overwrite(ILocalizationDictionary existingDictionary, ILocalizationDictionary dictionary)
{
foreach (var localizedString in dictionary.GetAllStrings())
{
existingDictionary[localizedString.Name] = localizedString;
} }
} }
} }

Loading…
Cancel
Save