Use CultureHelper instead of extension methods & rename AbpCultureHelper to CultureHelper.

pull/2502/head
maliming 6 years ago
parent bed26a0a62
commit 1801407ae0

@ -4,7 +4,7 @@ using JetBrains.Annotations;
namespace Volo.Abp.Localization
{
public static class AbpCultureHelper
public static class CultureHelper
{
public static IDisposable Use([NotNull] string culture, string uiCulture = null)
{

@ -103,7 +103,7 @@ namespace Volo.Abp.Emailing.Templates
var localizer = StringLocalizerFactory.Create(emailTemplateDefinition.LocalizationResource);
if (cultureName != null)
{
using (localizer.Change(new CultureInfo(cultureName)))
using (CultureHelper.Use(new CultureInfo(cultureName)))
{
emailTemplate.SetContent(TemplateLocalizer.Localize(localizer, emailTemplate.Content));
}

@ -71,7 +71,7 @@ namespace Volo.Abp.Localization
{
foreach (var baseLocalizer in BaseLocalizers)
{
using (baseLocalizer.Change(CultureInfo.GetCultureInfo(cultureName)))
using (CultureHelper.Use(CultureInfo.GetCultureInfo(cultureName)))
{
var baseLocalizedString = baseLocalizer[name];
if (baseLocalizedString != null && !baseLocalizedString.ResourceNotFound)
@ -138,7 +138,7 @@ namespace Volo.Abp.Localization
{
foreach (var baseLocalizer in BaseLocalizers.Select(l => l))
{
using (baseLocalizer.Change(CultureInfo.GetCultureInfo(cultureName)))
using (CultureHelper.Use(CultureInfo.GetCultureInfo(cultureName)))
{
//TODO: Try/catch is a workaround here!
try

@ -1,29 +0,0 @@
using System;
using System.Globalization;
using JetBrains.Annotations;
using Microsoft.Extensions.Localization;
namespace Volo.Abp.Localization
{
public static class StringLocalizerExtensions
{
/// <summary>
/// Change the CurrentCulture and CurrentUICulture of CultureInfo.
/// If uiCulture is null, CultureInfo.CurrentUICulture will use culture.
/// </summary>
public static IDisposable Change(this IStringLocalizer localizer, CultureInfo culture, [CanBeNull]CultureInfo uiCulture = null)
{
var originalCulture = CultureInfo.CurrentCulture;
var originalUICulture = CultureInfo.CurrentUICulture;
CultureInfo.CurrentCulture = culture;
CultureInfo.CurrentUICulture = uiCulture ?? culture;
return new DisposeAction(() =>
{
CultureInfo.CurrentCulture = originalCulture;
CultureInfo.CurrentUICulture = originalUICulture;
});
}
}
}

@ -34,13 +34,13 @@ namespace Volo.Abp.AspNetCore.Mvc.Localization
[Fact]
public async Task Should_Localize_Display_Attribute()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
var result = await GetResponseAsStringAsync("/LocalizationTest/PersonForm");
result.ShouldContain("<label for=\"BirthDate\">Birth date</label>");
}
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var result = await GetResponseAsStringAsync("/LocalizationTest/PersonForm");
result.ShouldContain("<label for=\"BirthDate\">Dogum gunu</label>");

@ -26,7 +26,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation
[Fact]
public async Task Should_Return_Localized_Validation_Errors()
{
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action?value1=a", HttpStatusCode.BadRequest); //value1 has min length of 2 chars.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);

@ -11,7 +11,7 @@ namespace System
public StringExtensions_Tests()
{
_cultureScope = AbpCultureHelper.Use("en-US");
_cultureScope = CultureHelper.Use("en-US");
}
[Fact]
@ -31,7 +31,7 @@ namespace System
[Fact]
public void EnsureEndsWith_CultureSpecific_Test()
{
using (AbpCultureHelper.Use("tr-TR"))
using (CultureHelper.Use("tr-TR"))
{
"Kırmızı".EnsureEndsWith('I', StringComparison.CurrentCultureIgnoreCase).ShouldBe("Kırmızı");
}
@ -59,7 +59,7 @@ namespace System
[Fact]
public void ToPascalCase_CurrentCulture_Test()
{
using (AbpCultureHelper.Use("tr-TR"))
using (CultureHelper.Use("tr-TR"))
{
"istanbul".ToPascalCase(true).ShouldBe("İstanbul");
}

@ -50,24 +50,24 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Get_Localized_Text_If_Defined_In_Current_Culture()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_localizer["Car"].Value.ShouldBe("Car");
_localizer["CarPlural"].Value.ShouldBe("Cars");
}
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
_localizer["Car"].Value.ShouldBe("Araba");
_localizer["CarPlural"].Value.ShouldBe("Araba");
}
using (AbpCultureHelper.Use("it"))
using (CultureHelper.Use("it"))
{
_localizer["Car"].Value.ShouldBe("Auto");
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
_localizer["Car"].Value.ShouldBe("Auto");
}
@ -77,22 +77,22 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Get_Extension_Texts()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_localizer["SeeYou"].Value.ShouldBe("See you");
}
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
_localizer["SeeYou"].Value.ShouldBe("See you"); //Not defined in tr, getting from default lang
}
using (AbpCultureHelper.Use("it"))
using (CultureHelper.Use("it"))
{
_localizer["SeeYou"].Value.ShouldBe("Ci vediamo");
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
_localizer["SeeYou"].Value.ShouldBe("Nos vemos");
}
@ -102,7 +102,7 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Get_From_Inherited_Texts()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_localizer["USA"].Value.ShouldBe("United States of America"); //Inherited from CountryNames/en.json
_localizer["ThisFieldIsRequired"].Value.ShouldBe("This field is required"); //Inherited from Validation/en.json
@ -110,12 +110,12 @@ namespace Volo.Abp.Localization
_localizer.GetAllStrings().ShouldContain(ls => ls.Name == "USA");
}
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
_localizer["USA"].Value.ShouldBe("Amerika Birleşik Devletleri"); //Inherited from CountryNames/tr.json
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
_localizer["USA"].Value.ShouldBe("Estados unidos de América"); //Inherited from CountryNames/es.json
_localizer["ThisFieldIsRequired"].Value.ShouldBe("El campo no puede estar vacío"); //Inherited from Validation/es.json
@ -128,12 +128,12 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Override_Inherited_Text()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_localizer["MaxLenghtErrorMessage", 42].Value.ShouldBe("This field's length can be maximum of '42' chars"); //Overriden in Source/en.json
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
_localizer["MaxLenghtErrorMessage", 42].Value.ShouldBe("El campo puede tener un máximo de '42' caracteres"); //Overriden in Source/es.json
}
@ -144,29 +144,29 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Get_Localized_Text_If_Defined_In_Requested_Culture()
{
using (_localizer.Change(CultureInfo.GetCultureInfo("en")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("en")))
{
_localizer["Car"].Value.ShouldBe("Car");
}
using (_localizer.Change(CultureInfo.GetCultureInfo("en")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("en")))
{
_localizer["CarPlural"].Value.ShouldBe("Cars");
}
using (_localizer.Change(CultureInfo.GetCultureInfo("tr")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("tr")))
{
_localizer["Car"].Value.ShouldBe("Araba");
}
using (_localizer.Change(CultureInfo.GetCultureInfo("tr")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("tr")))
{
_localizer["CarPlural"].Value.ShouldBe("Araba");
}
using (_localizer.Change(CultureInfo.GetCultureInfo("es")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("es")))
{
_localizer["Car"].Value.ShouldBe("Auto");
}
using (_localizer.Change(CultureInfo.GetCultureInfo("es")))
using (CultureHelper.Use(CultureInfo.GetCultureInfo("es")))
{
_localizer["CarPlural"].Value.ShouldBe("Autos");
}
@ -175,7 +175,7 @@ namespace Volo.Abp.Localization
[Fact]
public void GetAllStrings_With_Parents()
{
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var localizedStrings = _localizer.GetAllStrings(true).ToList();
@ -192,7 +192,7 @@ namespace Volo.Abp.Localization
);
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
var localizedStrings = _localizer.GetAllStrings(true).ToList();
@ -214,7 +214,7 @@ namespace Volo.Abp.Localization
[Fact]
public void GetAllStrings_Without_Parents()
{
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var localizedStrings = _localizer.GetAllStrings(false).ToList();
@ -229,7 +229,7 @@ namespace Volo.Abp.Localization
);
}
using (AbpCultureHelper.Use("es"))
using (CultureHelper.Use("es"))
{
var localizedStrings = _localizer.GetAllStrings(false).ToList();
@ -249,7 +249,7 @@ namespace Volo.Abp.Localization
[Fact]
public void GetAllStrings_With_Inheritance()
{
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var localizedStrings = _localizer
.GetAllStrings(true, includeBaseLocalizers: true)
@ -278,7 +278,7 @@ namespace Volo.Abp.Localization
[Fact]
public void GetAllStrings_Without_Inheritance()
{
using (AbpCultureHelper.Use("tr"))
using (CultureHelper.Use("tr"))
{
var localizedStrings = _localizer
.GetAllStrings(true, includeBaseLocalizers: false)

@ -22,7 +22,7 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Localize()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_templateLocalizer.Localize(_testResource, "<p>{{#L:CarPlural}} <b>{{#L:Universe}}</b></p>")
.ShouldBe("<p>Cars <b>Universe</b></p>");
@ -32,7 +32,7 @@ namespace Volo.Abp.Localization
[Fact]
public void Should_Work_Even_If_No_Text_To_Localize()
{
using (AbpCultureHelper.Use("en"))
using (CultureHelper.Use("en"))
{
_templateLocalizer.Localize(_testResource, "<p>test</p>")
.ShouldBe("<p>test</p>");

Loading…
Cancel
Save