From 3a3e8780e8d01356dbd3eb6177f3eb8b580df57d Mon Sep 17 00:00:00 2001 From: PaulKoudelka Date: Wed, 22 Jul 2026 16:50:35 +0200 Subject: [PATCH] made buttons out of checkboxes and added an exclude option --- .../Assistants/I18N/allTexts.lua | 33 ++-- .../LogViewer/AssistantLogViewer.razor | 40 +++-- .../LogViewer/AssistantLogViewer.razor.cs | 151 +++++++++++++----- .../plugin.lua | 35 ++-- .../plugin.lua | 35 ++-- 5 files changed, 209 insertions(+), 85 deletions(-) diff --git a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua index 85599176..9e690c31 100644 --- a/app/MindWork AI Studio/Assistants/I18N/allTexts.lua +++ b/app/MindWork AI Studio/Assistants/I18N/allTexts.lua @@ -1615,6 +1615,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T114706247 -- Select a log file UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1231773010"] = "Select a log file" +-- Show only matching lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T131451442"] = "Show only matching lines" + -- Log level UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1318706515"] = "Log level" @@ -1645,6 +1648,12 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T228853842 -- Showing {0} of {1} lines. Last refresh: {2}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2378353570"] = "Showing {0} of {1} lines. Last refresh: {2}." +-- Disable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T240826492"] = "Disable auto-refresh" + +-- Enable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2467283075"] = "Enable auto-refresh" + -- No matching log lines. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2511997530"] = "No matching log lines." @@ -1657,8 +1666,8 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T268681396 -- Loaded {0} lines. Last refresh: {1}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2920304709"] = "Loaded {0} lines. Last refresh: {1}." --- Filter only -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3152625639"] = "Filter only" +-- Disable inverted dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3035207754"] = "Disable inverted dropdown filters" -- Copy visible lines UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3292961985"] = "Copy visible lines" @@ -1669,21 +1678,24 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T333036481 -- Unknown error UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3461425987"] = "Unknown error" +-- Exclude +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3551498825"] = "Exclude" + -- The log file path is not available yet. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3686775689"] = "The log file path is not available yet." -- Logger UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T376222229"] = "Logger" --- Auto-refresh -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3837203600"] = "Auto-refresh" - -- not loaded yet UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3863250749"] = "not loaded yet" -- Loading... UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T397479987"] = "Loading..." +-- Select a dropdown filter to invert +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3991737584"] = "Select a dropdown filter to invert" + -- Usage log UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4031747274"] = "Usage log" @@ -1696,14 +1708,17 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T413024177 -- Opened the log file location. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4162897654"] = "Opened the log file location." +-- Hide timestamps +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4263992002"] = "Hide timestamps" + -- Show timestamps UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T469116133"] = "Show timestamps" --- Invert filters -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T721900298"] = "Invert filters" +-- Highlight matches without hiding lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T661180902"] = "Highlight matches without hiding lines" --- Clear -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T77955010"] = "Clear" +-- Invert dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T8477641"] = "Invert dropdown filters" -- You can enter text, attach one or more documents, or use both. At least one input is required. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::MYTASKS::ASSISTANTMYTASKS::T1442535450"] = "You can enter text, attach one or more documents, or use both. At least one input is required." diff --git a/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor b/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor index b7e23e9b..8e80856a 100644 --- a/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor +++ b/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor @@ -13,17 +13,22 @@ @T("Usage log") @T("Startup log") - + + + @if (!this.autoRefresh) { - - @T("Refresh") - + + + } - - @T("Open in folder") - + + + + + + @@ -51,19 +56,20 @@ } - + + + + + + - - - @T("Clear") - - - @T("Copy visible lines") - - - + + + + + diff --git a/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor.cs b/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor.cs index dfccfcd7..dbeb98fe 100644 --- a/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor.cs +++ b/app/MindWork AI Studio/Assistants/LogViewer/AssistantLogViewer.razor.cs @@ -56,8 +56,10 @@ public partial class AssistantLogViewer : MSGComponentBase private List sourceDetailOptions = [OTHER_OPTION_VALUE]; private string[] activeSearchTerms = []; + private string[] activeExcludeTerms = []; private CancellationTokenSource? autoRefreshCancellationTokenSource; private string filterText = string.Empty; + private string excludeText = string.Empty; private string loadError = string.Empty; private bool isLoading; private bool autoRefresh; @@ -75,12 +77,41 @@ public partial class AssistantLogViewer : MSGComponentBase private bool HasDropdownFilter => this.selectedLogLevels.Count > 0 || this.selectedLoggers.Count > 0 || this.selectedSourceDetails.Count > 0; - private bool HasActiveFilter => !string.IsNullOrWhiteSpace(this.filterText) || this.HasDropdownFilter || this.invertFilters; - - private bool HasActiveVisibilityFilter => this.HasDropdownFilter || (this.filterOnly && this.activeSearchTerms.Length > 0); - private bool CanCopyDisplayedLines => this.displayLines.Count > 0; + private string AutoRefreshTooltip => this.autoRefresh ? T("Disable auto-refresh") : T("Enable auto-refresh"); + + private Variant AutoRefreshButtonVariant => GetToggleVariant(this.autoRefresh); + + private Color AutoRefreshButtonColor => GetToggleColor(this.autoRefresh); + + private string FilterOnlyTooltip => this.filterOnly ? T("Highlight matches without hiding lines") : T("Show only matching lines"); + + private Variant FilterOnlyButtonVariant => GetToggleVariant(this.filterOnly); + + private Color FilterOnlyButtonColor => GetToggleColor(this.filterOnly); + + private string ShowTimestampsTooltip => this.showTimestamps ? T("Hide timestamps") : T("Show timestamps"); + + private Variant ShowTimestampsButtonVariant => GetToggleVariant(this.showTimestamps); + + private Color ShowTimestampsButtonColor => GetToggleColor(this.showTimestamps); + + private string InvertFiltersTooltip + { + get + { + if (!this.HasDropdownFilter) + return T("Select a dropdown filter to invert"); + + return this.invertFilters ? T("Disable inverted dropdown filters") : T("Invert dropdown filters"); + } + } + + private Variant InvertFiltersButtonVariant => GetToggleVariant(this.invertFilters); + + private Color InvertFiltersButtonColor => GetToggleColor(this.invertFilters); + private string FilterText { get => this.filterText; @@ -94,6 +125,19 @@ public partial class AssistantLogViewer : MSGComponentBase } } + private string ExcludeText + { + get => this.excludeText; + set + { + if (this.excludeText == value) + return; + + this.excludeText = value; + this.RefreshDisplayLines(); + } + } + private bool FilterOnly { get => this.filterOnly; @@ -112,10 +156,11 @@ public partial class AssistantLogViewer : MSGComponentBase get => this.invertFilters; set { - if (this.invertFilters == value) + var normalizedValue = value && this.HasDropdownFilter; + if (this.invertFilters == normalizedValue) return; - this.invertFilters = value; + this.invertFilters = normalizedValue; this.RefreshDisplayLines(); } } @@ -188,6 +233,7 @@ public partial class AssistantLogViewer : MSGComponentBase private Task SelectedLogLevelsChanged(IEnumerable? selectedValues) { UpdateSelectedValues(this.selectedLogLevels, selectedValues); + this.DisableInvertFiltersIfNoDropdownFilter(); this.RefreshDisplayLines(); return Task.CompletedTask; } @@ -195,6 +241,7 @@ public partial class AssistantLogViewer : MSGComponentBase private Task SelectedLoggersChanged(IEnumerable? selectedValues) { UpdateSelectedValues(this.selectedLoggers, selectedValues); + this.DisableInvertFiltersIfNoDropdownFilter(); this.RefreshDisplayLines(); return Task.CompletedTask; } @@ -202,6 +249,7 @@ public partial class AssistantLogViewer : MSGComponentBase private Task SelectedSourceDetailsChanged(IEnumerable? selectedValues) { UpdateSelectedValues(this.selectedSourceDetails, selectedValues); + this.DisableInvertFiltersIfNoDropdownFilter(); this.RefreshDisplayLines(); return Task.CompletedTask; } @@ -217,6 +265,26 @@ public partial class AssistantLogViewer : MSGComponentBase await Task.CompletedTask; } + private async Task ToggleAutoRefresh() + { + await this.AutoRefreshChanged(!this.autoRefresh); + } + + private void ToggleFilterOnly() + { + this.FilterOnly = !this.filterOnly; + } + + private void ToggleShowTimestamps() + { + this.ShowTimestamps = !this.showTimestamps; + } + + private void ToggleInvertFilters() + { + this.InvertFilters = !this.invertFilters; + } + private async Task MaxLinesChanged(int value) { var normalizedValue = Math.Clamp(value, MIN_MAX_LINES, MAX_MAX_LINES); @@ -280,13 +348,15 @@ public partial class AssistantLogViewer : MSGComponentBase }); } - private void ClearFilters() + private void ClearFilterText() { this.filterText = string.Empty; - this.selectedLogLevels.Clear(); - this.selectedLoggers.Clear(); - this.selectedSourceDetails.Clear(); - this.invertFilters = false; + this.RefreshDisplayLines(); + } + + private void ClearExcludeText() + { + this.excludeText = string.Empty; this.RefreshDisplayLines(); } @@ -384,11 +454,29 @@ public partial class AssistantLogViewer : MSGComponentBase NormalizeSelectedValues(this.selectedLogLevels, this.logLevelOptions); NormalizeSelectedValues(this.selectedLoggers, this.loggerOptions); NormalizeSelectedValues(this.selectedSourceDetails, this.sourceDetailOptions); + this.DisableInvertFiltersIfNoDropdownFilter(); + } + + private void DisableInvertFiltersIfNoDropdownFilter() + { + if (!this.HasDropdownFilter) + this.invertFilters = false; + } + + private static Variant GetToggleVariant(bool isActive) + { + return isActive ? Variant.Filled : Variant.Outlined; + } + + private static Color GetToggleColor(bool isActive) + { + return isActive ? Color.Primary : Color.Default; } private void RefreshDisplayLines() { this.activeSearchTerms = BuildSearchTerms(this.filterText); + this.activeExcludeTerms = BuildSearchTerms(this.excludeText); this.displayLines = this.loadedLines .Where(this.LineMatchesFilters) .ToList(); @@ -396,41 +484,26 @@ public partial class AssistantLogViewer : MSGComponentBase private bool LineMatchesFilters(LogLine line) { - if (this.invertFilters && this.HasActiveVisibilityFilter) - return !this.LineMatchesAnyActiveFilter(line); + if (!this.LineMatchesDropdownFilters(line)) + return false; - return this.LineMatchesActiveFilters(line); + var renderedLine = this.GetPlainRenderedLine(line); + if (this.filterOnly && this.activeSearchTerms.Length > 0 && !MatchesSearchTerms(renderedLine, this.activeSearchTerms)) + return false; + + return this.activeExcludeTerms.Length == 0 || !MatchesSearchTerms(renderedLine, this.activeExcludeTerms); } - private bool LineMatchesActiveFilters(LogLine line) + private bool LineMatchesDropdownFilters(LogLine line) { - if (!MatchesSelection(line.Segments.Level, this.selectedLogLevels)) - return false; + var matchesDropdownFilters = MatchesSelection(line.Segments.Level, this.selectedLogLevels) + && MatchesSelection(line.Segments.Logger, this.selectedLoggers) + && MatchesSelection(line.Segments.SourceDetails, this.selectedSourceDetails); - if (!MatchesSelection(line.Segments.Logger, this.selectedLoggers)) - return false; - - if (!MatchesSelection(line.Segments.SourceDetails, this.selectedSourceDetails)) - return false; - - if (!this.filterOnly || this.activeSearchTerms.Length == 0) + if (!this.HasDropdownFilter) return true; - return MatchesSearchTerms(this.GetPlainRenderedLine(line), this.activeSearchTerms); - } - - private bool LineMatchesAnyActiveFilter(LogLine line) - { - if (ActiveSelectionMatches(line.Segments.Level, this.selectedLogLevels)) - return true; - - if (ActiveSelectionMatches(line.Segments.Logger, this.selectedLoggers)) - return true; - - if (ActiveSelectionMatches(line.Segments.SourceDetails, this.selectedSourceDetails)) - return true; - - return this.filterOnly && this.activeSearchTerms.Length > 0 && MatchesSearchTerms(this.GetPlainRenderedLine(line), this.activeSearchTerms); + return this.invertFilters ? !matchesDropdownFilters : matchesDropdownFilters; } private string RenderLine(LogLine line) diff --git a/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua b/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua index 4768f267..4d3f9733 100644 --- a/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua +++ b/app/MindWork AI Studio/Plugins/languages/de-de-43065dbc-78d0-45b7-92be-f14c2926e2dc/plugin.lua @@ -1617,6 +1617,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T114706247 -- Select a log file UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1231773010"] = "Protokolldatei auswählen" +-- Show only matching lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T131451442"] = "Nur passende Zeilen anzeigen" + -- Log level UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1318706515"] = "Protokollierungsstufe" @@ -1647,6 +1650,12 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T228853842 -- Showing {0} of {1} lines. Last refresh: {2}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2378353570"] = "Anzeige von {0} von {1} Zeilen. Letzte Aktualisierung: {2}." +-- Disable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T240826492"] = "Automatische Aktualisierung deaktivieren" + +-- Enable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2467283075"] = "Automatische Aktualisierung aktivieren" + -- No matching log lines. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2511997530"] = "Keine passenden Protokollzeilen." @@ -1659,10 +1668,10 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T268681396 -- Loaded {0} lines. Last refresh: {1}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2920304709"] = "{0} Zeilen geladen. Letzte Aktualisierung: {1}." --- Filter only -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3152625639"] = "Nur filtern" +-- Disable inverted dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3035207754"] = "Invertierung der Dropdown-Filter deaktivieren" --- Copy visible lines +-- Copy view UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3292961985"] = "Ansicht kopieren" -- Loading log file... @@ -1671,21 +1680,24 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T333036481 -- Unknown error UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3461425987"] = "Unbekannter Fehler" +-- Exclude +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3551498825"] = "Ausschließen" + -- The log file path is not available yet. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3686775689"] = "Der Pfad zur Protokolldatei ist noch nicht verfügbar." -- Logger UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T376222229"] = "Logger" --- Auto-refresh -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3837203600"] = "Automatisch aktualisieren" - -- not loaded yet UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3863250749"] = "noch nicht geladen" -- Loading... UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T397479987"] = "Wird geladen..." +-- Select a dropdown filter to invert +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3991737584"] = "Wählen Sie einen Dropdown-Filter zur Invertierung aus" + -- Usage log UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4031747274"] = "Nutzungsprotokoll" @@ -1698,14 +1710,17 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T413024177 -- Opened the log file location. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4162897654"] = "Der Speicherort der Protokolldatei wurde geöffnet." +-- Hide timestamps +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4263992002"] = "Zeitstempel ausblenden" + -- Show timestamps UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T469116133"] = "Zeitstempel anzeigen" --- Invert filters -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T721900298"] = "Filter umkehren" +-- Highlight matches without hiding lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T661180902"] = "Treffer hervorheben, ohne übrige Zeilen auszublenden" --- Clear -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T77955010"] = "Löschen" +-- Invert dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T8477641"] = "Dropdown-Filter invertieren" -- You can enter text, attach one or more documents, or use both. At least one input is required. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::MYTASKS::ASSISTANTMYTASKS::T1442535450"] = "Sie können Text eingeben, ein oder mehrere Dokumente anhängen oder beides verwenden. Mindestens eine Eingabe ist erforderlich." diff --git a/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua b/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua index f7792d12..b4669564 100644 --- a/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua +++ b/app/MindWork AI Studio/Plugins/languages/en-us-97dfb1ba-50c4-4440-8dfa-6575daf543c8/plugin.lua @@ -1617,6 +1617,9 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T114706247 -- Select a log file UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1231773010"] = "Select a log file" +-- Show only matching lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T131451442"] = "Show only matching lines" + -- Log level UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T1318706515"] = "Log level" @@ -1647,6 +1650,12 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T228853842 -- Showing {0} of {1} lines. Last refresh: {2}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2378353570"] = "Showing {0} of {1} lines. Last refresh: {2}." +-- Disable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T240826492"] = "Disable auto-refresh" + +-- Enable auto-refresh +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2467283075"] = "Enable auto-refresh" + -- No matching log lines. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2511997530"] = "No matching log lines." @@ -1659,10 +1668,10 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T268681396 -- Loaded {0} lines. Last refresh: {1}. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T2920304709"] = "Loaded {0} lines. Last refresh: {1}." --- Filter only -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3152625639"] = "Filter only" +-- Disable inverted dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3035207754"] = "Disable inverted dropdown filters" --- Copy visible lines +-- Copy view UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3292961985"] = "Copy view" -- Loading log file... @@ -1671,21 +1680,24 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T333036481 -- Unknown error UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3461425987"] = "Unknown error" +-- Exclude +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3551498825"] = "Exclude" + -- The log file path is not available yet. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3686775689"] = "The log file path is not available yet." -- Logger UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T376222229"] = "Logger" --- Auto-refresh -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3837203600"] = "Auto-refresh" - -- not loaded yet UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3863250749"] = "not loaded yet" -- Loading... UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T397479987"] = "Loading..." +-- Select a dropdown filter to invert +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T3991737584"] = "Select a dropdown filter to invert" + -- Usage log UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4031747274"] = "Usage log" @@ -1698,14 +1710,17 @@ UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T413024177 -- Opened the log file location. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4162897654"] = "Opened the log file location." +-- Hide timestamps +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T4263992002"] = "Hide timestamps" + -- Show timestamps UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T469116133"] = "Show timestamps" --- Invert filters -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T721900298"] = "Invert filters" +-- Highlight matches without hiding other lines +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T661180902"] = "Highlight matches without hiding other lines" --- Clear -UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T77955010"] = "Clear" +-- Invert dropdown filters +UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::LOGVIEWER::ASSISTANTLOGVIEWER::T8477641"] = "Invert dropdown filters" -- You can enter text, attach one or more documents, or use both. At least one input is required. UI_TEXT_CONTENT["AISTUDIO::ASSISTANTS::MYTASKS::ASSISTANTMYTASKS::T1442535450"] = "You can enter text, attach one or more documents, or use both. At least one input is required."