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