Spaces:
Runtime error
Runtime error
File size: 2,515 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 47 48 49 50 51 52 53 54 55 56 57 58 59 | @using TaskTrackingSystem.Shared.Localization
@if (CanGenerate)
{
<button type="button" @onclick="GenerateAsync" disabled="@isBusy" class="mt-2 inline-flex items-center rounded-md border border-violet-200 bg-violet-50 px-2.5 py-1.5 text-xs font-semibold text-violet-700 hover:bg-violet-100 disabled:opacity-50">
@if (isBusy)
{
<span>@AppLocalization.Text("common.generating", "Generating...")</span>
}
else
{
<span>@ButtonLabel</span>
}
</button>
}
@if (!string.IsNullOrWhiteSpace(errorMessage))
{
<p class="mt-1 text-xs text-rose-600">@errorMessage</p>
}
@code {
[Parameter] public string? SourceText { get; set; }
[Parameter] public string SourceLanguage { get; set; } = "my";
[Parameter] public string TargetLanguage { get; set; } = "en";
[Parameter] public bool IsName { get; set; }
[Parameter] public bool TargetHasText { get; set; }
[Parameter] public EventCallback<TranslationResult> Generated { get; set; }
[Inject] private IContentTranslationService TranslationService { get; set; } = null!;
private bool isBusy;
private string? errorMessage;
private bool CanGenerate => !TargetHasText && !string.IsNullOrWhiteSpace(SourceText);
private string ButtonLabel => IsName
? (TargetLanguage == "en" ? AppLocalization.Text("translation.generateEnglishSpelling", "Generate English spelling") : AppLocalization.Text("translation.generateBurmeseName", "ααΌααΊαα¬α‘αααΊ αα±αΈαα¬αΈαα±αΈαααΊ"))
: (TargetLanguage == "en" ? AppLocalization.Text("translation.generateEnglish", "Generate English") : AppLocalization.Text("translation.generateBurmese", "ααΌααΊαα¬αα¬αα¬ ααΌααΊααα―αααΊ"));
private async Task GenerateAsync()
{
if (!CanGenerate) return;
isBusy = true;
errorMessage = null;
var result = IsName
? await TranslationService.TransliterateNameAsync(SourceText!.Trim(), SourceLanguage, TargetLanguage)
: await TranslationService.TranslateAsync(SourceText!.Trim(), SourceLanguage, TargetLanguage);
isBusy = false;
if (!result.Success || string.IsNullOrWhiteSpace(result.TranslatedText))
{
errorMessage = result.ErrorMessage ?? AppLocalization.Text("common.translationNotConfigured", "Translation is not configured.");
return;
}
await Generated.InvokeAsync(result);
}
}
|