实现多语言切换

This commit is contained in:
2025-12-09 03:31:07 +08:00
parent 9631e00a12
commit 429fb39140
18 changed files with 1173 additions and 41 deletions

View File

@@ -1,9 +1,41 @@
@inherits LayoutComponentBase
@inject Atomx.Admin.Client.Services.ILocalizationProvider LocalizationProvider
<div style="min-height:100vh">
@Body
</div>
@code {
protected override void OnInitialized()
{
if (LocalizationProvider != null)
{
LocalizationProvider.LanguageChanged += OnLanguageChanged;
}
}
private void OnLanguageChanged(object? sender, string culture)
{
_ = InvokeAsync(StateHasChanged);
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender && LocalizationProvider != null)
{
try
{
await LocalizationProvider.InitializeAsync();
}
catch { }
}
}
public void Dispose()
{
if (LocalizationProvider != null)
{
LocalizationProvider.LanguageChanged -= OnLanguageChanged;
}
}
}