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 =