29 lines
1.4 KiB
Plaintext
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> |