将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。
This commit is contained in:
@@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<!-- === Window title === -->
|
||||
<data name="Sentry_Title" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor</value>
|
||||
</data>
|
||||
<data name="Sentry_AppVersion" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor v1.0</value>
|
||||
</data>
|
||||
|
||||
<!-- === Toolbar buttons === -->
|
||||
<data name="Sentry_Toolbar_PlcConfig" xml:space="preserve">
|
||||
<value>PLC Config</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_PlcConfig_Tooltip" xml:space="preserve">
|
||||
<value>PLC Connection Management</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect_Tooltip" xml:space="preserve">
|
||||
<value>Connect PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect" xml:space="preserve">
|
||||
<value>Disconnect</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect_Tooltip" xml:space="preserve">
|
||||
<value>Disconnect PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals" xml:space="preserve">
|
||||
<value>Refresh Signals</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals_Tooltip" xml:space="preserve">
|
||||
<value>Refresh Signal Definitions</value>
|
||||
</data>
|
||||
|
||||
<!-- === Status bar === -->
|
||||
<data name="Sentry_Status_NotConnected" xml:space="preserve">
|
||||
<value>Not Connected</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Connected" xml:space="preserve">
|
||||
<value>Connected</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Reconnecting" xml:space="preserve">
|
||||
<value>Reconnecting</value>
|
||||
</data>
|
||||
|
||||
<!-- === Operation log panel === -->
|
||||
<data name="Sentry_Log_GroupHeader" xml:space="preserve">
|
||||
<value>Operation Log</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ClearButton" xml:space="preserve">
|
||||
<value>Clear Log</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColTime" xml:space="preserve">
|
||||
<value>Time</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColLevel" xml:space="preserve">
|
||||
<value>Level</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColMessage" xml:space="preserve">
|
||||
<value>Message</value>
|
||||
</data>
|
||||
|
||||
<!-- === Signal monitor view === -->
|
||||
<data name="Sentry_Signal_Placeholder" xml:space="preserve">
|
||||
<value>Please load signal definition file</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColName" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColType" xml:space="preserve">
|
||||
<value>Type</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAddress" xml:space="preserve">
|
||||
<value>Address</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColValue" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColWrite" xml:space="preserve">
|
||||
<value>Write</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAction" xml:space="preserve">
|
||||
<value>Action</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColRemark" xml:space="preserve">
|
||||
<value>Remark</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply" xml:space="preserve">
|
||||
<value>Apply</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply_Tooltip" xml:space="preserve">
|
||||
<value>Queue Write</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite" xml:space="preserve">
|
||||
<value>Direct</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite_Tooltip" xml:space="preserve">
|
||||
<value>Direct Write with Verify</value>
|
||||
</data>
|
||||
|
||||
<!-- === Log message templates === -->
|
||||
<data name="Sentry_Log_PlcConnected" xml:space="preserve">
|
||||
<value>PLC connection established</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_PlcDisconnected" xml:space="preserve">
|
||||
<value>PLC connection lost</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingConfig" xml:space="preserve">
|
||||
<value>Loading PLC configuration...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConfigLoaded" xml:space="preserve">
|
||||
<value>PLC config loaded: {0}:{1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Connecting" xml:space="preserve">
|
||||
<value>Connecting to PLC...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectSuccess" xml:space="preserve">
|
||||
<value>PLC connected successfully</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectFailed" xml:space="preserve">
|
||||
<value>PLC connection failed</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectError" xml:space="preserve">
|
||||
<value>PLC connection error: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Disconnected" xml:space="preserve">
|
||||
<value>PLC disconnected</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DisconnectError" xml:space="preserve">
|
||||
<value>PLC disconnect error: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_OpenConfigEditorFailed" xml:space="preserve">
|
||||
<value>Failed to open config editor: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingSignals" xml:space="preserve">
|
||||
<value>Loading signal definitions: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalsLoaded" xml:space="preserve">
|
||||
<value>Signal definitions loaded, {0} groups</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFound" xml:space="preserve">
|
||||
<value>Signal definition file not found: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFoundHint" xml:space="preserve">
|
||||
<value>Please check Sentry:PlcAddrDfnPath in App.config, or place PlcAddrDfn.xml in the application directory</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlError" xml:space="preserve">
|
||||
<value>Signal definition XML format error (line {0}, col {1}): {2}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlErrorHint" xml:space="preserve">
|
||||
<value>Please check the XML format of PlcAddrDfn.xml</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcError" xml:space="preserve">
|
||||
<value>Signal definition loading error: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcErrorHint" xml:space="preserve">
|
||||
<value>Please check for duplicate signal names or invalid configuration in PlcAddrDfn.xml</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadFailed" xml:space="preserve">
|
||||
<value>Signal definition loading failed: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueued" xml:space="preserve">
|
||||
<value>Write enqueued: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueueFailed" xml:space="preserve">
|
||||
<value>Write enqueue failed (queue not running or full): {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteError" xml:space="preserve">
|
||||
<value>Write error: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteSuccess" xml:space="preserve">
|
||||
<value>Direct write success: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteVerifyFailed" xml:space="preserve">
|
||||
<value>Direct write verification failed: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteError" xml:space="preserve">
|
||||
<value>Direct write error: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalReadError" xml:space="preserve">
|
||||
<value>Signal read error: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ReadError" xml:space="preserve">
|
||||
<value>Read Error</value>
|
||||
</data>
|
||||
|
||||
<!-- === Write value validation errors === -->
|
||||
<data name="Sentry_Validate_WriteValueEmpty" xml:space="preserve">
|
||||
<value>Write value cannot be empty</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_BoolInvalid" xml:space="preserve">
|
||||
<value>Bool accepts only True/False</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ByteOutOfRange" xml:space="preserve">
|
||||
<value>Byte value out of range (0-255)</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ShortOutOfRange" xml:space="preserve">
|
||||
<value>Short value out of range</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_IntOutOfRange" xml:space="preserve">
|
||||
<value>Int value out of range</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_FloatInvalid" xml:space="preserve">
|
||||
<value>Float format error</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_DoubleInvalid" xml:space="preserve">
|
||||
<value>Double format error</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_UnsupportedType" xml:space="preserve">
|
||||
<value>Unsupported type: {0}</value>
|
||||
</data>
|
||||
|
||||
<!-- === Global exception messages === -->
|
||||
<data name="Sentry_Error_FatalTitle" xml:space="preserve">
|
||||
<value>Fatal Error</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_FatalMessage" xml:space="preserve">
|
||||
<value>A critical error occurred. The application will exit. Please check logs for details.</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledTitle" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledMessage" xml:space="preserve">
|
||||
<value>An unhandled exception occurred. Please check logs for details.</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<!-- === 窗口标题 | Window title === -->
|
||||
<data name="Sentry_Title" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor</value>
|
||||
</data>
|
||||
<data name="Sentry_AppVersion" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor v1.0</value>
|
||||
</data>
|
||||
|
||||
<!-- === 工具栏按钮 | Toolbar buttons === -->
|
||||
<data name="Sentry_Toolbar_PlcConfig" xml:space="preserve">
|
||||
<value>PLC 连接管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_PlcConfig_Tooltip" xml:space="preserve">
|
||||
<value>PLC 连接管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect" xml:space="preserve">
|
||||
<value>连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect_Tooltip" xml:space="preserve">
|
||||
<value>连接 PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect" xml:space="preserve">
|
||||
<value>断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect_Tooltip" xml:space="preserve">
|
||||
<value>断开 PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals" xml:space="preserve">
|
||||
<value>刷新信号定义</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals_Tooltip" xml:space="preserve">
|
||||
<value>刷新信号定义</value>
|
||||
</data>
|
||||
|
||||
<!-- === 状态栏 | Status bar === -->
|
||||
<data name="Sentry_Status_NotConnected" xml:space="preserve">
|
||||
<value>未连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Connected" xml:space="preserve">
|
||||
<value>已连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Reconnecting" xml:space="preserve">
|
||||
<value>重连中</value>
|
||||
</data>
|
||||
|
||||
<!-- === 操作日志面板 | Operation log panel === -->
|
||||
<data name="Sentry_Log_GroupHeader" xml:space="preserve">
|
||||
<value>操作日志</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ClearButton" xml:space="preserve">
|
||||
<value>清除日志</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColTime" xml:space="preserve">
|
||||
<value>时间</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColLevel" xml:space="preserve">
|
||||
<value>级别</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColMessage" xml:space="preserve">
|
||||
<value>消息</value>
|
||||
</data>
|
||||
|
||||
<!-- === 信号监控视图 | Signal monitor view === -->
|
||||
<data name="Sentry_Signal_Placeholder" xml:space="preserve">
|
||||
<value>请加载信号定义文件</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColName" xml:space="preserve">
|
||||
<value>名称</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColType" xml:space="preserve">
|
||||
<value>类型</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAddress" xml:space="preserve">
|
||||
<value>地址</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColValue" xml:space="preserve">
|
||||
<value>当前值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColWrite" xml:space="preserve">
|
||||
<value>写入值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAction" xml:space="preserve">
|
||||
<value>操作</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColRemark" xml:space="preserve">
|
||||
<value>备注</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply" xml:space="preserve">
|
||||
<value>应用</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply_Tooltip" xml:space="preserve">
|
||||
<value>队列写入</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite" xml:space="preserve">
|
||||
<value>直写</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite_Tooltip" xml:space="preserve">
|
||||
<value>直接写入+回读校验</value>
|
||||
</data>
|
||||
|
||||
<!-- === 日志消息模板 | Log message templates === -->
|
||||
<data name="Sentry_Log_PlcConnected" xml:space="preserve">
|
||||
<value>PLC 连接已建立</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_PlcDisconnected" xml:space="preserve">
|
||||
<value>PLC 连接已断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingConfig" xml:space="preserve">
|
||||
<value>正在加载 PLC 配置...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConfigLoaded" xml:space="preserve">
|
||||
<value>PLC 配置加载成功: {0}:{1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Connecting" xml:space="preserve">
|
||||
<value>正在连接 PLC...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectSuccess" xml:space="preserve">
|
||||
<value>PLC 连接成功</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectFailed" xml:space="preserve">
|
||||
<value>PLC 连接失败</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectError" xml:space="preserve">
|
||||
<value>PLC 连接异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Disconnected" xml:space="preserve">
|
||||
<value>PLC 已断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DisconnectError" xml:space="preserve">
|
||||
<value>PLC 断开异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_OpenConfigEditorFailed" xml:space="preserve">
|
||||
<value>打开配置编辑器失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingSignals" xml:space="preserve">
|
||||
<value>正在加载信号定义: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalsLoaded" xml:space="preserve">
|
||||
<value>信号定义加载成功,共 {0} 个分组</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFound" xml:space="preserve">
|
||||
<value>信号定义文件不存在: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFoundHint" xml:space="preserve">
|
||||
<value>请检查 App.config 中 Sentry:PlcAddrDfnPath 配置,或将 PlcAddrDfn.xml 放置到应用程序目录</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlError" xml:space="preserve">
|
||||
<value>信号定义 XML 格式错误(行 {0}, 列 {1}): {2}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlErrorHint" xml:space="preserve">
|
||||
<value>请检查 PlcAddrDfn.xml 文件的 XML 格式是否正确</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcError" xml:space="preserve">
|
||||
<value>信号定义加载异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcErrorHint" xml:space="preserve">
|
||||
<value>请检查 PlcAddrDfn.xml 中是否存在重复信号名称或无效配置</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadFailed" xml:space="preserve">
|
||||
<value>信号定义加载失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueued" xml:space="preserve">
|
||||
<value>写入入队: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueueFailed" xml:space="preserve">
|
||||
<value>写入入队失败(队列未运行或已满): {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteError" xml:space="preserve">
|
||||
<value>写入异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteSuccess" xml:space="preserve">
|
||||
<value>直接写入成功: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteVerifyFailed" xml:space="preserve">
|
||||
<value>直接写入回读校验失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteError" xml:space="preserve">
|
||||
<value>直接写入异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalReadError" xml:space="preserve">
|
||||
<value>信号读取异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ReadError" xml:space="preserve">
|
||||
<value>读取错误</value>
|
||||
</data>
|
||||
|
||||
<!-- === 写入值校验错误 | Write value validation errors === -->
|
||||
<data name="Sentry_Validate_WriteValueEmpty" xml:space="preserve">
|
||||
<value>写入值不能为空</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_BoolInvalid" xml:space="preserve">
|
||||
<value>布尔值仅接受 True/False</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ByteOutOfRange" xml:space="preserve">
|
||||
<value>字节值超出范围 (0-255)</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ShortOutOfRange" xml:space="preserve">
|
||||
<value>短整型值超出范围</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_IntOutOfRange" xml:space="preserve">
|
||||
<value>整型值超出范围</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_FloatInvalid" xml:space="preserve">
|
||||
<value>浮点数格式错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_DoubleInvalid" xml:space="preserve">
|
||||
<value>双精度浮点数格式错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_UnsupportedType" xml:space="preserve">
|
||||
<value>不支持的类型: {0}</value>
|
||||
</data>
|
||||
|
||||
<!-- === 全局异常提示 | Global exception messages === -->
|
||||
<data name="Sentry_Error_FatalTitle" xml:space="preserve">
|
||||
<value>致命错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_FatalMessage" xml:space="preserve">
|
||||
<value>应用发生严重错误,即将退出。请查看日志获取详细信息。</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledTitle" xml:space="preserve">
|
||||
<value>错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledMessage" xml:space="preserve">
|
||||
<value>应用发生未处理异常,请查看日志获取详细信息。</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<!-- === 窗口标题 | Window title === -->
|
||||
<data name="Sentry_Title" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor</value>
|
||||
</data>
|
||||
<data name="Sentry_AppVersion" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor v1.0</value>
|
||||
</data>
|
||||
|
||||
<!-- === 工具栏按钮 | Toolbar buttons === -->
|
||||
<data name="Sentry_Toolbar_PlcConfig" xml:space="preserve">
|
||||
<value>PLC 连接管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_PlcConfig_Tooltip" xml:space="preserve">
|
||||
<value>PLC 连接管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect" xml:space="preserve">
|
||||
<value>连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect_Tooltip" xml:space="preserve">
|
||||
<value>连接 PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect" xml:space="preserve">
|
||||
<value>断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect_Tooltip" xml:space="preserve">
|
||||
<value>断开 PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals" xml:space="preserve">
|
||||
<value>刷新信号定义</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals_Tooltip" xml:space="preserve">
|
||||
<value>刷新信号定义</value>
|
||||
</data>
|
||||
|
||||
<!-- === 状态栏 | Status bar === -->
|
||||
<data name="Sentry_Status_NotConnected" xml:space="preserve">
|
||||
<value>未连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Connected" xml:space="preserve">
|
||||
<value>已连接</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Reconnecting" xml:space="preserve">
|
||||
<value>重连中</value>
|
||||
</data>
|
||||
|
||||
<!-- === 操作日志面板 | Operation log panel === -->
|
||||
<data name="Sentry_Log_GroupHeader" xml:space="preserve">
|
||||
<value>操作日志</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ClearButton" xml:space="preserve">
|
||||
<value>清除日志</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColTime" xml:space="preserve">
|
||||
<value>时间</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColLevel" xml:space="preserve">
|
||||
<value>级别</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColMessage" xml:space="preserve">
|
||||
<value>消息</value>
|
||||
</data>
|
||||
|
||||
<!-- === 信号监控视图 | Signal monitor view === -->
|
||||
<data name="Sentry_Signal_Placeholder" xml:space="preserve">
|
||||
<value>请加载信号定义文件</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColName" xml:space="preserve">
|
||||
<value>名称</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColType" xml:space="preserve">
|
||||
<value>类型</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAddress" xml:space="preserve">
|
||||
<value>地址</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColValue" xml:space="preserve">
|
||||
<value>当前值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColWrite" xml:space="preserve">
|
||||
<value>写入值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAction" xml:space="preserve">
|
||||
<value>操作</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColRemark" xml:space="preserve">
|
||||
<value>备注</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply" xml:space="preserve">
|
||||
<value>应用</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply_Tooltip" xml:space="preserve">
|
||||
<value>队列写入</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite" xml:space="preserve">
|
||||
<value>直写</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite_Tooltip" xml:space="preserve">
|
||||
<value>直接写入+回读校验</value>
|
||||
</data>
|
||||
|
||||
<!-- === 日志消息模板 | Log message templates === -->
|
||||
<data name="Sentry_Log_PlcConnected" xml:space="preserve">
|
||||
<value>PLC 连接已建立</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_PlcDisconnected" xml:space="preserve">
|
||||
<value>PLC 连接已断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingConfig" xml:space="preserve">
|
||||
<value>正在加载 PLC 配置...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConfigLoaded" xml:space="preserve">
|
||||
<value>PLC 配置加载成功: {0}:{1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Connecting" xml:space="preserve">
|
||||
<value>正在连接 PLC...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectSuccess" xml:space="preserve">
|
||||
<value>PLC 连接成功</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectFailed" xml:space="preserve">
|
||||
<value>PLC 连接失败</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectError" xml:space="preserve">
|
||||
<value>PLC 连接异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Disconnected" xml:space="preserve">
|
||||
<value>PLC 已断开</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DisconnectError" xml:space="preserve">
|
||||
<value>PLC 断开异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_OpenConfigEditorFailed" xml:space="preserve">
|
||||
<value>打开配置编辑器失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingSignals" xml:space="preserve">
|
||||
<value>正在加载信号定义: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalsLoaded" xml:space="preserve">
|
||||
<value>信号定义加载成功,共 {0} 个分组</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFound" xml:space="preserve">
|
||||
<value>信号定义文件不存在: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFoundHint" xml:space="preserve">
|
||||
<value>请检查 App.config 中 Sentry:PlcAddrDfnPath 配置,或将 PlcAddrDfn.xml 放置到应用程序目录</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlError" xml:space="preserve">
|
||||
<value>信号定义 XML 格式错误(行 {0}, 列 {1}): {2}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlErrorHint" xml:space="preserve">
|
||||
<value>请检查 PlcAddrDfn.xml 文件的 XML 格式是否正确</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcError" xml:space="preserve">
|
||||
<value>信号定义加载异常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcErrorHint" xml:space="preserve">
|
||||
<value>请检查 PlcAddrDfn.xml 中是否存在重复信号名称或无效配置</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadFailed" xml:space="preserve">
|
||||
<value>信号定义加载失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueued" xml:space="preserve">
|
||||
<value>写入入队: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueueFailed" xml:space="preserve">
|
||||
<value>写入入队失败(队列未运行或已满): {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteError" xml:space="preserve">
|
||||
<value>写入异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteSuccess" xml:space="preserve">
|
||||
<value>直接写入成功: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteVerifyFailed" xml:space="preserve">
|
||||
<value>直接写入回读校验失败: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteError" xml:space="preserve">
|
||||
<value>直接写入异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalReadError" xml:space="preserve">
|
||||
<value>信号读取异常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ReadError" xml:space="preserve">
|
||||
<value>读取错误</value>
|
||||
</data>
|
||||
|
||||
<!-- === 写入值校验错误 | Write value validation errors === -->
|
||||
<data name="Sentry_Validate_WriteValueEmpty" xml:space="preserve">
|
||||
<value>写入值不能为空</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_BoolInvalid" xml:space="preserve">
|
||||
<value>布尔值仅接受 True/False</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ByteOutOfRange" xml:space="preserve">
|
||||
<value>字节值超出范围 (0-255)</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ShortOutOfRange" xml:space="preserve">
|
||||
<value>短整型值超出范围</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_IntOutOfRange" xml:space="preserve">
|
||||
<value>整型值超出范围</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_FloatInvalid" xml:space="preserve">
|
||||
<value>浮点数格式错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_DoubleInvalid" xml:space="preserve">
|
||||
<value>双精度浮点数格式错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_UnsupportedType" xml:space="preserve">
|
||||
<value>不支持的类型: {0}</value>
|
||||
</data>
|
||||
|
||||
<!-- === 全局异常提示 | Global exception messages === -->
|
||||
<data name="Sentry_Error_FatalTitle" xml:space="preserve">
|
||||
<value>致命错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_FatalMessage" xml:space="preserve">
|
||||
<value>应用发生严重错误,即将退出。请查看日志获取详细信息。</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledTitle" xml:space="preserve">
|
||||
<value>错误</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledMessage" xml:space="preserve">
|
||||
<value>应用发生未处理异常,请查看日志获取详细信息。</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<!-- === 視窗標題 | Window title === -->
|
||||
<data name="Sentry_Title" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor</value>
|
||||
</data>
|
||||
<data name="Sentry_AppVersion" xml:space="preserve">
|
||||
<value>PLC Sentry Monitor v1.0</value>
|
||||
</data>
|
||||
|
||||
<!-- === 工具列按鈕 | Toolbar buttons === -->
|
||||
<data name="Sentry_Toolbar_PlcConfig" xml:space="preserve">
|
||||
<value>PLC 連線管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_PlcConfig_Tooltip" xml:space="preserve">
|
||||
<value>PLC 連線管理</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect" xml:space="preserve">
|
||||
<value>連線</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Connect_Tooltip" xml:space="preserve">
|
||||
<value>連線 PLC</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect" xml:space="preserve">
|
||||
<value>中斷</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_Disconnect_Tooltip" xml:space="preserve">
|
||||
<value>中斷 PLC 連線</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals" xml:space="preserve">
|
||||
<value>重新整理信號定義</value>
|
||||
</data>
|
||||
<data name="Sentry_Toolbar_RefreshSignals_Tooltip" xml:space="preserve">
|
||||
<value>重新整理信號定義</value>
|
||||
</data>
|
||||
|
||||
<!-- === 狀態列 | Status bar === -->
|
||||
<data name="Sentry_Status_NotConnected" xml:space="preserve">
|
||||
<value>未連線</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Connected" xml:space="preserve">
|
||||
<value>已連線</value>
|
||||
</data>
|
||||
<data name="Sentry_Status_Reconnecting" xml:space="preserve">
|
||||
<value>重新連線中</value>
|
||||
</data>
|
||||
|
||||
<!-- === 操作日誌面板 | Operation log panel === -->
|
||||
<data name="Sentry_Log_GroupHeader" xml:space="preserve">
|
||||
<value>操作日誌</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ClearButton" xml:space="preserve">
|
||||
<value>清除日誌</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColTime" xml:space="preserve">
|
||||
<value>時間</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColLevel" xml:space="preserve">
|
||||
<value>等級</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ColMessage" xml:space="preserve">
|
||||
<value>訊息</value>
|
||||
</data>
|
||||
|
||||
<!-- === 信號監控視圖 | Signal monitor view === -->
|
||||
<data name="Sentry_Signal_Placeholder" xml:space="preserve">
|
||||
<value>請載入信號定義檔案</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColName" xml:space="preserve">
|
||||
<value>名稱</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColType" xml:space="preserve">
|
||||
<value>類型</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAddress" xml:space="preserve">
|
||||
<value>地址</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColValue" xml:space="preserve">
|
||||
<value>目前值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColWrite" xml:space="preserve">
|
||||
<value>寫入值</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColAction" xml:space="preserve">
|
||||
<value>操作</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ColRemark" xml:space="preserve">
|
||||
<value>備註</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply" xml:space="preserve">
|
||||
<value>套用</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnApply_Tooltip" xml:space="preserve">
|
||||
<value>佇列寫入</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite" xml:space="preserve">
|
||||
<value>直寫</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_BtnDirectWrite_Tooltip" xml:space="preserve">
|
||||
<value>直接寫入+回讀校驗</value>
|
||||
</data>
|
||||
|
||||
<!-- === 日誌訊息範本 | Log message templates === -->
|
||||
<data name="Sentry_Log_PlcConnected" xml:space="preserve">
|
||||
<value>PLC 連線已建立</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_PlcDisconnected" xml:space="preserve">
|
||||
<value>PLC 連線已中斷</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingConfig" xml:space="preserve">
|
||||
<value>正在載入 PLC 配置...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConfigLoaded" xml:space="preserve">
|
||||
<value>PLC 配置載入成功: {0}:{1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Connecting" xml:space="preserve">
|
||||
<value>正在連線 PLC...</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectSuccess" xml:space="preserve">
|
||||
<value>PLC 連線成功</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectFailed" xml:space="preserve">
|
||||
<value>PLC 連線失敗</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_ConnectError" xml:space="preserve">
|
||||
<value>PLC 連線異常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_Disconnected" xml:space="preserve">
|
||||
<value>PLC 已中斷連線</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DisconnectError" xml:space="preserve">
|
||||
<value>PLC 中斷連線異常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_OpenConfigEditorFailed" xml:space="preserve">
|
||||
<value>開啟配置編輯器失敗: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_LoadingSignals" xml:space="preserve">
|
||||
<value>正在載入信號定義: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalsLoaded" xml:space="preserve">
|
||||
<value>信號定義載入成功,共 {0} 個分組</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFound" xml:space="preserve">
|
||||
<value>信號定義檔案不存在: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalFileNotFoundHint" xml:space="preserve">
|
||||
<value>請檢查 App.config 中 Sentry:PlcAddrDfnPath 配置,或將 PlcAddrDfn.xml 放置到應用程式目錄</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlError" xml:space="preserve">
|
||||
<value>信號定義 XML 格式錯誤(行 {0}, 列 {1}): {2}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalXmlErrorHint" xml:space="preserve">
|
||||
<value>請檢查 PlcAddrDfn.xml 檔案的 XML 格式是否正確</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcError" xml:space="preserve">
|
||||
<value>信號定義載入異常: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadPlcErrorHint" xml:space="preserve">
|
||||
<value>請檢查 PlcAddrDfn.xml 中是否存在重複信號名稱或無效配置</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalLoadFailed" xml:space="preserve">
|
||||
<value>信號定義載入失敗: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueued" xml:space="preserve">
|
||||
<value>寫入入列: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteEnqueueFailed" xml:space="preserve">
|
||||
<value>寫入入列失敗(佇列未執行或已滿): {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_WriteError" xml:space="preserve">
|
||||
<value>寫入異常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteSuccess" xml:space="preserve">
|
||||
<value>直接寫入成功: {0} = {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteVerifyFailed" xml:space="preserve">
|
||||
<value>直接寫入回讀校驗失敗: {0}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_DirectWriteError" xml:space="preserve">
|
||||
<value>直接寫入異常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Log_SignalReadError" xml:space="preserve">
|
||||
<value>信號讀取異常: {0}, {1}</value>
|
||||
</data>
|
||||
<data name="Sentry_Signal_ReadError" xml:space="preserve">
|
||||
<value>讀取錯誤</value>
|
||||
</data>
|
||||
|
||||
<!-- === 寫入值校驗錯誤 | Write value validation errors === -->
|
||||
<data name="Sentry_Validate_WriteValueEmpty" xml:space="preserve">
|
||||
<value>寫入值不能為空</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_BoolInvalid" xml:space="preserve">
|
||||
<value>布林值僅接受 True/False</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ByteOutOfRange" xml:space="preserve">
|
||||
<value>位元組值超出範圍 (0-255)</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_ShortOutOfRange" xml:space="preserve">
|
||||
<value>短整數值超出範圍</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_IntOutOfRange" xml:space="preserve">
|
||||
<value>整數值超出範圍</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_FloatInvalid" xml:space="preserve">
|
||||
<value>浮點數格式錯誤</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_DoubleInvalid" xml:space="preserve">
|
||||
<value>雙精度浮點數格式錯誤</value>
|
||||
</data>
|
||||
<data name="Sentry_Validate_UnsupportedType" xml:space="preserve">
|
||||
<value>不支援的類型: {0}</value>
|
||||
</data>
|
||||
|
||||
<!-- === 全域異常提示 | Global exception messages === -->
|
||||
<data name="Sentry_Error_FatalTitle" xml:space="preserve">
|
||||
<value>致命錯誤</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_FatalMessage" xml:space="preserve">
|
||||
<value>應用程式發生嚴重錯誤,即將退出。請查看日誌取得詳細資訊。</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledTitle" xml:space="preserve">
|
||||
<value>錯誤</value>
|
||||
</data>
|
||||
<data name="Sentry_Error_UnhandledMessage" xml:space="preserve">
|
||||
<value>應用程式發生未處理異常,請查看日誌取得詳細資訊。</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user