parent
5de6a1565f
commit
5309f461a2
@ -0,0 +1,8 @@
|
||||
<div class="col-md-3">
|
||||
<select class="form-control" @bind="Culture">
|
||||
@foreach (var language in supportedLanguages)
|
||||
{
|
||||
<option value="@language">@language.DisplayName</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
@ -0,0 +1,36 @@
|
||||
using System.Globalization;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Microsoft.JSInterop;
|
||||
|
||||
namespace BlazorProject.Pages;
|
||||
|
||||
public partial class LanguageSelector
|
||||
{
|
||||
private CultureInfo[] supportedLanguages = new []
|
||||
{
|
||||
new CultureInfo("en-US"),
|
||||
new CultureInfo("fr-FR"),
|
||||
new CultureInfo("ar-AE"),
|
||||
};
|
||||
|
||||
[Inject]
|
||||
private NavigationManager NavigationManager { get; set; }
|
||||
|
||||
[Inject]
|
||||
private JSRuntime JsRuntime { get; set; }
|
||||
|
||||
private CultureInfo Culture
|
||||
{
|
||||
get => CultureInfo.CurrentCulture;
|
||||
set
|
||||
{
|
||||
if (CultureInfo.CurrentCulture != value)
|
||||
{
|
||||
var js = (IJSInProcessRuntime)JsRuntime;
|
||||
js.InvokeVoid("appCulture.set", value.Name);
|
||||
NavigationManager.NavigateTo(NavigationManager.Uri, forceLoad: true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue