Browse Source

Remove old/unused methods

pull/137/head
Halil İbrahim Kalkan 9 years ago
parent
commit
ab74af4314
  1. 33
      src/Volo.Abp/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs
  2. 4
      src/Volo.Abp/Volo/Abp/Localization/AbpStringLocalizerFactory.cs
  3. 54
      src/Volo.Abp/Volo/Abp/Localization/Json/JsonFileLocalizationDictionaryProvider.cs
  4. 15
      test/Volo.Abp.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs

33
src/Volo.Abp/Volo/Abp/Localization/AbpDictionaryBasedStringLocalizer.cs

@ -6,8 +6,6 @@ using Microsoft.Extensions.Localization;
namespace Volo.Abp.Localization namespace Volo.Abp.Localization
{ {
//TODO: Remove old/unused methods!
public class AbpDictionaryBasedStringLocalizer : IStringLocalizer public class AbpDictionaryBasedStringLocalizer : IStringLocalizer
{ {
public LocalizationResource Resource { get; } public LocalizationResource Resource { get; }
@ -27,29 +25,20 @@ namespace Volo.Abp.Localization
throw new NotImplementedException(); throw new NotImplementedException();
} }
LocalizedString IStringLocalizer.this[string name] public LocalizedString this[string name] => GetLocalizedString(name, CultureInfo.CurrentUICulture.Name);
{
get { return GetString(name); }
}
LocalizedString IStringLocalizer.this[string name, params object[] arguments] public LocalizedString this[string name, params object[] arguments]
{ {
get get
{ {
var localizedString = GetString(name); var localizedString = this[name];
return new LocalizedString(name, string.Format(localizedString.Value, arguments, localizedString.ResourceNotFound, localizedString.SearchedLocation)); return new LocalizedString(name, string.Format(localizedString.Value, arguments, localizedString.ResourceNotFound, localizedString.SearchedLocation));
} }
} }
public LocalizedString GetString(string name) protected virtual LocalizedString GetLocalizedString(string name, string cultureName)
{ {
return GetString(name, CultureInfo.CurrentUICulture.Name); var value = GetLocalizedStringOrNull(name, cultureName);
}
/// <inheritdoc/>
public LocalizedString GetString(string name, string cultureName)
{
var value = GetStringOrNull(name, cultureName);
if (value == null) if (value == null)
{ {
@ -59,12 +48,7 @@ namespace Volo.Abp.Localization
return value; return value;
} }
public LocalizedString GetStringOrNull(string name, bool tryDefaults = true) protected virtual LocalizedString GetLocalizedStringOrNull(string name, string cultureName, bool tryDefaults = true)
{
return GetStringOrNull(name, CultureInfo.CurrentUICulture.Name, tryDefaults);
}
public LocalizedString GetStringOrNull(string name, string cultureName, bool tryDefaults = true)
{ {
var dictionaries = Resource.DictionaryProvider.Dictionaries; var dictionaries = Resource.DictionaryProvider.Dictionaries;
@ -114,8 +98,7 @@ namespace Volo.Abp.Localization
return new LocalizedString(name, strDefault.Value); return new LocalizedString(name, strDefault.Value);
} }
/// <inheritdoc/> protected virtual IReadOnlyList<LocalizedString> GetAllStrings(string cultureName, bool includeDefaults = true)
public IReadOnlyList<LocalizedString> GetAllStrings(string cultureName, bool includeDefaults = true)
{ {
//TODO: Can be optimized (example: if it's already default dictionary, skip overriding) //TODO: Can be optimized (example: if it's already default dictionary, skip overriding)
@ -163,7 +146,7 @@ namespace Volo.Abp.Localization
return allStrings.Values.ToImmutableList(); return allStrings.Values.ToImmutableList();
} }
private static string GetBaseCultureName(string cultureName) protected virtual string GetBaseCultureName(string cultureName)
{ {
return cultureName.Contains("-") return cultureName.Contains("-")
? cultureName.Left(cultureName.IndexOf("-", StringComparison.Ordinal)) ? cultureName.Left(cultureName.IndexOf("-", StringComparison.Ordinal))

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

@ -46,11 +46,9 @@ namespace Volo.Abp.Localization
{ {
resource.Initialize(_serviceProvider); resource.Initialize(_serviceProvider);
//Use JSON/XML/...etc based provider that reads resource from source and creates a dictionary
//Extend dictionary with extensions //Extend dictionary with extensions
//Wrap reader by wrappers (like db wrapper which implement multitenancy/regions and so on...) //Wrap reader by wrappers (like db wrapper which implement multitenancy/regions and so on...)
//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 localizer = new AbpDictionaryBasedStringLocalizer(resource); //TODO: !!! var localizer = new AbpDictionaryBasedStringLocalizer(resource); //TODO: !!!

54
src/Volo.Abp/Volo/Abp/Localization/Json/JsonFileLocalizationDictionaryProvider.cs

@ -1,54 +0,0 @@
//using System.IO;
//using Abp.Localization.Dictionaries.Xml;
//using Abp.Localization.Sources;
//namespace Abp.Localization.Dictionaries.Json
//{
// /// <summary>
// /// Provides localization dictionaries from json files in a directory.
// /// </summary>
// public class JsonFileLocalizationDictionaryProvider : LocalizationDictionaryProviderBase
// {
// private readonly string _directoryPath;
// /// <summary>
// /// Creates a new <see cref="JsonFileLocalizationDictionaryProvider" />.
// /// </summary>
// /// <param name="directoryPath">Path of the dictionary that contains all related XML files</param>
// public JsonFileLocalizationDictionaryProvider(string directoryPath)
// {
// _directoryPath = directoryPath;
// }
// public override void Initialize(string sourceName)
// {
// var fileNames = Directory.GetFiles(_directoryPath, "*.json", SearchOption.TopDirectoryOnly);
// foreach (var fileName in fileNames)
// {
// var dictionary = CreateJsonLocalizationDictionary(fileName);
// if (Dictionaries.ContainsKey(dictionary.CultureInfo.Name))
// {
// throw new AbpInitializationException(sourceName + " source contains more than one dictionary for the culture: " + dictionary.CultureInfo.Name);
// }
// Dictionaries[dictionary.CultureInfo.Name] = dictionary;
// if (fileName.EndsWith(sourceName + ".json"))
// {
// if (DefaultDictionary != null)
// {
// throw new AbpInitializationException("Only one default localization dictionary can be for source: " + sourceName);
// }
// DefaultDictionary = dictionary;
// }
// }
// }
// protected virtual JsonLocalizationDictionary CreateJsonLocalizationDictionary(string fileName)
// {
// return JsonLocalizationDictionary.BuildFromFile(fileName);
// }
// }
//}

15
test/Volo.Abp.Tests/Volo/Abp/Localization/AbpLocalization_Tests.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using System.Globalization;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
using Shouldly; using Shouldly;
using Volo.Abp.Localization.Source; using Volo.Abp.Localization.Source;
@ -40,7 +41,17 @@ namespace Volo.Abp.Localization
_localizer["CarPlural"].Value.ShouldBe("Araba"); _localizer["CarPlural"].Value.ShouldBe("Araba");
} }
} }
[Fact]
public void Should_Get_Localized_Text_If_Defined_In_Requested_Culture()
{
_localizer.WithCulture(CultureInfo.GetCultureInfo("en"))["Car"].Value.ShouldBe("Car");
_localizer.WithCulture(CultureInfo.GetCultureInfo("en"))["CarPlural"].Value.ShouldBe("Cars");
_localizer.WithCulture(CultureInfo.GetCultureInfo("tr"))["CarPlural"].Value.ShouldBe("Araba");
_localizer.WithCulture(CultureInfo.GetCultureInfo("tr"))["CarPlural"].Value.ShouldBe("Araba");
}
[DependsOn(typeof(AbpTestBaseModule))] [DependsOn(typeof(AbpTestBaseModule))]
public class TestModule : AbpModule public class TestModule : AbpModule
{ {

Loading…
Cancel
Save