Globalisation fonctionnelle pour la page EmployeeData

master
Johnny RATTON 2 years ago
parent 5e8ebf7e2a
commit e258f278f0

@ -1,4 +1,5 @@
@using System.Globalization
@using BlazorProject.Pages
@inherits LayoutComponentBase
<div class="page">
<div class="sidebar">

@ -1,6 +1,8 @@
@page "/employee"
@using BlazorProject.Models
@inject IJSRuntime JsRuntime
@inject Microsoft.Extensions.Localization.IStringLocalizer<App> Localize
<h1>@title</h1>
<br />
@ -53,7 +55,12 @@
{
<tr>
<td>@emp.Name</td>
<td>@Localize[emp.Gender]</td>
@if (@emp.Gender != null)
{
<td>@Localize[emp.Gender]</td>
} else {
<td>@Localize["Unknown"]</td>
}
<td>@emp.City</td>
<td>@emp.Salary.ToString("C2")</td>
<td>@emp.JoiningDate</td>

@ -8,9 +8,6 @@ namespace BlazorProject.Pages;
public partial class EmployeeData
{
[Inject] public IStringLocalizer<App> Localize { get; set; }
[Inject] public IJSRuntime JSRuntime { get; set; }
Employee employee = new Employee();
List<Employee> lstEmployees = new List<Employee>();
@ -24,7 +21,7 @@ public partial class EmployeeData
protected override async Task OnInitializedAsync()
{
setTitle();
var empGetJS = (IJSInProcessRuntime)JSRuntime;
var empGetJS = (IJSInProcessRuntime)JsRuntime;
var empList = await empGetJS.InvokeAsync<string>("employeeData.get");
FetchEmployeeFromLocalStorage(empList);
}
@ -33,7 +30,7 @@ public partial class EmployeeData
{
employee.JoiningDate = DateTime.Now;
lstEmployees.Add(employee);
var empSetJS = (IJSInProcessRuntime)JSRuntime;
var empSetJS = (IJSInProcessRuntime)JsRuntime;
empSetJS.InvokeVoid("employeeData.set", JsonConvert.SerializeObject(lstEmployees));
employee = new Employee();
}

@ -1,3 +1,4 @@
@inject IJSRuntime JsRuntime
<div class="col-md-3">
<select class="form-control" @bind="Culture">
@foreach (var language in supportedLanguages)

@ -10,14 +10,10 @@ public partial class LanguageSelector
{
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
{

@ -10,6 +10,7 @@ using BlazorProject;
using BlazorProject.Services;
using Microsoft.Extensions.Localization;
using Microsoft.JSInterop;
using Microsoft.JSInterop.WebAssembly;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
@ -30,7 +31,7 @@ builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.
builder.Services.AddLocalization(options => options.ResourcesPath = "Ressources");
builder.Services.AddScoped<IStringLocalizer<App>, StringLocalizer<App>>();
//builder.Services.AddScoped<IStringLocalizer<App>, StringLocalizer<App>>();
var jsInterop = builder.Build().Services.GetRequiredService<IJSRuntime>();

@ -98,5 +98,11 @@ namespace BlazorProject.Ressources {
return ResourceManager.GetString("Save", resourceCulture);
}
}
internal static string Unknown {
get {
return ResourceManager.GetString("Unknown", resourceCulture);
}
}
}
}

@ -99,9 +99,9 @@ namespace BlazorProject.Ressources {
}
}
internal static string Title {
internal static string Unknown {
get {
return ResourceManager.GetString("Title", resourceCulture);
return ResourceManager.GetString("Unknown", resourceCulture);
}
}
}

@ -45,4 +45,7 @@
<data name="Save" xml:space="preserve">
<value>Sauvegarder</value>
</data>
<data name="Unknown" xml:space="preserve">
<value>Inconnu</value>
</data>
</root>

@ -45,4 +45,7 @@
<data name="Save" xml:space="preserve">
<value>Save</value>
</data>
<data name="Unknown" xml:space="preserve">
<value>Unknown</value>
</data>
</root>
Loading…
Cancel
Save