Use LocalizationManager.GetDefaultCulture()

This commit is contained in:
hishamco
2021-02-05 21:47:50 +03:00
parent 3f29fd1b9f
commit 13e356f510

View File

@ -20,13 +20,20 @@ namespace Oqtane.Pages
private IConfiguration _configuration; private IConfiguration _configuration;
private readonly SiteState _state; private readonly SiteState _state;
private readonly IAliasRepository _aliases; private readonly IAliasRepository _aliases;
private readonly ILocalizationManager _localizationManager;
private readonly ILanguageRepository _languages; private readonly ILanguageRepository _languages;
public HostModel(IConfiguration configuration, SiteState state, IAliasRepository aliases, ILanguageRepository languages) public HostModel(
IConfiguration configuration,
SiteState state,
IAliasRepository aliases,
LocalizationManager localizationManager,
ILanguageRepository languages)
{ {
_configuration = configuration; _configuration = configuration;
_state = state; _state = state;
_aliases = aliases; _aliases = aliases;
_localizationManager = localizationManager;
_languages = languages; _languages = languages;
} }
@ -56,17 +63,11 @@ namespace Oqtane.Pages
{ {
var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First(); var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First();
HttpContext.Response.Cookies.Append( SetLocalizationCookie(defaultLanguage.Code);
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(
new RequestCulture(defaultLanguage.Code)));
} }
else else
{ {
HttpContext.Response.Cookies.Append( SetLocalizationCookie(_localizationManager.GetDefaultCulture());
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(
new RequestCulture(_configuration.GetSection("Localization").GetValue("DefaultCulture", Constants.DefaultCulture))));
} }
} }
} }
@ -179,5 +180,12 @@ namespace Oqtane.Pages
return ""; return "";
} }
} }
private void SetLocalizationCookie(string culture)
{
HttpContext.Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)));
}
} }
} }