fix: localize main status and debug ribbon
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<data name="Main_Report" xml:space="preserve"><value>Report</value></data><data name="Main_ReportGeneration" xml:space="preserve"><value>Generate Report</value></data>
|
||||
<data name="Button_Login" xml:space="preserve"><value>Log in</value></data><data name="Role_SuperAdmin" xml:space="preserve"><value>Super Administrator</value></data><data name="Role_Admin" xml:space="preserve"><value>Administrator</value></data><data name="Role_User" xml:space="preserve"><value>User</value></data><data name="Main_RealtimePipeline" xml:space="preserve"><value>Live Pipeline</value></data><data name="Main_CncOrchestration" xml:space="preserve"><value>CNC Orchestration</value></data><data name="Main_CloseOrchestration" xml:space="preserve"><value>Close Orchestration</value></data><data name="Main_SoftwareInfo" xml:space="preserve"><value>Software Info</value></data>
|
||||
<data name="Main_Settings" xml:space="preserve"><value>Settings</value></data>
|
||||
<data name="Main_Home" xml:space="preserve"><value>Home</value></data><data name="Main_File" xml:space="preserve"><value>File</value></data><data name="Main_NewCnc" xml:space="preserve"><value>New CNC</value></data><data name="Main_SaveAs" xml:space="preserve"><value>Save As</value></data><data name="Main_LoadCnc" xml:space="preserve"><value>Load CNC</value></data><data name="Main_ImportCncPackage" xml:space="preserve"><value>Import CNC Package</value></data><data name="Main_ExportCncPackage" xml:space="preserve"><value>Export CNC Package</value></data><data name="Main_Program" xml:space="preserve"><value>Program</value></data><data name="Main_Run" xml:space="preserve"><value>Run</value></data><data name="Main_Stop" xml:space="preserve"><value>Stop</value></data><data name="Main_Realtime" xml:space="preserve"><value>Live</value></data><data name="Main_OpenDoor" xml:space="preserve"><value>Open Door</value></data><data name="Main_CloseDoor" xml:space="preserve"><value>Close Door</value></data><data name="Main_3DScan" xml:space="preserve"><value>3D Scan</value></data><data name="Main_ScanMode" xml:space="preserve"><value>Scan Mode</value></data><data name="Main_CTScan" xml:space="preserve"><value>CT Scan</value></data><data name="Main_Help" xml:space="preserve"><value>Help</value></data><data name="Main_UserManual" xml:space="preserve"><value>User Manual</value></data>
|
||||
<data name="Settings_Logging" xml:space="preserve"><value>Logging</value></data><data name="Settings_XraySource" xml:space="preserve"><value>X-ray Source</value></data><data name="Settings_Detector" xml:space="preserve"><value>Detector</value></data><data name="Settings_MotionControl" xml:space="preserve"><value>Motion Control</value></data><data name="Settings_NavigationCamera" xml:space="preserve"><value>Navigation Camera</value></data><data name="Settings_Accounts" xml:space="preserve"><value>Accounts and Passwords</value></data>
|
||||
<data name="QfnPanel_Result" xml:space="preserve"><value>Lead Inspection Results</value></data>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<data name="Main_Report" xml:space="preserve"><value>报告</value></data><data name="Main_ReportGeneration" xml:space="preserve"><value>报告生成</value></data>
|
||||
<data name="Button_Login" xml:space="preserve"><value>登录</value></data><data name="Role_SuperAdmin" xml:space="preserve"><value>超级管理员</value></data><data name="Role_Admin" xml:space="preserve"><value>管理员</value></data><data name="Role_User" xml:space="preserve"><value>用户</value></data><data name="Main_RealtimePipeline" xml:space="preserve"><value>实时流水线</value></data><data name="Main_CncOrchestration" xml:space="preserve"><value>CNC 编排</value></data><data name="Main_CloseOrchestration" xml:space="preserve"><value>关闭编排</value></data><data name="Main_SoftwareInfo" xml:space="preserve"><value>软件信息</value></data>
|
||||
<data name="Main_Settings" xml:space="preserve"><value>设置</value></data>
|
||||
<data name="Main_Home" xml:space="preserve"><value>主页</value></data><data name="Main_File" xml:space="preserve"><value>文件</value></data><data name="Main_NewCnc" xml:space="preserve"><value>新建CNC</value></data><data name="Main_SaveAs" xml:space="preserve"><value>另存为</value></data><data name="Main_LoadCnc" xml:space="preserve"><value>加载CNC</value></data><data name="Main_ImportCncPackage" xml:space="preserve"><value>导入CNC包</value></data><data name="Main_ExportCncPackage" xml:space="preserve"><value>导出CNC包</value></data><data name="Main_Program" xml:space="preserve"><value>程序</value></data><data name="Main_Run" xml:space="preserve"><value>运行</value></data><data name="Main_Stop" xml:space="preserve"><value>停止</value></data><data name="Main_Realtime" xml:space="preserve"><value>实时</value></data><data name="Main_OpenDoor" xml:space="preserve"><value>开窗</value></data><data name="Main_CloseDoor" xml:space="preserve"><value>关窗</value></data><data name="Main_3DScan" xml:space="preserve"><value>3D扫描</value></data><data name="Main_ScanMode" xml:space="preserve"><value>扫描模式</value></data><data name="Main_CTScan" xml:space="preserve"><value>CT扫描</value></data><data name="Main_Help" xml:space="preserve"><value>帮助</value></data><data name="Main_UserManual" xml:space="preserve"><value>用户手册</value></data>
|
||||
<data name="Settings_Logging" xml:space="preserve"><value>日志</value></data><data name="Settings_XraySource" xml:space="preserve"><value>射线源</value></data><data name="Settings_Detector" xml:space="preserve"><value>探测器</value></data><data name="Settings_MotionControl" xml:space="preserve"><value>运动控制</value></data><data name="Settings_NavigationCamera" xml:space="preserve"><value>导航相机</value></data><data name="Settings_Accounts" xml:space="preserve"><value>账户与密码</value></data>
|
||||
<data name="QfnPanel_Result" xml:space="preserve"><value>引脚检测结果</value></data>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<data name="Main_Report" xml:space="preserve"><value>报告</value></data><data name="Main_ReportGeneration" xml:space="preserve"><value>报告生成</value></data>
|
||||
<data name="Button_Login" xml:space="preserve"><value>登录</value></data><data name="Role_SuperAdmin" xml:space="preserve"><value>超级管理员</value></data><data name="Role_Admin" xml:space="preserve"><value>管理员</value></data><data name="Role_User" xml:space="preserve"><value>用户</value></data><data name="Main_RealtimePipeline" xml:space="preserve"><value>实时流水线</value></data><data name="Main_CncOrchestration" xml:space="preserve"><value>CNC 编排</value></data><data name="Main_CloseOrchestration" xml:space="preserve"><value>关闭编排</value></data><data name="Main_SoftwareInfo" xml:space="preserve"><value>软件信息</value></data>
|
||||
<data name="Main_Settings" xml:space="preserve"><value>设置</value></data>
|
||||
<data name="Main_Home" xml:space="preserve"><value>主页</value></data><data name="Main_File" xml:space="preserve"><value>文件</value></data><data name="Main_NewCnc" xml:space="preserve"><value>新建CNC</value></data><data name="Main_SaveAs" xml:space="preserve"><value>另存为</value></data><data name="Main_LoadCnc" xml:space="preserve"><value>加载CNC</value></data><data name="Main_ImportCncPackage" xml:space="preserve"><value>导入CNC包</value></data><data name="Main_ExportCncPackage" xml:space="preserve"><value>导出CNC包</value></data><data name="Main_Program" xml:space="preserve"><value>程序</value></data><data name="Main_Run" xml:space="preserve"><value>运行</value></data><data name="Main_Stop" xml:space="preserve"><value>停止</value></data><data name="Main_Realtime" xml:space="preserve"><value>实时</value></data><data name="Main_OpenDoor" xml:space="preserve"><value>开窗</value></data><data name="Main_CloseDoor" xml:space="preserve"><value>关窗</value></data><data name="Main_3DScan" xml:space="preserve"><value>3D扫描</value></data><data name="Main_ScanMode" xml:space="preserve"><value>扫描模式</value></data><data name="Main_CTScan" xml:space="preserve"><value>CT扫描</value></data><data name="Main_Help" xml:space="preserve"><value>帮助</value></data><data name="Main_UserManual" xml:space="preserve"><value>用户手册</value></data>
|
||||
<data name="Settings_Logging" xml:space="preserve"><value>日志</value></data><data name="Settings_XraySource" xml:space="preserve"><value>射线源</value></data><data name="Settings_Detector" xml:space="preserve"><value>探测器</value></data><data name="Settings_MotionControl" xml:space="preserve"><value>运动控制</value></data><data name="Settings_NavigationCamera" xml:space="preserve"><value>导航相机</value></data><data name="Settings_Accounts" xml:space="preserve"><value>账户与密码</value></data>
|
||||
<data name="QfnPanel_Result" xml:space="preserve"><value>引脚检测结果</value></data>
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<data name="Main_Report" xml:space="preserve"><value>報告</value></data><data name="Main_ReportGeneration" xml:space="preserve"><value>產生報告</value></data>
|
||||
<data name="Button_Login" xml:space="preserve"><value>登入</value></data><data name="Role_SuperAdmin" xml:space="preserve"><value>超級管理員</value></data><data name="Role_Admin" xml:space="preserve"><value>管理員</value></data><data name="Role_User" xml:space="preserve"><value>使用者</value></data><data name="Main_RealtimePipeline" xml:space="preserve"><value>即時流水線</value></data><data name="Main_CncOrchestration" xml:space="preserve"><value>CNC 編排</value></data><data name="Main_CloseOrchestration" xml:space="preserve"><value>關閉編排</value></data><data name="Main_SoftwareInfo" xml:space="preserve"><value>軟體資訊</value></data>
|
||||
<data name="Main_Settings" xml:space="preserve"><value>設定</value></data>
|
||||
<data name="Main_Home" xml:space="preserve"><value>首頁</value></data><data name="Main_File" xml:space="preserve"><value>檔案</value></data><data name="Main_NewCnc" xml:space="preserve"><value>新增CNC</value></data><data name="Main_SaveAs" xml:space="preserve"><value>另存新檔</value></data><data name="Main_LoadCnc" xml:space="preserve"><value>載入CNC</value></data><data name="Main_ImportCncPackage" xml:space="preserve"><value>匯入CNC套件</value></data><data name="Main_ExportCncPackage" xml:space="preserve"><value>匯出CNC套件</value></data><data name="Main_Program" xml:space="preserve"><value>程式</value></data><data name="Main_Run" xml:space="preserve"><value>執行</value></data><data name="Main_Stop" xml:space="preserve"><value>停止</value></data><data name="Main_Realtime" xml:space="preserve"><value>即時</value></data><data name="Main_OpenDoor" xml:space="preserve"><value>開窗</value></data><data name="Main_CloseDoor" xml:space="preserve"><value>關窗</value></data><data name="Main_3DScan" xml:space="preserve"><value>3D掃描</value></data><data name="Main_ScanMode" xml:space="preserve"><value>掃描模式</value></data><data name="Main_CTScan" xml:space="preserve"><value>CT掃描</value></data><data name="Main_Help" xml:space="preserve"><value>說明</value></data><data name="Main_UserManual" xml:space="preserve"><value>使用者手冊</value></data>
|
||||
<data name="Settings_Logging" xml:space="preserve"><value>日誌</value></data><data name="Settings_XraySource" xml:space="preserve"><value>X光源</value></data><data name="Settings_Detector" xml:space="preserve"><value>探測器</value></data><data name="Settings_MotionControl" xml:space="preserve"><value>運動控制</value></data><data name="Settings_NavigationCamera" xml:space="preserve"><value>導航相機</value></data><data name="Settings_Accounts" xml:space="preserve"><value>帳戶與密碼</value></data>
|
||||
<data name="QfnPanel_Result" xml:space="preserve"><value>引腳檢測結果</value></data>
|
||||
|
||||
@@ -9,7 +9,9 @@ using System.Windows;
|
||||
using XplorePlane.Events;
|
||||
using XplorePlane.Services.AppState;
|
||||
using XplorePlane.Services.Security;
|
||||
using XplorePlane.Views.Security;
|
||||
using XplorePlane.Views.Security;
|
||||
using XP.Common.Localization;
|
||||
using XP.Common.Localization.Interfaces;
|
||||
|
||||
namespace XplorePlane.ViewModels.Main
|
||||
{
|
||||
@@ -23,7 +25,8 @@ namespace XplorePlane.ViewModels.Main
|
||||
private readonly IPermissionService _permissionService;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly IAppStateService _appStateService;
|
||||
private readonly IContainerProvider _containerProvider;
|
||||
private readonly IContainerProvider _containerProvider;
|
||||
private readonly ILocalizationService _localizationService;
|
||||
|
||||
private string _currentRoleDisplayName = string.Empty;
|
||||
private bool _canSwitchUser;
|
||||
@@ -47,20 +50,23 @@ namespace XplorePlane.ViewModels.Main
|
||||
|
||||
public RibbonStatusAreaViewModel(
|
||||
IPermissionService permissionService,
|
||||
IEventAggregator eventAggregator,
|
||||
IAppStateService appStateService,
|
||||
IContainerProvider containerProvider)
|
||||
IEventAggregator eventAggregator,
|
||||
IAppStateService appStateService,
|
||||
IContainerProvider containerProvider,
|
||||
ILocalizationService localizationService)
|
||||
{
|
||||
_permissionService = permissionService ?? throw new System.ArgumentNullException(nameof(permissionService));
|
||||
_eventAggregator = eventAggregator ?? throw new System.ArgumentNullException(nameof(eventAggregator));
|
||||
_appStateService = appStateService ?? throw new System.ArgumentNullException(nameof(appStateService));
|
||||
_containerProvider = containerProvider ?? throw new System.ArgumentNullException(nameof(containerProvider));
|
||||
_containerProvider = containerProvider ?? throw new System.ArgumentNullException(nameof(containerProvider));
|
||||
_localizationService = localizationService ?? throw new System.ArgumentNullException(nameof(localizationService));
|
||||
|
||||
SwitchUserCommand = new DelegateCommand(ExecuteSwitchUser, () => CanSwitchUser);
|
||||
|
||||
// Subscribe to RoleChangedEvent to update CurrentRoleDisplayName
|
||||
_eventAggregator.GetEvent<RoleChangedEvent>()
|
||||
.Subscribe(OnRoleChanged, ThreadOption.UIThread);
|
||||
_eventAggregator.GetEvent<RoleChangedEvent>()
|
||||
.Subscribe(OnRoleChanged, ThreadOption.UIThread);
|
||||
_localizationService.LanguageChanged += OnLanguageChanged;
|
||||
|
||||
// Subscribe to CncExecutionState changes to update CanSwitchUser
|
||||
_appStateService.CncExecutionStateChanged += OnCncExecutionStateChanged;
|
||||
@@ -79,10 +85,16 @@ namespace XplorePlane.ViewModels.Main
|
||||
CanSwitchUser = _permissionService.CanSwitchUser;
|
||||
}
|
||||
|
||||
private void OnRoleChanged(RoleChangedPayload payload)
|
||||
private void OnRoleChanged(RoleChangedPayload payload)
|
||||
{
|
||||
CurrentRoleDisplayName = MapRoleToDisplayName(payload.NewRole);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnLanguageChanged(object? sender, XP.Common.Localization.Events.LanguageChangedEventArgs e)
|
||||
{
|
||||
if (_permissionService.CurrentRole.HasValue)
|
||||
CurrentRoleDisplayName = MapRoleToDisplayName(_permissionService.CurrentRole.Value);
|
||||
}
|
||||
|
||||
private void OnCncExecutionStateChanged(object sender, StateChangedEventArgs<XplorePlane.Models.Main.CncExecutionState> e)
|
||||
{
|
||||
@@ -117,15 +129,15 @@ namespace XplorePlane.ViewModels.Main
|
||||
/// <summary>
|
||||
/// 将 UserRole 枚举映射为中文显示名。
|
||||
/// </summary>
|
||||
private static string MapRoleToDisplayName(UserRole role)
|
||||
{
|
||||
return role switch
|
||||
{
|
||||
UserRole.SuperAdmin => "超级管理员",
|
||||
UserRole.Admin => "管理员",
|
||||
UserRole.User => "用户",
|
||||
private static string MapRoleToDisplayName(UserRole role)
|
||||
{
|
||||
return role switch
|
||||
{
|
||||
UserRole.SuperAdmin => LocalizationHelper.Get("Role_SuperAdmin"),
|
||||
UserRole.Admin => LocalizationHelper.Get("Role_Admin"),
|
||||
UserRole.User => LocalizationHelper.Get("Role_User"),
|
||||
_ => string.Empty
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
x:Name="Root"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:loc="clr-namespace:XP.Common.Localization.Extensions;assembly=XP.Common"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="400"
|
||||
@@ -82,16 +83,16 @@
|
||||
<TextBlock FontWeight="SemiBold" FontSize="{StaticResource NovaFontSizeCaption}" VerticalAlignment="Center">
|
||||
<TextBlock.Style>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="Text" Value="实时流水线" />
|
||||
<Setter Property="Text" Value="{loc:Localization Key=Main_RealtimePipeline}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding IsCncEditorMode}" Value="True">
|
||||
<Setter Property="Text" Value="CNC 编排" />
|
||||
<Setter Property="Text" Value="{loc:Localization Key=Main_CncOrchestration}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBlock.Style>
|
||||
</TextBlock>
|
||||
<Button HorizontalAlignment="Right" Content="关闭编排" Width="70" Height="{StaticResource NovaButtonHeightSm}"
|
||||
<Button HorizontalAlignment="Right" Content="{loc:Localization Key=Main_CloseOrchestration}" Width="70" Height="{StaticResource NovaButtonHeightSm}"
|
||||
Visibility="{Binding IsCncEditorMode, Converter={StaticResource BoolToVis}}"
|
||||
Command="{Binding CloseCncEditorCommand}" FontSize="{StaticResource NovaFontSizeCaption}" />
|
||||
</Grid>
|
||||
|
||||
@@ -663,7 +663,7 @@
|
||||
LargeImage="/Assets/Icons/setting.png"
|
||||
SmallImage="/Assets/Icons/setting.png"
|
||||
Command="{Binding OpenSettingsCommand}"
|
||||
Text="设置" />
|
||||
Text="{loc:Localization Key=Main_Settings}" />
|
||||
</telerik:RadRibbonGroup>
|
||||
|
||||
<telerik:RadRibbonGroup
|
||||
@@ -789,12 +789,12 @@
|
||||
Text="{loc:Localization Key=Main_DebugPanel}" />
|
||||
<telerik:RadRibbonButton
|
||||
telerik:ScreenTip.Description="打开检测报告配置窗口"
|
||||
telerik:ScreenTip.Title="报告"
|
||||
telerik:ScreenTip.Title="{loc:Localization Key=Main_Report}"
|
||||
Command="{Binding OpenReportConfigCommand}"
|
||||
Size="Large"
|
||||
LargeImage="/Assets/Icons/message.png"
|
||||
SmallImage="/Assets/Icons/message.png"
|
||||
Text="报告生成"
|
||||
Text="{loc:Localization Key=Main_ReportGeneration}"
|
||||
Visibility="{Binding IsReportSettingsVisible, Converter={StaticResource BoolToVisibilityConverter}}" />
|
||||
</telerik:RadRibbonGroup>
|
||||
</telerik:RadRibbonTab>
|
||||
@@ -833,7 +833,7 @@
|
||||
LargeImage="/Assets/Icons/tools.png"
|
||||
SmallImage="/Assets/Icons/tools.png"
|
||||
Command="{Binding OpenLibraryVersionsCommand}"
|
||||
Text="软件信息" />
|
||||
Text="{loc:Localization Key=Main_SoftwareInfo}" />
|
||||
<!-- <telerik:RadRibbonButton
|
||||
Size="Large"
|
||||
LargeImage="/Assets/Icons/upgrade.png"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
x:Class="XplorePlane.Views.Main.RibbonStatusAreaView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:loc="clr-namespace:XP.Common.Localization.Extensions;assembly=XP.Common"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="30"
|
||||
@@ -19,7 +20,7 @@
|
||||
Foreground="{StaticResource NovaOnSurfaceBrush}"
|
||||
Margin="0,0,8,0" />
|
||||
<Button
|
||||
Content="登录"
|
||||
Content="{loc:Localization Key=Button_Login}"
|
||||
Command="{Binding SwitchUserCommand}"
|
||||
IsEnabled="{Binding CanSwitchUser}"
|
||||
VerticalAlignment="Center"
|
||||
|
||||
Reference in New Issue
Block a user