@using TaskTrackingSystem.Shared.Localization @if (ShouldWarn) {
@Message
} @code { [Parameter] public string? Text { get; set; } [Parameter] public bool ExpectedBurmese { get; set; } [Parameter] public EventCallback MoveToOtherLanguage { get; set; } [Parameter] public EventCallback KeepHere { get; set; } [Inject] private LanguageDetectionService Detector { get; set; } = null!; private bool dismissed; private LanguageDetectionResult Detection => Detector.Detect(Text); private bool ShouldWarn => !dismissed && (ExpectedBurmese ? Detection.Language == DetectedContentLanguage.English : Detection.Language == DetectedContentLanguage.Burmese); private string Message => ExpectedBurmese ? AppLocalization.Text("translation.englishDetected", "This text appears to be English. Move it to the English field?") : "ဤစာသားသည် မြန်မာဘာသာဖြစ်ပုံရသည်။ မြန်မာအကွက်သို့ ရွှေ့မလား?"; private string MoveLabel => ExpectedBurmese ? AppLocalization.Text("common.moveToEnglish", "Move to English") : "မြန်မာအကွက်သို့ ရွှေ့ရန်"; protected override void OnParametersSet() => dismissed = false; private async Task KeepHereClicked() { dismissed = true; await KeepHere.InvokeAsync(); } private async Task MoveToOtherLanguageClicked() { dismissed = true; await MoveToOtherLanguage.InvokeAsync(); } }