Fixes #12904 UmbracoHelper.GetDictionaryValue defaults to en-US when used in non-front end code (#12942)

* adding new overload/rename a method

* remove this keyword

* fix comment

* remove space

* commit

* revert

* replace param name

* public backward compatibility

* Minor style tweaks

* Don't change default culture in UmbracoCultureDictionary

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
This commit is contained in:
Ibrahim Muhammad Nada
2023-07-06 13:29:18 +03:00
committed by GitHub
parent 41805af0d9
commit 0da33d064a
4 changed files with 62 additions and 1 deletions

View File

@@ -1,6 +1,10 @@
using System.Globalization;
namespace Umbraco.Cms.Core.Dictionary;
public interface ICultureDictionaryFactory
{
ICultureDictionary CreateDictionary();
ICultureDictionary CreateDictionary(CultureInfo specificCulture) => throw new NotImplementedException();
}

View File

@@ -1,4 +1,5 @@
using System.Globalization;
using System.Text.RegularExpressions;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Services;
@@ -47,7 +48,7 @@ internal class DefaultCultureDictionary : ICultureDictionary
}
/// <summary>
/// Returns the current culture
/// Returns the defualt umbraco's back office culture
/// </summary>
public CultureInfo Culture => _specificCulture ?? Thread.CurrentThread.CurrentUICulture;

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Services;
@@ -23,4 +24,7 @@ public class DefaultCultureDictionaryFactory : ICultureDictionaryFactory
public ICultureDictionary CreateDictionary() =>
new DefaultCultureDictionary(_localizationService, _appCaches.RequestCache);
public ICultureDictionary CreateDictionary(CultureInfo specificCulture) =>
new DefaultCultureDictionary(specificCulture, _localizationService, _appCaches.RequestCache);
}