Browse Source

Helper method: CultureHelper.IsCompatibleCulture

pull/13845/head
Halil İbrahim Kalkan 4 years ago
parent
commit
3b45b04344
  1. 28
      framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs
  2. 20
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/Localization/CultureHelper_Tests.cs

28
framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs

@ -1,5 +1,6 @@
using System;
using System.Globalization;
using System.Linq;
using JetBrains.Annotations;
namespace Volo.Abp.Localization;
@ -59,4 +60,31 @@ public static class CultureHelper
{
return new CultureInfo(cultureName).Parent.Name;
}
public static bool IsCompatibleCulture(
string sourceCultureName,
string targetCultureName)
{
if (sourceCultureName == targetCultureName)
{
return true;
}
if (sourceCultureName.Contains("-"))
{
return false;
}
if (!targetCultureName.Contains("-"))
{
return false;
}
if (sourceCultureName == GetBaseCultureName(targetCultureName))
{
return true;
}
return false;
}
}

20
framework/test/Volo.Abp.Core.Tests/Volo/Abp/Localization/CultureHelper_Tests.cs

@ -0,0 +1,20 @@
using Shouldly;
using Xunit;
namespace Volo.Abp.Localization;
public class CultureHelper_Tests
{
[Fact]
public void IsCompatibleCulture()
{
CultureHelper.IsCompatibleCulture("tr", "tr").ShouldBeTrue();
CultureHelper.IsCompatibleCulture("tr", "tr-TR").ShouldBeTrue();
CultureHelper.IsCompatibleCulture("en", "tr").ShouldBeFalse();
CultureHelper.IsCompatibleCulture("en", "tr-TR").ShouldBeFalse();
CultureHelper.IsCompatibleCulture("en-US", "en").ShouldBeFalse();
CultureHelper.IsCompatibleCulture("en-US", "en-GB").ShouldBeFalse();
}
}
Loading…
Cancel
Save