mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-07-27 21:42:56 +00:00
replaced strings with i18n fallbacks and finalized sse handling
This commit is contained in:
parent
32b43bbd04
commit
2c646aa2f0
@ -1648,6 +1648,18 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::PROFILESELECTION::T918741365"] = "You can
|
||||
-- Provider
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::PROVIDERSELECTION::T900237532"] = "Provider"
|
||||
|
||||
-- Images are not supported yet
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T298062956"] = "Images are not supported yet"
|
||||
|
||||
-- Use file content as input
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T3499386973"] = "Use file content as input"
|
||||
|
||||
-- Select file to read its content
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T354817589"] = "Select file to read its content"
|
||||
|
||||
-- Executables are not allowed
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T4167762413"] = "Executables are not allowed"
|
||||
|
||||
-- Use PDF content as input
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READPDFCONTENT::T2849276709"] = "Use PDF content as input"
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
@inherits MSGComponentBase
|
||||
<MudButton StartIcon="@Icons.Material.Filled.Description" OnClick="async () => await this.SelectFile()" Variant="Variant.Filled" Class="mb-3">
|
||||
Use PDF content as input"
|
||||
@T("Use file content as input")
|
||||
</MudButton>
|
@ -18,7 +18,7 @@ public partial class ReadFileContent : MSGComponentBase
|
||||
|
||||
private async Task SelectFile()
|
||||
{
|
||||
var selectedFile = await this.RustService.SelectFile("Select Text file");
|
||||
var selectedFile = await this.RustService.SelectFile(T("Select file to read its content"));
|
||||
if (selectedFile.UserCancelled)
|
||||
return;
|
||||
|
||||
@ -29,13 +29,13 @@ public partial class ReadFileContent : MSGComponentBase
|
||||
|
||||
if (Array.Exists(FileTypeFilter.Executables.FilterExtensions, x => x.Equals(ext, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
await MessageBus.INSTANCE.SendError(new(@Icons.Material.Filled.AppBlocking, "Executables are not allowed"));
|
||||
await MessageBus.INSTANCE.SendError(new(Icons.Material.Filled.AppBlocking, T("Executables are not allowed")));
|
||||
return;
|
||||
}
|
||||
|
||||
if (Array.Exists(FileTypeFilter.AllImages.FilterExtensions, x => x.Equals(ext, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
await MessageBus.INSTANCE.SendWarning(new(@Icons.Material.Filled.ImageNotSupported, "Images are not supported yet"));
|
||||
await MessageBus.INSTANCE.SendWarning(new(Icons.Material.Filled.ImageNotSupported, T("Images are not supported yet")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1650,6 +1650,12 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::PROFILESELECTION::T918741365"] = "You can
|
||||
-- Provider
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::PROVIDERSELECTION::T900237532"] = "Provider"
|
||||
|
||||
-- Use PDF content as input
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T2849276709"] = "Use PDF content as input"
|
||||
|
||||
-- Executables are not allowed
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READFILECONTENT::T4167762413"] = "Executables are not allowed"
|
||||
|
||||
-- Use PDF content as input
|
||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::READPDFCONTENT::T2849276709"] = "Use PDF content as input"
|
||||
|
||||
@ -5481,6 +5487,9 @@ UI_TEXT_CONTENT["AISTUDIO::TOOLS::RAG::RAGPROCESSES::AISRCSELWITHRETCTXVAL::T304
|
||||
-- AI-based data source selection with AI retrieval context validation
|
||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::RAG::RAGPROCESSES::AISRCSELWITHRETCTXVAL::T3775725978"] = "AI-based data source selection with AI retrieval context validation"
|
||||
|
||||
-- Executable Files
|
||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::RUST::FILETYPEFILTER::T2217313358"] = "Executable Files"
|
||||
|
||||
-- PDF Files
|
||||
UI_TEXT_CONTENT["AISTUDIO::TOOLS::RUST::FILETYPEFILTER::T3108466742"] = "PDF Files"
|
||||
|
||||
|
@ -53,7 +53,7 @@ public sealed partial class RustService
|
||||
eventCount++;
|
||||
}
|
||||
}
|
||||
catch (JsonException) { resultBuilder.AppendLine(); }
|
||||
catch (JsonException) { resultBuilder.Append(string.Empty); }
|
||||
|
||||
}
|
||||
var result = resultBuilder.ToString();
|
||||
|
@ -7,6 +7,7 @@ namespace AIStudio.Tools;
|
||||
public static class SseHandler
|
||||
{
|
||||
private static readonly ConcurrentDictionary<string, List<PptxImageData>> PPTX_IMAGES = new();
|
||||
private static int CURRENT_SLIDE_NUMBER;
|
||||
|
||||
public static async Task<string> ProcessEventAsync(SseEvent? sseEvent, bool extractImages = true)
|
||||
{
|
||||
@ -25,14 +26,14 @@ public static class SseHandler
|
||||
|
||||
case PdfMetadata pdfMetadata:
|
||||
var pageNumber = pdfMetadata.Pdf?.PageNumber ?? 0;
|
||||
result.AppendLine($"[Page {pageNumber}]:\n{sseEvent.Content}");
|
||||
result.AppendLine($"# Page {pageNumber}\n{sseEvent.Content}");
|
||||
break;
|
||||
|
||||
case SpreadsheetMetadata spreadsheetMetadata:
|
||||
var sheetName = spreadsheetMetadata.Spreadsheet?.SheetName;
|
||||
var rowNumber = spreadsheetMetadata.Spreadsheet?.RowNumber;
|
||||
|
||||
if (rowNumber == 1) { result.AppendLine($"\n{sheetName}:"); }
|
||||
if (rowNumber == 1) { result.AppendLine($"\n# {sheetName}"); }
|
||||
|
||||
result.AppendLine($"{sseEvent.Content}");
|
||||
break;
|
||||
@ -48,13 +49,17 @@ public static class SseHandler
|
||||
case PresentationMetadata presentationMetadata:
|
||||
var slideNumber = presentationMetadata.Presentation?.SlideNumber ?? 0;
|
||||
var image = presentationMetadata.Presentation?.Image ?? null;
|
||||
result.AppendLine($"{sseEvent.Content}");
|
||||
|
||||
if (slideNumber != CURRENT_SLIDE_NUMBER) { result.AppendLine($"# Slide {slideNumber}"); }
|
||||
result.Append($"{sseEvent.Content}");
|
||||
|
||||
if (image != null)
|
||||
{
|
||||
var isEnd = ProcessImageSegment(image);
|
||||
if (isEnd && extractImages) { result.AppendLine(BuildImage(image.Id!)); }
|
||||
}
|
||||
|
||||
CURRENT_SLIDE_NUMBER = slideNumber;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -64,11 +69,11 @@ public static class SseHandler
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(sseEvent.Content))
|
||||
{
|
||||
result.AppendLine(sseEvent.Content);
|
||||
result.Append(sseEvent.Content);
|
||||
}
|
||||
else if (string.IsNullOrEmpty(sseEvent.Content))
|
||||
{
|
||||
result.AppendLine();
|
||||
result.Append(string.Empty);
|
||||
}
|
||||
|
||||
await Task.CompletedTask;
|
||||
|
Loading…
Reference in New Issue
Block a user