Spaces:
Runtime error
Runtime error
File size: 2,166 Bytes
3dd5c9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | @using TaskTrackingSystem.Shared.Localization
@if (ShouldWarn)
{
<div class="mt-1 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800">
<div>@Message</div>
<div class="mt-2 flex gap-2">
<button type="button" @onclick="MoveToOtherLanguageClicked" class="rounded-md bg-amber-600 px-2.5 py-1 font-semibold text-white hover:bg-amber-700">@MoveLabel</button>
<button type="button" @onclick="KeepHereClicked" class="rounded-md border border-amber-300 px-2.5 py-1 font-semibold text-amber-800 hover:bg-amber-100">@AppLocalization.Text("common.keepHere", "Keep here")</button>
</div>
</div>
}
@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();
}
}
|