Localization: Code styling in FrontEndCultureSelector, displaying culture name instead of code in AdminCultureSelector

This commit is contained in:
Lombiq
2019-08-13 16:25:07 +02:00
committed by Benedek Farkas
parent eba6f118dd
commit b03d83473f
2 changed files with 34 additions and 28 deletions

View File

@@ -1,4 +1,6 @@
@{ @using System.Globalization
@{
var currentCulture = WorkContext.CurrentCulture; var currentCulture = WorkContext.CurrentCulture;
var supportedCultures = (IList<string>)Model.SupportedCultures; var supportedCultures = (IList<string>)Model.SupportedCultures;
} }
@@ -6,15 +8,20 @@
<div id="culture-selection"> <div id="culture-selection">
<ul> <ul>
@foreach (var supportedCulture in supportedCultures) { @foreach (var supportedCulture in supportedCultures) {
var culture = CultureInfo.GetCultureInfo(supportedCulture);
if (culture is object)
{
var url = Url.Action("ChangeCulture", "AdminCultureSelector", new { area = "Orchard.Localization", culture = supportedCulture, returnUrl = Html.ViewContext.HttpContext.Request.RawUrl }); var url = Url.Action("ChangeCulture", "AdminCultureSelector", new { area = "Orchard.Localization", culture = supportedCulture, returnUrl = Html.ViewContext.HttpContext.Request.RawUrl });
<li> <li>
@if (supportedCulture.Equals(currentCulture)) { @if (supportedCulture.Equals(currentCulture)) {
<a href="@url">@T("{0} (current)", supportedCulture)</a> <a href="@url">@T("{0} (current)", culture.DisplayName)</a>
} else { } else {
<a href="@url">@supportedCulture</a> <a href="@url">@culture.DisplayName</a>
} }
</li> </li>
} }
}
</ul> </ul>
</div> </div>

View File

@@ -3,6 +3,7 @@
@using Orchard.ContentManagement @using Orchard.ContentManagement
@using Orchard.ContentManagement.Aspects @using Orchard.ContentManagement.Aspects
@using Orchard.Localization.Services @using Orchard.Localization.Services
@{ @{
var localizableAspects = Enumerable.Empty<ILocalizableAspect>(); var localizableAspects = Enumerable.Empty<ILocalizableAspect>();
var homePage = WorkContext.Resolve<IHomeAliasService>().GetHomePage(); var homePage = WorkContext.Resolve<IHomeAliasService>().GetHomePage();
@@ -12,26 +13,24 @@
localizableAspects = localizationService.GetLocalizations(homePage).Concat(new[] { homePage.As<ILocalizableAspect>() }); localizableAspects = localizationService.GetLocalizations(homePage).Concat(new[] { homePage.As<ILocalizableAspect>() });
} }
} }
@if (localizableAspects.Any()) { @if (localizableAspects.Any()) {
<div> <div>
<ul> <ul>
@foreach (var localization in localizableAspects) { @foreach (var localization in localizableAspects.Where(localization => !string.IsNullOrEmpty(localization.Culture))) {
if (localization.Culture == null) {
continue;
}
var culture = CultureInfo.GetCultureInfo(localization.Culture); var culture = CultureInfo.GetCultureInfo(localization.Culture);
if (culture is object) {
<li> <li>
@if (localization.Culture.Equals(WorkContext.CurrentCulture, StringComparison.InvariantCultureIgnoreCase)) { @if (localization.Culture.Equals(WorkContext.CurrentCulture, StringComparison.InvariantCultureIgnoreCase)) {
<a href="@Url.ItemDisplayUrl(localization)">@T("{0} (current)", culture.DisplayName)</a> <a href="@Url.ItemDisplayUrl(localization)">@T("{0} (current)", culture.DisplayName)</a>
} }
else { else {
<a href="@Url.ItemDisplayUrl(localization)">@T("{0}", culture.DisplayName)</a> <a href="@Url.ItemDisplayUrl(localization)">@culture.DisplayName</a>
} }
</li> </li>
} }
}
</ul> </ul>
</div> </div>
} }