by Guest » 13 Jan 2025, 09:22
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;
}
Ich habe diese Dateien im Ressourcenprojekt
[list]
[*]Titles.resx
[*]Titles.en.resx
Titles.fa.resx
[*]Messages.resx
[*]Messages.en.resx
[*]Messages.fa.resx
[/list]
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] 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();
[/code]
und dies an languageService :
[code] 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;
}
[/code]