Problem beim Zugriff auf den richtigen Wert in Ressourcen während sich ändernder Kultur – Blazor Webassembly – C#C#

Ein Treffpunkt für C#-Programmierer
Guest
 Problem beim Zugriff auf den richtigen Wert in Ressourcen während sich ändernder Kultur – Blazor Webassembly – C#

Post by Guest »

Ich habe diese Dateien im Ressourcenprojekt
  • Titles.resx
  • Titles.en.resx
    Titles.fa.resx
  • Messages.resx
  • Messages.en.resx
  • Messages.fa.resx
Jetzt funktioniert das Umschalten, aber wenn die Sprache im lokalen Speicher zunächst auf „fa-IR“ aus der letzten Sitzung eingestellt ist, funktioniert das Umschalten zwischen Englisch und Persisch einwandfrei, aber wenn die Sprache In localstorage ist seit der letzten Sitzung „en-US“ eingestellt, der Wechsel funktioniert nicht und was auch immer ich mache, alle Untertitel sind auf Englisch und ich habe es überprüft und bin sicher, dass die Kultur auf die richtige Kultur eingestellt ist, bitte helfen Sie.
Ich habe das hinzugefügt in program.cs :

Code: Select all

    var host = builder.Build();
var jsRuntime = host.Services.GetRequiredService\();
var lang = await jsRuntime.InvokeAsync\("localStorage.getItem", "lang");
if (!string.IsNullOrEmpty(lang))
{
var culture = new CultureInfo(lang);
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;

}
await host.RunAsync();
und dies an languageService :

Code: Select all

    public async Task SetLanguageAsync(string lang)
{
SetCulture(lang);
await _jSRuntime.InvokeVoidAsync("localStorage.setItem", "lang", lang);

return true;
}

private void SetCulture(string cultureName)
{
var culture = new CultureInfo(cultureName);
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post