@@ -400,7 +400,7 @@ private MenuFlyout BuildTrayMenuFlyout()
400400 // Sessions
401401 if ( _lastSessions . Length > 0 )
402402 {
403- var sessionsMenu = new MenuFlyoutSubItem { Text = $ "📋 Sessions ( { _lastSessions . Length } ) " } ;
403+ var sessionsMenu = new MenuFlyoutSubItem { Text = $ "📋 { string . Format ( LocalizationHelper . GetString ( "Menu_SessionsFormat" ) , _lastSessions . Length ) } " } ;
404404 foreach ( var session in _lastSessions . Take ( 5 ) )
405405 {
406406 var sessionItem = new MenuFlyoutItem { Text = session . DisplayText } ;
@@ -733,7 +733,7 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
733733
734734 // Status
735735 var statusIcon = MenuDisplayHelper . GetStatusIcon ( _currentStatus ) ;
736- menu . AddMenuItem ( $ "Status: { _currentStatus } " , statusIcon , "status" ) ;
736+ menu . AddMenuItem ( string . Format ( LocalizationHelper . GetString ( "Menu_StatusFormat" ) , LocalizationHelper . GetConnectionStatusText ( _currentStatus ) ) , statusIcon , "status" ) ;
737737
738738 // Activity (if any)
739739 if ( _currentActivity != null && _currentActivity . Kind != OpenClaw . Shared . ActivityKind . Idle )
@@ -745,14 +745,14 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
745745 if ( _lastUsage != null || _lastUsageStatus != null || _lastUsageCost != null )
746746 {
747747 var usageText = _lastUsage ? . DisplayText ;
748- if ( string . IsNullOrWhiteSpace ( usageText ) || string . Equals ( usageText , "No usage data" , StringComparison . Ordinal ) )
748+ if ( string . IsNullOrWhiteSpace ( usageText ) || string . Equals ( usageText , "No usage data" , StringComparison . Ordinal ) || string . Equals ( usageText , LocalizationHelper . GetString ( "Menu_NoUsageData" ) , StringComparison . Ordinal ) )
749749 {
750750 usageText = _lastUsageStatus ? . Providers . Count > 0
751751 ? MenuDisplayHelper . FormatProviderSummary ( _lastUsageStatus . Providers . Count )
752- : "No usage data" ;
752+ : LocalizationHelper . GetString ( "Menu_NoUsageData" ) ;
753753 }
754754
755- menu . AddMenuItem ( usageText ?? "No usage data" , "📊" , "activity:usage" ) ;
755+ menu . AddMenuItem ( usageText ?? LocalizationHelper . GetString ( "Menu_NoUsageData" ) , "📊" , "activity:usage" ) ;
756756
757757 if ( ! string . IsNullOrWhiteSpace ( _lastUsage ? . ProviderSummary ) )
758758 {
@@ -793,28 +793,28 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
793793
794794 if ( _nodeService . IsPendingApproval )
795795 {
796- menu . AddMenuItem ( "⏳ Waiting for approval..." , "" , "" , isEnabled : false , indent : true ) ;
796+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_NodeWaitingApproval" ) , "" , "" , isEnabled : false , indent : true ) ;
797797 menu . AddMenuItem ( $ "ID: { _nodeService . ShortDeviceId } ...", "" , "copydeviceid" , indent : true ) ;
798798 }
799799 else if ( _nodeService . IsPaired && _nodeService . IsConnected )
800800 {
801- menu . AddMenuItem ( "✅ Paired & Connected" , "" , "" , isEnabled : false , indent : true ) ;
801+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_NodePairedConnected" ) , "" , "" , isEnabled : false , indent : true ) ;
802802 }
803803 else if ( _nodeService . IsConnected )
804804 {
805- menu . AddMenuItem ( "🔄 Connecting..." , "" , "" , isEnabled : false , indent : true ) ;
805+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_NodeConnecting" ) , "" , "" , isEnabled : false , indent : true ) ;
806806 }
807807 else
808808 {
809- menu . AddMenuItem ( "⚪ Disconnected" , "" , "" , isEnabled : false , indent : true ) ;
809+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_NodeDisconnected" ) , "" , "" , isEnabled : false , indent : true ) ;
810810 }
811811 }
812812
813813 // Sessions (if any) - show meaningful info like the WinForms version
814814 if ( _lastSessions . Length > 0 )
815815 {
816816 menu . AddSeparator ( ) ;
817- menu . AddMenuItem ( $ "Sessions ( { _lastSessions . Length } )" , "💬" , "activity:sessions" ) ;
817+ menu . AddMenuItem ( string . Format ( LocalizationHelper . GetString ( "Menu_SessionsFormat" ) , _lastSessions . Length ) , "💬" , "activity:sessions" ) ;
818818
819819 var visibleSessions = _lastSessions . Take ( 3 ) . ToArray ( ) ;
820820 foreach ( var session in visibleSessions )
@@ -858,10 +858,10 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
858858 "📝" ,
859859 $ "session-verbose|{ nextVerbose } |{ session . Key } ",
860860 indent : true ) ;
861- menu . AddMenuItem ( "↳ Reset session" , "♻️" , $ "session-reset|{ session . Key } ", indent : true ) ;
862- menu . AddMenuItem ( "↳ Compact log" , "🗜️" , $ "session-compact|{ session . Key } ", indent : true ) ;
861+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_ResetSession" ) , "♻️" , $ "session-reset|{ session . Key } ", indent : true ) ;
862+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_CompactLog" ) , "🗜️" , $ "session-compact|{ session . Key } ", indent : true ) ;
863863 if ( ! session . IsMain && ! string . Equals ( session . Key , "global" , StringComparison . OrdinalIgnoreCase ) )
864- menu . AddMenuItem ( "↳ Delete session" , "🗑️" , $ "session-delete|{ session . Key } ", indent : true ) ;
864+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_DeleteSession" ) , "🗑️" , $ "session-delete|{ session . Key } ", indent : true ) ;
865865 }
866866 if ( _lastSessions . Length > visibleSessions . Length )
867867 menu . AddMenuItem ( $ "+{ _lastSessions . Length - visibleSessions . Length } more...", "" , "" , isEnabled : false , indent : true ) ;
@@ -885,7 +885,7 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
885885 if ( _lastNodes . Length > 0 )
886886 {
887887 menu . AddSeparator ( ) ;
888- menu . AddMenuItem ( $ "Nodes ( { _lastNodes . Length } )" , "🖥️" , "activity:nodes" ) ;
888+ menu . AddMenuItem ( string . Format ( LocalizationHelper . GetString ( "Menu_NodesFormat" ) , _lastNodes . Length ) , "🖥️" , "activity:nodes" ) ;
889889
890890 var visibleNodes = _lastNodes . Take ( 3 ) . ToArray ( ) ;
891891 foreach ( var node in visibleNodes )
@@ -898,15 +898,15 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
898898 if ( _lastNodes . Length > visibleNodes . Length )
899899 menu . AddMenuItem ( $ "+{ _lastNodes . Length - visibleNodes . Length } more...", "" , "" , isEnabled : false , indent : true ) ;
900900
901- menu . AddMenuItem ( "Copy node summary" , "📋" , "copynodesummary" , indent : true ) ;
901+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_CopyNodeSummary" ) , "📋" , "copynodesummary" , indent : true ) ;
902902 }
903903
904904 var recentActivity = GetRecentActivity ( maxItems : 4 ) ;
905905 if ( recentActivity . Count > 0 )
906906 {
907907 menu . AddSeparator ( ) ;
908908 var totalActivity = ActivityStreamService . GetItems ( ) . Count ;
909- menu . AddMenuItem ( $ "Recent Activity ( { totalActivity } )" , "⚡" , "activity" ) ;
909+ menu . AddMenuItem ( string . Format ( LocalizationHelper . GetString ( "Menu_RecentActivityFormat" ) , totalActivity ) , "⚡" , "activity" ) ;
910910 foreach ( var line in recentActivity )
911911 {
912912 menu . AddMenuItem ( TruncateMenuText ( line , 94 ) , "" , "" , isEnabled : false , indent : true ) ;
@@ -916,24 +916,26 @@ private void BuildTrayMenuPopup(TrayMenuWindow menu)
916916 menu . AddSeparator ( ) ;
917917
918918 // Actions
919- menu . AddMenuItem ( "Open Dashboard" , "🌐" , "dashboard" ) ;
920- menu . AddMenuItem ( "Open Web Chat" , "💬" , "webchat" ) ;
921- menu . AddMenuItem ( "Quick Send..." , "📤" , "quicksend" ) ;
922- menu . AddMenuItem ( "Activity Stream..." , "⚡" , "activity" ) ;
923- menu . AddMenuItem ( "Notification History..." , "📋" , "history" ) ;
924- menu . AddMenuItem ( "Run Health Check" , "🔄" , "healthcheck" ) ;
919+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_OpenDashboard" ) , "🌐" , "dashboard" ) ;
920+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_OpenWebChat" ) , "💬" , "webchat" ) ;
921+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_QuickSend" ) , "📤" , "quicksend" ) ;
922+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_ActivityStream" ) , "⚡" , "activity" ) ;
923+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_NotificationHistory" ) , "📋" , "history" ) ;
924+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_RunHealthCheck" ) , "🔄" , "healthcheck" ) ;
925925
926926 menu . AddSeparator ( ) ;
927927
928928 // Settings
929- menu . AddMenuItem ( "Settings..." , "⚙️" , "settings" ) ;
930- var autoStartText = ( _settings ? . AutoStart ?? false ) ? "Auto-start ✓" : "Auto-start" ;
929+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_Settings" ) , "⚙️" , "settings" ) ;
930+ var autoStartText = ( _settings ? . AutoStart ?? false )
931+ ? LocalizationHelper . GetString ( "Menu_AutoStartEnabled" )
932+ : LocalizationHelper . GetString ( "Menu_AutoStart" ) ;
931933 menu . AddMenuItem ( autoStartText , "🚀" , "autostart" ) ;
932934
933935 menu . AddSeparator ( ) ;
934936
935- menu . AddMenuItem ( "Open Log File" , "📄" , "log" ) ;
936- menu . AddMenuItem ( "Exit" , "❌" , "exit" ) ;
937+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_OpenLogFile" ) , "📄" , "log" ) ;
938+ menu . AddMenuItem ( LocalizationHelper . GetString ( "Menu_Exit" ) , "❌" , "exit" ) ;
937939 }
938940
939941 // Keep the old MenuFlyout method for reference but it won't be used
@@ -985,7 +987,7 @@ private void BuildTrayMenu(MenuFlyout flyout)
985987 flyout . Items . Add ( new MenuFlyoutSeparator ( ) ) ;
986988 var sessionsHeader = new MenuFlyoutItem
987989 {
988- Text = $ "💬 Sessions ( { _lastSessions . Length } ) "
990+ Text = $ "💬 { string . Format ( LocalizationHelper . GetString ( "Menu_SessionsFormat" ) , _lastSessions . Length ) } "
989991 } ;
990992 sessionsHeader . Click += ( s , e ) => OpenDashboard ( "sessions" ) ;
991993 flyout . Items . Add ( sessionsHeader ) ;
0 commit comments