diff --git a/Oqtane.Server/Pages/_Host.cshtml.cs b/Oqtane.Server/Pages/_Host.cshtml.cs
index 662beb18..d93ead04 100644
--- a/Oqtane.Server/Pages/_Host.cshtml.cs
+++ b/Oqtane.Server/Pages/_Host.cshtml.cs
@@ -5,6 +5,7 @@ using Oqtane.Modules;
using Oqtane.Models;
using Oqtane.Themes;
using System;
+using System.Globalization;
using System.Linq;
using System.Reflection;
using Microsoft.AspNetCore.Http.Extensions;
@@ -45,18 +46,20 @@ namespace Oqtane.Pages
// if framework is installed
if (!string.IsNullOrEmpty(_configuration.GetConnectionString("DefaultConnection")))
{
- Uri uri = new Uri(Request.GetDisplayUrl());
+ var uri = new Uri(Request.GetDisplayUrl());
var alias = _aliases.GetAlias(uri.Authority + "/" + uri.LocalPath.Substring(1));
_state.Alias = alias;
- // set default language for site
- var language = _languages.GetLanguages(alias.SiteId).Where(item => item.IsDefault).FirstOrDefault();
- if (language != null)
+ // set default language for site if the culture is not supported
+ var languages = _languages.GetLanguages(alias.SiteId);
+ if (languages.All(l => l.Code != CultureInfo.CurrentUICulture.Name))
{
+ var defaultLanguage = languages.Where(l => l.IsDefault).SingleOrDefault() ?? languages.First();
+
HttpContext.Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(
- new RequestCulture(language.Code)));
+ new RequestCulture(defaultLanguage.Code)));
}
}
}