Files

287 lines
11 KiB
XML

<?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>