From aebce743ac742d620491e89d608e56d3d524dc9b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 May 2026 06:03:36 +0000 Subject: [PATCH] fix(localization): add x:Uid to 9 hard-coded XAML strings across 5 pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add x:Uid attributes to controls that had user-facing text without localization support, and add matching resource keys to all 5 locale files (en-us, fr-fr, nl-nl, zh-cn, zh-tw). Fixed pages: - AgentEventsPage: LiveText indicator (invariant — Live is a universal broadcast/status term, added to InvariantOrDeferredResourceKeys) - SessionsPage: page subtitle, empty-state subtitle, Open chat button - SkillsPage: Enabled/Disabled expander headers (keys already existed) - VoiceSettingsPage: PiperPreviewLabel and PreviewVoiceLabel buttons - HubWindow: TitleStatusText (key already existed as HubWindow_Disconnected) Reduces candidate hard-coded XAML strings from 68 to 30. Remaining 30 warnings are all in CronPage.xaml (complex form) and SandboxPage.xaml (long prose description) — deferred as separate work. LocalizationValidationTests: all 10 pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Pages/AgentEventsPage.xaml | 2 +- .../Pages/SessionsPage.xaml | 8 ++++---- src/OpenClaw.Tray.WinUI/Pages/SkillsPage.xaml | 4 ++-- .../Pages/VoiceSettingsPage.xaml | 4 ++-- .../Strings/en-us/Resources.resw | 18 ++++++++++++++++++ .../Strings/fr-fr/Resources.resw | 18 ++++++++++++++++++ .../Strings/nl-nl/Resources.resw | 18 ++++++++++++++++++ .../Strings/zh-cn/Resources.resw | 17 +++++++++++++++++ .../Strings/zh-tw/Resources.resw | 17 +++++++++++++++++ src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml | 2 +- .../LocalizationValidationTests.cs | 4 ++++ 11 files changed, 102 insertions(+), 10 deletions(-) diff --git a/src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml index 2d3a08457..f47062f8d 100644 --- a/src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml +++ b/src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml @@ -21,7 +21,7 @@ Background="#20FF4444"> - diff --git a/src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml index 7aa4124bc..b746c99e2 100644 --- a/src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml +++ b/src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml @@ -31,7 +31,7 @@ Text="Sessions" Style="{StaticResource TitleTextBlockStyle}" Margin="0,0,0,2"/> - @@ -100,7 +100,7 @@ Text="No active sessions" Style="{StaticResource BodyStrongTextBlockStyle}" HorizontalAlignment="Center"/> - - @@ -211,7 +211,7 @@ Width="140"> - + diff --git a/src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw b/src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw index 6c3ca04b0..ab82193c1 100644 --- a/src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw +++ b/src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw @@ -4514,4 +4514,22 @@ On your gateway host (Mac/Linux), run: Advanced + + + Live + + + Conversations this gateway is currently handling, grouped by channel. + + + Sessions appear here when a channel is connected and traffic is flowing. + + + Open chat + + + Preview + + + Preview Voice diff --git a/src/OpenClaw.Tray.WinUI/Strings/fr-fr/Resources.resw b/src/OpenClaw.Tray.WinUI/Strings/fr-fr/Resources.resw index 4d968bfd3..35f664337 100644 --- a/src/OpenClaw.Tray.WinUI/Strings/fr-fr/Resources.resw +++ b/src/OpenClaw.Tray.WinUI/Strings/fr-fr/Resources.resw @@ -4466,4 +4466,22 @@ Sur votre hôte passerelle (Mac/Linux), exécutez : Avancé + + + Live + + + Conversations actuellement gérées par cette passerelle, regroupées par canal. + + + Les sessions s'affichent ici lorsqu'un canal est connecté et que le trafic circule. + + + Ouvrir le chat + + + Aperçu + + + Aperçu de la voix diff --git a/src/OpenClaw.Tray.WinUI/Strings/nl-nl/Resources.resw b/src/OpenClaw.Tray.WinUI/Strings/nl-nl/Resources.resw index e75a64202..487cd3026 100644 --- a/src/OpenClaw.Tray.WinUI/Strings/nl-nl/Resources.resw +++ b/src/OpenClaw.Tray.WinUI/Strings/nl-nl/Resources.resw @@ -4467,4 +4467,22 @@ Voer op uw gateway-host (Mac/Linux) uit: Geavanceerd + + + Live + + + Gesprekken die deze gateway momenteel afhandelt, gegroepeerd per kanaal. + + + Sessies verschijnen hier wanneer een kanaal is verbonden en er verkeer stroomt. + + + Chat openen + + + Voorbeeld + + + Stem bekijken diff --git a/src/OpenClaw.Tray.WinUI/Strings/zh-cn/Resources.resw b/src/OpenClaw.Tray.WinUI/Strings/zh-cn/Resources.resw index 629cc1db5..81ae086ae 100644 --- a/src/OpenClaw.Tray.WinUI/Strings/zh-cn/Resources.resw +++ b/src/OpenClaw.Tray.WinUI/Strings/zh-cn/Resources.resw @@ -4466,5 +4466,22 @@ 高级 + + Live + + + 此网关当前处理的对话,按频道分组。 + + + 当频道连接且流量流动时,会话会出现在此处。 + + + 打开聊天 + + + 预览 + + + 预览语音 diff --git a/src/OpenClaw.Tray.WinUI/Strings/zh-tw/Resources.resw b/src/OpenClaw.Tray.WinUI/Strings/zh-tw/Resources.resw index 1953ed378..1e8a7d5f3 100644 --- a/src/OpenClaw.Tray.WinUI/Strings/zh-tw/Resources.resw +++ b/src/OpenClaw.Tray.WinUI/Strings/zh-tw/Resources.resw @@ -4466,5 +4466,22 @@ 進階 + + Live + + + 此網關目前處理的對話,依頻道分組。 + + + 當頻道連接且流量流通時,工作階段會顯示在此處。 + + + 開啟聊天 + + + 預覽 + + + 預覽語音 diff --git a/src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml b/src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml index bc75f9e47..a6e8dd3be 100644 --- a/src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml +++ b/src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml @@ -77,7 +77,7 @@ Tapped="OnTitleBarStatusTapped"> - diff --git a/tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs b/tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs index ae5d2812a..14fc31128 100644 --- a/tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs +++ b/tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs @@ -169,6 +169,10 @@ public class LocalizationValidationTests "SandboxPage_1MiB.Content", "SandboxPage_64MiB.Content", "SandboxPage_SystemRun.Text", + // "Live" indicator label — internationally recognized UI term used + // in broadcast, streaming, and real-time status indicators worldwide. + // No translation provides additional clarity; kept invariant. + "AgentEventsPage_LiveText.Text", }; private static readonly string[] RequiredRuntimeOnboardingKeys =