fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息

## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide

## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value

## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers

## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)

## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
This commit is contained in:
XplorePlane Developer
2026-07-24 15:59:16 +08:00
parent 1f26d10358
commit 957157ae80
893 changed files with 462232 additions and 462378 deletions
+296 -296
View File
@@ -1,296 +1,296 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>Scan Mode:</value>
<comment>Scan - Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>Frame Merge:</value>
<comment>Scan - Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>Acquisition Count:</value>
<comment>Scan - Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>Rotation Angle:</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>Progress:</value>
<comment>Scan - Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>Start</value>
<comment>Scan - Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>Stop</value>
<comment>Scan - Stop acquisition button</comment>
</data>
<data name="Scan_Group_ScanFile" xml:space="preserve">
<value>Scan File</value>
<comment>Scan - Scan file group header</comment>
</data>
<data name="Scan_Group_Object" xml:space="preserve">
<value>Object</value>
<comment>Scan - Object info group header</comment>
</data>
<data name="Scan_Group_General" xml:space="preserve">
<value>General</value>
<comment>Scan - General parameters group header</comment>
</data>
<data name="Scan_Group_XRayDetector" xml:space="preserve">
<value>X-ray and Detector</value>
<comment>Scan - X-ray and detector group header</comment>
</data>
<data name="Scan_Group_Status" xml:space="preserve">
<value>Status</value>
<comment>Scan - Status group header</comment>
</data>
<data name="Scan_Text_ObjectID" xml:space="preserve">
<value>ID</value>
<comment>Scan - Object ID label</comment>
</data>
<data name="Scan_Text_ObjectName" xml:space="preserve">
<value>Name</value>
<comment>Scan - Object name label</comment>
</data>
<data name="Scan_Text_Comment" xml:space="preserve">
<value>Comment</value>
<comment>Scan - Comment label</comment>
</data>
<data name="Scan_Text_ScanType" xml:space="preserve">
<value>Scan Type</value>
<comment>Scan - Scan type (ACT/PCT) label</comment>
</data>
<data name="Scan_Text_ScanProcedure" xml:space="preserve">
<value>Scan Procedure</value>
<comment>Scan - Scan procedure label</comment>
</data>
<data name="Scan_Text_ProjectionPath" xml:space="preserve">
<value>Projection Path</value>
<comment>Scan - Projection path label</comment>
</data>
<data name="Scan_Text_Projections" xml:space="preserve">
<value>Projections</value>
<comment>Scan - Number of projections label</comment>
</data>
<data name="Scan_Text_RotationAngle" xml:space="preserve">
<value>Rotation Angle</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_TiltAngle" xml:space="preserve">
<value>Tilt Angle (°)</value>
<comment>Scan - Tilt angle label (PCT only)</comment>
</data>
<data name="Scan_Text_SampleThickness" xml:space="preserve">
<value>Sample Thickness (mm)</value>
<comment>Scan - Sample thickness label (PCT only)</comment>
</data>
<data name="Scan_Text_VirtualCenter" xml:space="preserve">
<value>Virtual Rotation Center</value>
<comment>Scan - Virtual rotation center label</comment>
</data>
<data name="Scan_Text_Voltage" xml:space="preserve">
<value>Voltage</value>
<comment>Scan - Voltage label</comment>
</data>
<data name="Scan_Text_Current" xml:space="preserve">
<value>Current</value>
<comment>Scan - Current label</comment>
</data>
<data name="Scan_Text_Focus" xml:space="preserve">
<value>Focus</value>
<comment>Scan - Focus label</comment>
</data>
<data name="Scan_Text_DetectorMode" xml:space="preserve">
<value>Detector Mode</value>
<comment>Scan - Detector mode label</comment>
</data>
<data name="Scan_Text_Integration" xml:space="preserve">
<value>Integration</value>
<comment>Scan - Integration/merge label</comment>
</data>
<data name="Scan_Text_ElapsedTime" xml:space="preserve">
<value>Elapsed Time</value>
<comment>Scan - Elapsed time label</comment>
</data>
<data name="Scan_Button_New" xml:space="preserve">
<value>New</value>
<comment>Scan - New scan file button</comment>
</data>
<data name="Scan_Button_Load" xml:space="preserve">
<value>Load</value>
<comment>Scan - Load scan file button</comment>
</data>
<data name="Scan_Button_Edit" xml:space="preserve">
<value>Edit</value>
<comment>Scan - Edit scan file button</comment>
</data>
<data name="Scan_Button_Delete" xml:space="preserve">
<value>Delete</value>
<comment>Scan - Delete scan file button</comment>
</data>
<data name="Scan_Button_Save" xml:space="preserve">
<value>Save</value>
<comment>Scan - Save scan file button</comment>
</data>
<data name="Scan_Button_Cancel" xml:space="preserve">
<value>Cancel</value>
<comment>Scan - Cancel editing button</comment>
</data>
<data name="Scan_Status_Ready" xml:space="preserve">
<value>Ready</value>
<comment>Scan - Ready status</comment>
</data>
<data name="Scan_Status_FileLoaded" xml:space="preserve">
<value>Scan file loaded</value>
<comment>Scan - Scan file loaded status</comment>
</data>
<data name="Scan_Status_Scanning" xml:space="preserve">
<value>Scanning...</value>
<comment>Scan - Scanning status</comment>
</data>
<data name="Scan_Status_Complete" xml:space="preserve">
<value>Scan complete</value>
<comment>Scan - Scan complete status</comment>
</data>
<data name="Scan_Status_Cancelled" xml:space="preserve">
<value>Scan cancelled</value>
<comment>Scan - Scan cancelled status</comment>
</data>
<data name="Scan_Dialog_SaveConfirm" xml:space="preserve">
<value>Save scan file?</value>
<comment>Scan - Save confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_DeleteConfirm" xml:space="preserve">
<value>Delete this scan file?</value>
<comment>Scan - Delete confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_Confirm" xml:space="preserve">
<value>Confirm</value>
<comment>Scan - Confirm dialog title</comment>
</data>
<data name="Scan_Text_TraySignal" xml:space="preserve">
<value>Tray Signal</value>
<comment>Scan - Tray signal label (reserved)</comment>
</data>
</root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>Scan Mode:</value>
<comment>Scan - Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>Frame Merge:</value>
<comment>Scan - Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>Acquisition Count:</value>
<comment>Scan - Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>Rotation Angle:</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>Progress:</value>
<comment>Scan - Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>Start</value>
<comment>Scan - Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>Stop</value>
<comment>Scan - Stop acquisition button</comment>
</data>
<data name="Scan_Group_ScanFile" xml:space="preserve">
<value>Scan File</value>
<comment>Scan - Scan file group header</comment>
</data>
<data name="Scan_Group_Object" xml:space="preserve">
<value>Object</value>
<comment>Scan - Object info group header</comment>
</data>
<data name="Scan_Group_General" xml:space="preserve">
<value>General</value>
<comment>Scan - General parameters group header</comment>
</data>
<data name="Scan_Group_XRayDetector" xml:space="preserve">
<value>X-ray and Detector</value>
<comment>Scan - X-ray and detector group header</comment>
</data>
<data name="Scan_Group_Status" xml:space="preserve">
<value>Status</value>
<comment>Scan - Status group header</comment>
</data>
<data name="Scan_Text_ObjectID" xml:space="preserve">
<value>ID</value>
<comment>Scan - Object ID label</comment>
</data>
<data name="Scan_Text_ObjectName" xml:space="preserve">
<value>Name</value>
<comment>Scan - Object name label</comment>
</data>
<data name="Scan_Text_Comment" xml:space="preserve">
<value>Comment</value>
<comment>Scan - Comment label</comment>
</data>
<data name="Scan_Text_ScanType" xml:space="preserve">
<value>Scan Type</value>
<comment>Scan - Scan type (ACT/PCT) label</comment>
</data>
<data name="Scan_Text_ScanProcedure" xml:space="preserve">
<value>Scan Procedure</value>
<comment>Scan - Scan procedure label</comment>
</data>
<data name="Scan_Text_ProjectionPath" xml:space="preserve">
<value>Projection Path</value>
<comment>Scan - Projection path label</comment>
</data>
<data name="Scan_Text_Projections" xml:space="preserve">
<value>Projections</value>
<comment>Scan - Number of projections label</comment>
</data>
<data name="Scan_Text_RotationAngle" xml:space="preserve">
<value>Rotation Angle</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_TiltAngle" xml:space="preserve">
<value>Tilt Angle (°)</value>
<comment>Scan - Tilt angle label (PCT only)</comment>
</data>
<data name="Scan_Text_SampleThickness" xml:space="preserve">
<value>Sample Thickness (mm)</value>
<comment>Scan - Sample thickness label (PCT only)</comment>
</data>
<data name="Scan_Text_VirtualCenter" xml:space="preserve">
<value>Virtual Rotation Center</value>
<comment>Scan - Virtual rotation center label</comment>
</data>
<data name="Scan_Text_Voltage" xml:space="preserve">
<value>Voltage</value>
<comment>Scan - Voltage label</comment>
</data>
<data name="Scan_Text_Current" xml:space="preserve">
<value>Current</value>
<comment>Scan - Current label</comment>
</data>
<data name="Scan_Text_Focus" xml:space="preserve">
<value>Focus</value>
<comment>Scan - Focus label</comment>
</data>
<data name="Scan_Text_DetectorMode" xml:space="preserve">
<value>Detector Mode</value>
<comment>Scan - Detector mode label</comment>
</data>
<data name="Scan_Text_Integration" xml:space="preserve">
<value>Integration</value>
<comment>Scan - Integration/merge label</comment>
</data>
<data name="Scan_Text_ElapsedTime" xml:space="preserve">
<value>Elapsed Time</value>
<comment>Scan - Elapsed time label</comment>
</data>
<data name="Scan_Button_New" xml:space="preserve">
<value>New</value>
<comment>Scan - New scan file button</comment>
</data>
<data name="Scan_Button_Load" xml:space="preserve">
<value>Load</value>
<comment>Scan - Load scan file button</comment>
</data>
<data name="Scan_Button_Edit" xml:space="preserve">
<value>Edit</value>
<comment>Scan - Edit scan file button</comment>
</data>
<data name="Scan_Button_Delete" xml:space="preserve">
<value>Delete</value>
<comment>Scan - Delete scan file button</comment>
</data>
<data name="Scan_Button_Save" xml:space="preserve">
<value>Save</value>
<comment>Scan - Save scan file button</comment>
</data>
<data name="Scan_Button_Cancel" xml:space="preserve">
<value>Cancel</value>
<comment>Scan - Cancel editing button</comment>
</data>
<data name="Scan_Status_Ready" xml:space="preserve">
<value>Ready</value>
<comment>Scan - Ready status</comment>
</data>
<data name="Scan_Status_FileLoaded" xml:space="preserve">
<value>Scan file loaded</value>
<comment>Scan - Scan file loaded status</comment>
</data>
<data name="Scan_Status_Scanning" xml:space="preserve">
<value>Scanning...</value>
<comment>Scan - Scanning status</comment>
</data>
<data name="Scan_Status_Complete" xml:space="preserve">
<value>Scan complete</value>
<comment>Scan - Scan complete status</comment>
</data>
<data name="Scan_Status_Cancelled" xml:space="preserve">
<value>Scan cancelled</value>
<comment>Scan - Scan cancelled status</comment>
</data>
<data name="Scan_Dialog_SaveConfirm" xml:space="preserve">
<value>Save scan file?</value>
<comment>Scan - Save confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_DeleteConfirm" xml:space="preserve">
<value>Delete this scan file?</value>
<comment>Scan - Delete confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_Confirm" xml:space="preserve">
<value>Confirm</value>
<comment>Scan - Confirm dialog title</comment>
</data>
<data name="Scan_Text_TraySignal" xml:space="preserve">
<value>Tray Signal</value>
<comment>Scan - Tray signal label (reserved)</comment>
</data>
</root>
+296 -296
View File
@@ -1,296 +1,296 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>采集模式:</value>
<comment>Scan - 采集模式标签 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>帧合并:</value>
<comment>Scan - 帧合并标签 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>采集张数:</value>
<comment>Scan - 采集张数标签 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋转角度:</value>
<comment>Scan - 旋转角度标签 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>采集进度:</value>
<comment>Scan - 采集进度标签 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>开始采集</value>
<comment>Scan - 开始采集按钮 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止采集</value>
<comment>Scan - 停止采集按钮 | Stop acquisition button</comment>
</data>
<data name="Scan_Group_ScanFile" xml:space="preserve">
<value>扫描文件</value>
<comment>Scan - Scan file group header</comment>
</data>
<data name="Scan_Group_Object" xml:space="preserve">
<value>样品信息</value>
<comment>Scan - Object info group header</comment>
</data>
<data name="Scan_Group_General" xml:space="preserve">
<value>扫描参数</value>
<comment>Scan - General parameters group header</comment>
</data>
<data name="Scan_Group_XRayDetector" xml:space="preserve">
<value>射线源与探测器</value>
<comment>Scan - X-ray and detector group header</comment>
</data>
<data name="Scan_Group_Status" xml:space="preserve">
<value>状态</value>
<comment>Scan - Status group header</comment>
</data>
<data name="Scan_Text_ObjectID" xml:space="preserve">
<value>ID</value>
<comment>Scan - Object ID label</comment>
</data>
<data name="Scan_Text_ObjectName" xml:space="preserve">
<value>名称</value>
<comment>Scan - Object name label</comment>
</data>
<data name="Scan_Text_Comment" xml:space="preserve">
<value>备注</value>
<comment>Scan - Comment label</comment>
</data>
<data name="Scan_Text_ScanType" xml:space="preserve">
<value>扫描类型</value>
<comment>Scan - Scan type (ACT/PCT) label</comment>
</data>
<data name="Scan_Text_ScanProcedure" xml:space="preserve">
<value>扫描模式</value>
<comment>Scan - Scan procedure label</comment>
</data>
<data name="Scan_Text_ProjectionPath" xml:space="preserve">
<value>文件位置</value>
<comment>Scan - Projection path label</comment>
</data>
<data name="Scan_Text_Projections" xml:space="preserve">
<value>投影张数</value>
<comment>Scan - Number of projections label</comment>
</data>
<data name="Scan_Text_RotationAngle" xml:space="preserve">
<value>旋转角度</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_TiltAngle" xml:space="preserve">
<value>倾斜角度 (°)</value>
<comment>Scan - Tilt angle label (PCT only)</comment>
</data>
<data name="Scan_Text_SampleThickness" xml:space="preserve">
<value>样品厚度 (mm)</value>
<comment>Scan - Sample thickness label (PCT only)</comment>
</data>
<data name="Scan_Text_VirtualCenter" xml:space="preserve">
<value>虚拟旋转中心</value>
<comment>Scan - Virtual rotation center label</comment>
</data>
<data name="Scan_Text_Voltage" xml:space="preserve">
<value>电压</value>
<comment>Scan - Voltage label</comment>
</data>
<data name="Scan_Text_Current" xml:space="preserve">
<value>电流</value>
<comment>Scan - Current label</comment>
</data>
<data name="Scan_Text_Focus" xml:space="preserve">
<value>焦点</value>
<comment>Scan - Focus label</comment>
</data>
<data name="Scan_Text_DetectorMode" xml:space="preserve">
<value>探测器模式</value>
<comment>Scan - Detector mode label</comment>
</data>
<data name="Scan_Text_Integration" xml:space="preserve">
<value>帧合并</value>
<comment>Scan - Integration/merge label</comment>
</data>
<data name="Scan_Text_ElapsedTime" xml:space="preserve">
<value>已用时间</value>
<comment>Scan - Elapsed time label</comment>
</data>
<data name="Scan_Button_New" xml:space="preserve">
<value>新建</value>
<comment>Scan - New scan file button</comment>
</data>
<data name="Scan_Button_Load" xml:space="preserve">
<value>加载</value>
<comment>Scan - Load scan file button</comment>
</data>
<data name="Scan_Button_Edit" xml:space="preserve">
<value>编辑</value>
<comment>Scan - Edit scan file button</comment>
</data>
<data name="Scan_Button_Delete" xml:space="preserve">
<value>删除</value>
<comment>Scan - Delete scan file button</comment>
</data>
<data name="Scan_Button_Save" xml:space="preserve">
<value>保存</value>
<comment>Scan - Save scan file button</comment>
</data>
<data name="Scan_Button_Cancel" xml:space="preserve">
<value>取消</value>
<comment>Scan - Cancel editing button</comment>
</data>
<data name="Scan_Status_Ready" xml:space="preserve">
<value>就绪</value>
<comment>Scan - Ready status</comment>
</data>
<data name="Scan_Status_FileLoaded" xml:space="preserve">
<value>扫描文件已加载</value>
<comment>Scan - Scan file loaded status</comment>
</data>
<data name="Scan_Status_Scanning" xml:space="preserve">
<value>正在扫描...</value>
<comment>Scan - Scanning status</comment>
</data>
<data name="Scan_Status_Complete" xml:space="preserve">
<value>扫描完成</value>
<comment>Scan - Scan complete status</comment>
</data>
<data name="Scan_Status_Cancelled" xml:space="preserve">
<value>扫描已取消</value>
<comment>Scan - Scan cancelled status</comment>
</data>
<data name="Scan_Dialog_SaveConfirm" xml:space="preserve">
<value>确认保存扫描文件?</value>
<comment>Scan - Save confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_DeleteConfirm" xml:space="preserve">
<value>确认删除此扫描文件?</value>
<comment>Scan - Delete confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_Confirm" xml:space="preserve">
<value>确认</value>
<comment>Scan - Confirm dialog title</comment>
</data>
<data name="Scan_Text_TraySignal" xml:space="preserve">
<value>托盘信号</value>
<comment>Scan - Tray signal label (reserved)</comment>
</data>
</root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>采集模式:</value>
<comment>Scan - 采集模式标签 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>帧合并:</value>
<comment>Scan - 帧合并标签 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>采集张数:</value>
<comment>Scan - 采集张数标签 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋转角度:</value>
<comment>Scan - 旋转角度标签 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>采集进度:</value>
<comment>Scan - 采集进度标签 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>开始采集</value>
<comment>Scan - 开始采集按钮 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止采集</value>
<comment>Scan - 停止采集按钮 | Stop acquisition button</comment>
</data>
<data name="Scan_Group_ScanFile" xml:space="preserve">
<value>扫描文件</value>
<comment>Scan - Scan file group header</comment>
</data>
<data name="Scan_Group_Object" xml:space="preserve">
<value>样品信息</value>
<comment>Scan - Object info group header</comment>
</data>
<data name="Scan_Group_General" xml:space="preserve">
<value>扫描参数</value>
<comment>Scan - General parameters group header</comment>
</data>
<data name="Scan_Group_XRayDetector" xml:space="preserve">
<value>射线源与探测器</value>
<comment>Scan - X-ray and detector group header</comment>
</data>
<data name="Scan_Group_Status" xml:space="preserve">
<value>状态</value>
<comment>Scan - Status group header</comment>
</data>
<data name="Scan_Text_ObjectID" xml:space="preserve">
<value>ID</value>
<comment>Scan - Object ID label</comment>
</data>
<data name="Scan_Text_ObjectName" xml:space="preserve">
<value>名称</value>
<comment>Scan - Object name label</comment>
</data>
<data name="Scan_Text_Comment" xml:space="preserve">
<value>备注</value>
<comment>Scan - Comment label</comment>
</data>
<data name="Scan_Text_ScanType" xml:space="preserve">
<value>扫描类型</value>
<comment>Scan - Scan type (ACT/PCT) label</comment>
</data>
<data name="Scan_Text_ScanProcedure" xml:space="preserve">
<value>扫描模式</value>
<comment>Scan - Scan procedure label</comment>
</data>
<data name="Scan_Text_ProjectionPath" xml:space="preserve">
<value>文件位置</value>
<comment>Scan - Projection path label</comment>
</data>
<data name="Scan_Text_Projections" xml:space="preserve">
<value>投影张数</value>
<comment>Scan - Number of projections label</comment>
</data>
<data name="Scan_Text_RotationAngle" xml:space="preserve">
<value>旋转角度</value>
<comment>Scan - Rotation angle label</comment>
</data>
<data name="Scan_Text_TiltAngle" xml:space="preserve">
<value>倾斜角度 (°)</value>
<comment>Scan - Tilt angle label (PCT only)</comment>
</data>
<data name="Scan_Text_SampleThickness" xml:space="preserve">
<value>样品厚度 (mm)</value>
<comment>Scan - Sample thickness label (PCT only)</comment>
</data>
<data name="Scan_Text_VirtualCenter" xml:space="preserve">
<value>虚拟旋转中心</value>
<comment>Scan - Virtual rotation center label</comment>
</data>
<data name="Scan_Text_Voltage" xml:space="preserve">
<value>电压</value>
<comment>Scan - Voltage label</comment>
</data>
<data name="Scan_Text_Current" xml:space="preserve">
<value>电流</value>
<comment>Scan - Current label</comment>
</data>
<data name="Scan_Text_Focus" xml:space="preserve">
<value>焦点</value>
<comment>Scan - Focus label</comment>
</data>
<data name="Scan_Text_DetectorMode" xml:space="preserve">
<value>探测器模式</value>
<comment>Scan - Detector mode label</comment>
</data>
<data name="Scan_Text_Integration" xml:space="preserve">
<value>帧合并</value>
<comment>Scan - Integration/merge label</comment>
</data>
<data name="Scan_Text_ElapsedTime" xml:space="preserve">
<value>已用时间</value>
<comment>Scan - Elapsed time label</comment>
</data>
<data name="Scan_Button_New" xml:space="preserve">
<value>新建</value>
<comment>Scan - New scan file button</comment>
</data>
<data name="Scan_Button_Load" xml:space="preserve">
<value>加载</value>
<comment>Scan - Load scan file button</comment>
</data>
<data name="Scan_Button_Edit" xml:space="preserve">
<value>编辑</value>
<comment>Scan - Edit scan file button</comment>
</data>
<data name="Scan_Button_Delete" xml:space="preserve">
<value>删除</value>
<comment>Scan - Delete scan file button</comment>
</data>
<data name="Scan_Button_Save" xml:space="preserve">
<value>保存</value>
<comment>Scan - Save scan file button</comment>
</data>
<data name="Scan_Button_Cancel" xml:space="preserve">
<value>取消</value>
<comment>Scan - Cancel editing button</comment>
</data>
<data name="Scan_Status_Ready" xml:space="preserve">
<value>就绪</value>
<comment>Scan - Ready status</comment>
</data>
<data name="Scan_Status_FileLoaded" xml:space="preserve">
<value>扫描文件已加载</value>
<comment>Scan - Scan file loaded status</comment>
</data>
<data name="Scan_Status_Scanning" xml:space="preserve">
<value>正在扫描...</value>
<comment>Scan - Scanning status</comment>
</data>
<data name="Scan_Status_Complete" xml:space="preserve">
<value>扫描完成</value>
<comment>Scan - Scan complete status</comment>
</data>
<data name="Scan_Status_Cancelled" xml:space="preserve">
<value>扫描已取消</value>
<comment>Scan - Scan cancelled status</comment>
</data>
<data name="Scan_Dialog_SaveConfirm" xml:space="preserve">
<value>确认保存扫描文件?</value>
<comment>Scan - Save confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_DeleteConfirm" xml:space="preserve">
<value>确认删除此扫描文件?</value>
<comment>Scan - Delete confirmation dialog message</comment>
</data>
<data name="Scan_Dialog_Confirm" xml:space="preserve">
<value>确认</value>
<comment>Scan - Confirm dialog title</comment>
</data>
<data name="Scan_Text_TraySignal" xml:space="preserve">
<value>托盘信号</value>
<comment>Scan - Tray signal label (reserved)</comment>
</data>
</root>
+148 -148
View File
@@ -1,148 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>采集模式:</value>
<comment>Scan - 采集模式标签 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>帧合并:</value>
<comment>Scan - 帧合并标签 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>采集张数:</value>
<comment>Scan - 采集张数标签 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋转角度:</value>
<comment>Scan - 旋转角度标签 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>采集进度:</value>
<comment>Scan - 采集进度标签 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>开始采集</value>
<comment>Scan - 开始采集按钮 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止采集</value>
<comment>Scan - 停止采集按钮 | Stop acquisition button</comment>
</data>
</root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>采集模式:</value>
<comment>Scan - 采集模式标签 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>帧合并:</value>
<comment>Scan - 帧合并标签 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>采集张数:</value>
<comment>Scan - 采集张数标签 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋转角度:</value>
<comment>Scan - 旋转角度标签 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>采集进度:</value>
<comment>Scan - 采集进度标签 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>开始采集</value>
<comment>Scan - 开始采集按钮 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止采集</value>
<comment>Scan - 停止采集按钮 | Stop acquisition button</comment>
</data>
</root>
+147 -147
View File
@@ -1,148 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>採集模式:</value>
<comment>Scan - 採集模式標籤 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>幀合併:</value>
<comment>Scan - 幀合併標籤 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>採集張數:</value>
<comment>Scan - 採集張數標籤 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋轉角度:</value>
<comment>Scan - 旋轉角度標籤 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>採集進度:</value>
<comment>Scan - 採集進度標籤 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>開始採集</value>
<comment>Scan - 開始採集按鈕 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止採集</value>
<comment>Scan - 停止採集按鈕 | Stop acquisition button</comment>
</data>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<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>
<data name="Scan_Text_ScanMode" xml:space="preserve">
<value>採集模式:</value>
<comment>Scan - 採集模式標籤 | Scan mode label</comment>
</data>
<data name="Scan_Text_FrameMerge" xml:space="preserve">
<value>幀合併:</value>
<comment>Scan - 幀合併標籤 | Frame merge label</comment>
</data>
<data name="Scan_Text_Nums" xml:space="preserve">
<value>採集張數:</value>
<comment>Scan - 採集張數標籤 | Acquisition count label</comment>
</data>
<data name="Scan_Text_Angles" xml:space="preserve">
<value>旋轉角度:</value>
<comment>Scan - 旋轉角度標籤 | Rotation angle label</comment>
</data>
<data name="Scan_Text_Progress" xml:space="preserve">
<value>採集進度:</value>
<comment>Scan - 採集進度標籤 | Acquisition progress label</comment>
</data>
<data name="Scan_Button_Start" xml:space="preserve">
<value>開始採集</value>
<comment>Scan - 開始採集按鈕 | Start acquisition button</comment>
</data>
<data name="Scan_Button_Stop" xml:space="preserve">
<value>停止採集</value>
<comment>Scan - 停止採集按鈕 | Stop acquisition button</comment>
</data>
</root>