@inject LanguageProvider LanguageProvider @inject IStringLocalizer Localizer @code { protected override void OnInitialized() { // 订阅变更以便在语言切换时即时更新该组件 LanguageProvider.OnLanguageChanged += OnLanguageChanged; } private void OnLanguageChanged() { // 在 UI 线程上下文中触发 StateHasChanged _ = InvokeAsync(StateHasChanged); } public void Dispose() { LanguageProvider.OnLanguageChanged -= OnLanguageChanged; } private string GetLanguageDisplayName(string languageCode) { return languageCode switch { "zh-Hans" => "简体中文", "en-US" => "English (US)", _ => languageCode }; } private async Task ChangeLanguage(string languageCode) { await LanguageProvider.ChangeLanguageAsync(languageCode); } }