gehgassi_backend/gehGassi.Web/Views/Shared/_SelectLanguagePartial.cshtml

29 lines
1.4 KiB
Plaintext

@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Http.Extensions
@using Microsoft.AspNetCore.Http.Features
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Options
@inject IViewLocalizer Localizer
@inject IOptions<RequestLocalizationOptions> LocOptions
@{
var requestCulture = Context.Features.Get<IRequestCultureFeature>();
var cultureItems = LocOptions.Value.SupportedUICultures
.Select(c => new SelectListItem { Value = c.Name, Text = c.DisplayName })
.ToList();
var returnUrl = string.IsNullOrEmpty(Context.Request.Path) ? "~/" : $"~{UriHelper.BuildRelative(Context.Request.PathBase, Context.Request.Path, Context.Request.QueryString)}";
}
<div title="@Localizer["Request culture provider:"] @requestCulture?.Provider?.GetType().Name">
<form cb-preventsubmit id="selectLanguage" asp-controller="Home" asp-action="SetLanguage" asp-route-returnUrl="@returnUrl" method="post" class="form-horizontal" role="form">
<div class="input-group">
<span class="input-group-text">
<i class="fa fa-language"></i>
</span>
<select class="form-control" name="culture" onchange="this.form.submit();" asp-for="@requestCulture.RequestCulture.UICulture.Name" asp-items="cultureItems"></select>
</div>
</form>
</div>