JigitalCharlie
08/18/2023, 4:21 PMCraig100
08/18/2023, 7:09 PMJigitalCharlie
08/18/2023, 7:48 PMAmbert
08/18/2023, 8:10 PMAmbert
08/18/2023, 8:11 PMAmbert
08/18/2023, 8:12 PMJigitalCharlie
08/18/2023, 11:33 PMAmbert
08/19/2023, 4:40 AMAmbert
08/19/2023, 4:40 AMCraig100
08/19/2023, 11:54 AMCraig100
08/19/2023, 11:59 AM@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage<IPublishedContent>
@using System.Globalization;
@using Umbraco.Cms.Core.Models
@using UmbracoProject.Core.Models
@{
var currentPage = Model.Url();
var cultureList = Model.Cultures.ToList();
var languagePickerLinks = new List<CultureLinkModel>();
@foreach (var culture in cultureList) {
var langName = CultureInfo.CreateSpecificCulture(culture.Value.Culture);
var link = new CultureLinkModel {
Url = Model.Url(culture.Value.Culture),
Culture = culture.Value.Culture,
LangName = langName.NativeName.Split(" ")[0]
};
languagePickerLinks.Add(link);
}
if (cultureList.Count > 1) {
<div class="lang-switch">
@{
<select id="lang-switch" asp-for="@currentPage" onchange="if (this.value) window.location.href=this.value">
@foreach (var culture in languagePickerLinks) {
<option value="@culture.Url">@culture.LangName</option>
}
</select>
}
</div>
}
}
The CultureLinkModel is just:-
namespace UmbracoProject.Core.Models;
public class CultureLinkModel {
public string? Url { get; set; }
public string? Culture { get; set; }
public string? LangName { get; set; }
}
Hope that helps.JigitalCharlie
08/19/2023, 3:17 PM