localize names of languages based on user's UI culture

This commit is contained in:
sbwalker 2024-10-14 17:17:54 -04:00
parent 62d59a09cf
commit 52f552b4de

View File

@ -92,6 +92,12 @@ namespace Oqtane.Services
} }
site.Pages = pages; site.Pages = pages;
// get language display name for user
foreach (Language language in site.Languages)
{
language.Name = CultureInfo.GetCultureInfo(language.Code).DisplayName;
}
return Task.FromResult(site); return Task.FromResult(site);
} }
@ -130,7 +136,10 @@ namespace Oqtane.Services
// languages // languages
site.Languages = _languages.GetLanguages(site.SiteId).ToList(); site.Languages = _languages.GetLanguages(site.SiteId).ToList();
var defaultCulture = CultureInfo.GetCultureInfo(Constants.DefaultCulture); var defaultCulture = CultureInfo.GetCultureInfo(Constants.DefaultCulture);
site.Languages.Add(new Language { Code = defaultCulture.Name, Name = defaultCulture.DisplayName, Version = Constants.Version, IsDefault = !site.Languages.Any(l => l.IsDefault) }); if (!site.Languages.Exists(item => item.Code == defaultCulture.Name))
{
site.Languages.Add(new Language { Code = defaultCulture.Name, Name = "", Version = Constants.Version, IsDefault = !site.Languages.Any(l => l.IsDefault) });
}
// themes // themes
site.Themes = _themes.FilterThemes(_themes.GetThemes().ToList()); site.Themes = _themes.FilterThemes(_themes.GetThemes().ToList());