@rendermode @(new InteractiveServerRenderMode(prerender: false)) @implements IDisposable @inject TaskTrackingSystem.WebApp.Localization.UiLanguageService Language @code { private string ButtonTitle => Language.CurrentLanguage == TaskTrackingSystem.WebApp.Localization.AppLanguage.Burmese ? Language.Texts.LanguageTitle + ": " + Language.Texts.LanguageEnglish : Language.Texts.LanguageTitle + ": " + Language.Texts.LanguageBurmese; private string ButtonLabel => Language.CurrentLanguage == TaskTrackingSystem.WebApp.Localization.AppLanguage.Burmese ? "MY" : "EN"; protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { Language.Changed += OnLanguageChanged; await Language.InitializeAsync(); StateHasChanged(); } } private async Task ToggleLanguage() { await Language.ToggleAsync(); } private void OnLanguageChanged() { _ = InvokeAsync(StateHasChanged); } public void Dispose() { Language.Changed -= OnLanguageChanged; } }