#
Junjie
昨天 7a0470e331a978ee206cd8fcf3dfd5642f14eb83
src/main/resources/i18n/en-US/messages.properties
@@ -213,6 +213,194 @@
legacy.regex.stationDeviceLink=Click to remove mapping: Station {0} -> Device {1}
deviceLogs.visualizationPrefix=Device Logs - 
deviceLogs.downloadDialogTitle=Downloading file
dashboard.title=System Dashboard
dashboard.monitorView=Monitoring View
dashboard.openMonitor=Open Monitoring View
dashboard.refreshNow=Refresh Now
dashboard.overviewKicker=Overview
dashboard.overviewNote=System and refresh cadence
dashboard.systemStatusLabel=System Status
dashboard.systemRunning=Running
dashboard.systemPaused=Paused
dashboard.systemStatusDesc=Current status of the WCS main service
dashboard.lastRefreshLabel=Last Refresh
dashboard.lastRefreshDesc=Time when the latest aggregated data was generated
dashboard.autoRefreshLabel=Auto Refresh
dashboard.autoRefreshValue=Refresh in {0}s
dashboard.autoRefreshDesc=Countdown to the next automatic refresh
dashboard.coreMetricsKicker=Core Metrics
dashboard.coreMetricsNote=Tasks, devices, and AI overview
dashboard.taskTotalLabel=Total Tasks
dashboard.taskTotalDesc=Running now {0}
dashboard.deviceOnlineLabel=Online Devices
dashboard.deviceOnlineDesc=Total {0}, alarms {1}
dashboard.aiTokenTotalLabel=AI Total Tokens
dashboard.aiTokenTotalDesc=Aggregated across AI sessions
dashboard.aiCallTotalLabel=LLM Calls
dashboard.aiCallTotalDesc=Latest run details are included in the AI section below
dashboard.taskPanelTitle=Task Overview
dashboard.taskPanelDesc=Quickly assess current workload pressure by task type, execution stage, and recent flow records.
dashboard.taskRunningLabel=Running
dashboard.taskRunningHint=Tasks currently in progress
dashboard.taskManualLabel=Manual Review
dashboard.taskManualHint=Requires manual attention or rollback
dashboard.taskCompletedLabel=Completed
dashboard.taskCompletedHint=Finished or posted
dashboard.taskNewLabel=New
dashboard.taskNewHint=Just entered the dispatch flow
dashboard.taskDirectionChartTitle=Task Type Distribution
dashboard.taskStageChartTitle=Task Stage Overview
dashboard.recentPanelTitle=Recent Tasks
dashboard.recentPanelDesc=Quickly tell whether tasks are piling up, whether devices have taken over, and where recent tasks are headed.
dashboard.recentEmpty=No recent tasks
dashboard.column.workNo=Work No.
dashboard.column.taskType=Task Type
dashboard.column.status=Status
dashboard.column.source=Source
dashboard.column.target=Target
dashboard.column.device=Execution Device
dashboard.column.barcode=Barcode
dashboard.column.updateTime=Last Updated
dashboard.aiPanelTitle=AI Activity
dashboard.aiPanelDesc=Review cumulative AI tokens, LLM call volume, and route availability and cooldown status.
dashboard.availableRoutesTag=Available routes {0}
dashboard.aiTokenCardLabel=Total Tokens
dashboard.aiTokenCardHint=Prompt + Completion
dashboard.aiAskCountLabel=Conversation Turns
dashboard.aiAskCountHint=Total AI conversation turns
dashboard.aiLlmCallLabel=LLM Calls
dashboard.aiLlmCallHint=Success {0} / Failed {1}
dashboard.aiSessionCountLabel=Sessions
dashboard.aiSessionCountHint=Last call {0}
dashboard.aiRouteChartTitle=AI Route Status
dashboard.aiRouteDesc=Model {0}, priority {1}
dashboard.aiRouteResult=Success {0} / Failed {1}
dashboard.aiRouteLastUsed=Last used {0}
dashboard.aiRouteEmpty=No AI route data
dashboard.devicePanelTitle=Device Overview
dashboard.devicePanelDesc=Summarize the online, busy, and alarm states of conveyor stations, cranes, dual-station cranes, and RGVs.
dashboard.deviceOnlineRate=Online rate {0}
dashboard.deviceTotalLabel=Total Devices
dashboard.deviceTotalHint=Enabled configured devices
dashboard.deviceOnlineCardLabel=Online Devices
dashboard.deviceOnlineCardHint=Devices currently reachable
dashboard.deviceBusyLabel=Busy Devices
dashboard.deviceBusyHint=Devices currently carrying tasks
dashboard.deviceAlarmLabel=Alarm Devices
dashboard.deviceAlarmHint=Devices with blockage or alarm status
dashboard.deviceTypeChartTitle=Device Online Distribution
dashboard.deviceTypeDesc=Online {0} / Total {1}, offline {2}
dashboard.deviceBusyTag=Busy {0}
dashboard.deviceAlarmTag=Alarm {0}
dashboard.networkPanelDesc=Summarize connectivity, latency, and abnormal devices from the latest ping samples to quickly spot network fluctuations.
dashboard.networkAttentionTag=Attention {0}
dashboard.networkViewDetail=View Details
dashboard.networkOkLabel=Normal
dashboard.networkOkHint=Latest sample status is OK
dashboard.networkUnstableLabel=Unstable
dashboard.networkUnstableHint=Some probes succeeded
dashboard.networkOfflineLabel=Timeout/Error
dashboard.networkNoDataLabel=No Data
dashboard.networkNoDataHint=No data {0}
dashboard.networkAvgLatencyLabel=Average Latency
dashboard.networkPeakLatencyHint=Peak {0}
dashboard.networkStatusChartTitle=Connectivity Status Distribution
dashboard.networkAvgLatencyTag=Avg {0}
dashboard.networkLatestSampleTag=Latest sample {0}
dashboard.networkHealthyTitle=Network probing is stable
dashboard.networkHealthyDesc={0} devices are included, and no timeouts or fluctuations were found in the latest round.
dashboard.networkHealthyOk=Normal {0}
dashboard.networkHealthyAvg=Avg {0}
dashboard.networkHealthyPeak=Peak {0}
dashboard.networkEmpty=No device network samples
dashboard.loadingTitle=Loading dashboard
dashboard.loadingDesc=Aggregating task, device, and AI runtime data. Please wait...
dashboard.loadFailed=Failed to load dashboard data
dashboard.loadFailedDetail=Failed to load dashboard data. Please check the API status.
dashboard.deviceOnlineLegend=Online
dashboard.deviceOfflineLegend=Offline
dashboard.chartCenter.availableRoutes=Available Routes
dashboard.chartCenter.attentionDevices=Devices Requiring Attention
dashboard.systemDefaultPacketSize=System Default
dashboard.networkSampling=Sampling {0} ms / Timeout {1} ms / {2} probes per sample / Packet size {3}
dashboard.taskDirectionInbound=Inbound Tasks
dashboard.taskDirectionOutbound=Outbound Tasks
dashboard.taskDirectionMove=Transfer Tasks
dashboard.aiRouteStatusAvailable=Available
dashboard.aiRouteStatusCooling=Cooling
dashboard.aiRouteStatusDisabled=Disabled
devicePingLog.title=Device Network Analysis
devicePingLog.pageMeta=Packet size {0}, {1}
devicePingLog.summary.totalDevices=Total Devices
devicePingLog.summary.totalDevicesHint=Devices with configured IPs
devicePingLog.summary.ok=Normal
devicePingLog.summary.okHint=Latest sample status is OK
devicePingLog.summary.unstable=Unstable
devicePingLog.summary.unstableHint=Some probes succeeded
devicePingLog.summary.offline=Timeout/Error
devicePingLog.summary.offlineHint=Latest sample is unreachable
devicePingLog.summary.noData=No Data
devicePingLog.summary.noDataHint=No persisted samples yet
devicePingLog.summary.avgLatency=Overall Average Latency
devicePingLog.summary.peakLatency=Peak {0}
devicePingLog.overviewTitle=Device Overview
devicePingLog.refresh=Refresh
devicePingLog.filter.deviceType=Device Type
devicePingLog.filter.all=All
devicePingLog.filter.keyword=Keyword
devicePingLog.filter.keywordPlaceholder=Device No. / IP
devicePingLog.overviewCount=Overview devices {0}
devicePingLog.column.device=Device
devicePingLog.column.status=Status
devicePingLog.column.successRate=Success Rate
devicePingLog.column.avg=Avg
devicePingLog.column.min=Min
devicePingLog.column.max=Max
devicePingLog.column.updateTime=Updated At
devicePingLog.column.message=Message
devicePingLog.column.action=Action
devicePingLog.viewDetail=View Details
devicePingLog.detailTitle=Device Details
devicePingLog.detailEmpty=Select a device from the overview above to inspect second-level details.
devicePingLog.filter.timeRange=Time Range
devicePingLog.filter.rangeSeparator=to
devicePingLog.filter.start=Start
devicePingLog.filter.end=End
devicePingLog.quickRange.30m=30 min
devicePingLog.quickRange.1h=1 hr
devicePingLog.quickRange.6h=6 hr
devicePingLog.query=Query
devicePingLog.detail.status=Status
devicePingLog.detail.packetSize=Packet Size
devicePingLog.detail.successRate=Success Rate
devicePingLog.detail.avg=Avg
devicePingLog.detail.min=Min
devicePingLog.detail.max=Max
devicePingLog.chart.latencyTitle=Latency
devicePingLog.chart.empty=No second-level samples in the current range
devicePingLog.chart.availabilityTitle=Success Rate / Fail Count
devicePingLog.alertColumn.time=Time
devicePingLog.alertColumn.status=Status
devicePingLog.alertColumn.message=Message
devicePingLog.samplingConfigText=Sampling {0} ms / Timeout {1} ms / {2} probes per sample
devicePingLog.optionsLoadFailed=Failed to load device configuration
devicePingLog.overviewLoadFailed=Failed to load overview data
devicePingLog.selectTimeRange=Please select a time range
devicePingLog.invalidDevice=Invalid device information
devicePingLog.detailLoadFailed=Failed to load device details
devicePingLog.chart.latency.avg=Avg
devicePingLog.chart.latency.min=Min
devicePingLog.chart.latency.max=Max
devicePingLog.chart.availability.failAxis=Failures
devicePingLog.chart.availability.successRateAxis=Success Rate %
devicePingLog.chart.availability.failCount=Fail Count
devicePingLog.chart.availability.successRate=Success Rate
devicePingLog.systemDefaultPacketSize=System Default
devicePingLog.status.ok=Normal
devicePingLog.status.unstable=Unstable
devicePingLog.status.timeout=Timeout
devicePingLog.status.error=Error
devicePingLog.status.noData=No Data
llm.logsTitle=LLM Call Logs
llm.logDetailTitle=Log Details
llm.logDetailPrefix=Log Details -