From 39c5e7c7ec5e99610ca82ce504b04cf99e867337 Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Thu, 2 May 2024 13:32:57 +0300 Subject: [PATCH] Use CultureInfo.GetCultureInfo() whenever it's possible --- .../ViewModels/LocalizationPartViewModel.cs | 2 +- .../ResourceDefinition.cs | 2 +- .../Localization/LocalizationManagerTests.cs | 6 +++--- .../Localization/PortableObjectStringLocalizerTests.cs | 2 +- .../Modules/OrchardCore.Shortcodes/LocaleShortcodeTests.cs | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.ContentLocalization/ViewModels/LocalizationPartViewModel.cs b/src/OrchardCore.Modules/OrchardCore.ContentLocalization/ViewModels/LocalizationPartViewModel.cs index 842fb531dde..f13d2eb5642 100644 --- a/src/OrchardCore.Modules/OrchardCore.ContentLocalization/ViewModels/LocalizationPartViewModel.cs +++ b/src/OrchardCore.Modules/OrchardCore.ContentLocalization/ViewModels/LocalizationPartViewModel.cs @@ -12,7 +12,7 @@ public class LocalizationPartViewModel : ShapeViewModel public string Culture { get; set; } [BindNever] - public CultureInfo CultureInfo { get { return new CultureInfo(Culture); } } + public CultureInfo CultureInfo => CultureInfo.GetCultureInfo(Culture); [BindNever] public LocalizationPart LocalizationPart { get; set; } diff --git a/src/OrchardCore/OrchardCore.ResourceManagement.Abstractions/ResourceDefinition.cs b/src/OrchardCore/OrchardCore.ResourceManagement.Abstractions/ResourceDefinition.cs index d5eaedd58e0..2bad2305ff5 100644 --- a/src/OrchardCore/OrchardCore.ResourceManagement.Abstractions/ResourceDefinition.cs +++ b/src/OrchardCore/OrchardCore.ResourceManagement.Abstractions/ResourceDefinition.cs @@ -338,7 +338,7 @@ public string FindNearestCulture(string culture) return Cultures[selectedIndex]; } // Try parent culture if any. - var cultureInfo = new CultureInfo(culture); + var cultureInfo = CultureInfo.GetCultureInfo(culture); if (cultureInfo.Parent.Name != culture) { var selectedCulture = FindNearestCulture(cultureInfo.Parent.Name); diff --git a/test/OrchardCore.Tests/Localization/LocalizationManagerTests.cs b/test/OrchardCore.Tests/Localization/LocalizationManagerTests.cs index d95ebab0e5c..3b0052cf3aa 100644 --- a/test/OrchardCore.Tests/Localization/LocalizationManagerTests.cs +++ b/test/OrchardCore.Tests/Localization/LocalizationManagerTests.cs @@ -29,7 +29,7 @@ public void GetDictionaryReturnsDictionaryWithPluralRuleAndCultureIfNoTranslatio var manager = new LocalizationManager(new[] { _pluralRuleProvider.Object }, new[] { _translationProvider.Object }, _memoryCache); - var dictionary = manager.GetDictionary(new CultureInfo("cs")); + var dictionary = manager.GetDictionary(CultureInfo.GetCultureInfo("cs")); Assert.Equal("cs", dictionary.CultureName); Assert.Equal(PluralizationRule.Czech, dictionary.PluralRule); @@ -45,7 +45,7 @@ public void GetDictionaryReturnsDictionaryWithTranslationsFromProvider() var manager = new LocalizationManager(new[] { _pluralRuleProvider.Object }, new[] { _translationProvider.Object }, _memoryCache); - var dictionary = manager.GetDictionary(new CultureInfo("cs")); + var dictionary = manager.GetDictionary(CultureInfo.GetCultureInfo("cs")); var key = new CultureDictionaryRecordKey { MessageId = "ball" }; dictionary.Translations.TryGetValue(key, out var translations); @@ -69,7 +69,7 @@ public void GetDictionarySelectsPluralRuleFromProviderWithHigherPriority() var manager = new LocalizationManager(new[] { _pluralRuleProvider.Object, highPriorityRuleProvider.Object }, new[] { _translationProvider.Object }, _memoryCache); - var dictionary = manager.GetDictionary(new CultureInfo("cs")); + var dictionary = manager.GetDictionary(CultureInfo.GetCultureInfo("cs")); Assert.Equal(dictionary.PluralRule, csPluralRuleOverride); } diff --git a/test/OrchardCore.Tests/Localization/PortableObjectStringLocalizerTests.cs b/test/OrchardCore.Tests/Localization/PortableObjectStringLocalizerTests.cs index be361129d41..e4b9e4bb742 100644 --- a/test/OrchardCore.Tests/Localization/PortableObjectStringLocalizerTests.cs +++ b/test/OrchardCore.Tests/Localization/PortableObjectStringLocalizerTests.cs @@ -337,7 +337,7 @@ public void LocalizerWithContextShouldCallGetDictionaryOncePerCulture(string cul SetupDictionary(culture, Array.Empty()); var localizer = new PortableObjectStringLocalizer("context", _localizationManager.Object, true, _logger.Object); - CultureInfo.CurrentUICulture = new CultureInfo(culture); + CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo(culture); // Act var translation = localizer["Hello"]; diff --git a/test/OrchardCore.Tests/Modules/OrchardCore.Shortcodes/LocaleShortcodeTests.cs b/test/OrchardCore.Tests/Modules/OrchardCore.Shortcodes/LocaleShortcodeTests.cs index 9d405053f78..99346cd8943 100644 --- a/test/OrchardCore.Tests/Modules/OrchardCore.Shortcodes/LocaleShortcodeTests.cs +++ b/test/OrchardCore.Tests/Modules/OrchardCore.Shortcodes/LocaleShortcodeTests.cs @@ -15,7 +15,7 @@ public class LocaleShortcodeTests [InlineData("fr", "foo [locale en]bar[/locale][locale fr]far[/locale] baz", @"foo far baz")] public async Task ShouldProcess(string currentCulture, string text, string expected) { - CultureInfo.CurrentUICulture = new CultureInfo(currentCulture); + CultureInfo.CurrentUICulture = CultureInfo.GetCultureInfo(currentCulture); var localeProvider = new LocaleShortcodeProvider(); var processor = new ShortcodeService(new IShortcodeProvider[] { localeProvider }, []);