diff --git a/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor b/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor index e76bfe82..80004e94 100644 --- a/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor +++ b/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor @@ -3,13 +3,33 @@ @using AIStudio.Tools @inherits AssistantBaseCore - + + + @(this.liveTranslation ? "Live translation" : "No live translation") + + + +@if (this.liveTranslation) +{ + +} +else +{ + +} - + @foreach (var targetLanguage in Enum.GetValues()) { - @targetLanguage.Name() + if (targetLanguage is CommonLanguages.AS_IS) + { + Please select the target language + } + else + { + @targetLanguage.Name() + } } @if (this.selectedTargetLanguage is CommonLanguages.OTHER) @@ -25,6 +45,6 @@ } - + Translate \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor.cs b/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor.cs index edfa8e9e..cdd022b6 100644 --- a/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/Translator/AssistantTranslator.razor.cs @@ -20,7 +20,9 @@ public partial class AssistantTranslator : AssistantBaseCore language requires, e.g., shorter sentences, you should split the text into shorter sentences. """; + private bool liveTranslation; private string inputText = string.Empty; + private string inputTextLastTranslation = string.Empty; private CommonLanguages selectedTargetLanguage; private string customTargetLanguage = string.Empty; @@ -40,6 +42,14 @@ public partial class AssistantTranslator : AssistantBaseCore return null; } + private string? ValidatingTargetLanguage(CommonLanguages language) + { + if(language == CommonLanguages.AS_IS) + return "Please select a target language."; + + return null; + } + private string? ValidateCustomLanguage(string language) { if(this.selectedTargetLanguage == CommonLanguages.OTHER && string.IsNullOrWhiteSpace(language)) @@ -48,12 +58,15 @@ public partial class AssistantTranslator : AssistantBaseCore return null; } - private async Task TranslateText() + private async Task TranslateText(bool force) { - await this.form!.Validate(); if (!this.inputIsValid) return; + if(!force && this.inputText == this.inputTextLastTranslation) + return; + + this.inputTextLastTranslation = this.inputText; this.CreateChatThread(); var time = this.AddUserRequest( $"""