将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。

This commit is contained in:
QI Mingxuan
2026-04-16 17:31:13 +08:00
parent 6ec4c3ddaa
commit 2bd6e566c3
581 changed files with 74600 additions and 222 deletions
+474
View File
@@ -0,0 +1,474 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace XP.Hardware.MotionControl.Resources {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XP.Hardware.MotionControl.Resources.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找类似 Actual 的本地化字符串。
/// </summary>
internal static string MC_Actual {
get {
return ResourceManager.GetString("MC_Actual", resourceCulture);
}
}
/// <summary>
/// 查找类似 Apply 的本地化字符串。
/// </summary>
internal static string MC_ApplyGeometry {
get {
return ResourceManager.GetString("MC_ApplyGeometry", resourceCulture);
}
}
/// <summary>
/// 查找类似 Linear Axes &amp; Rotary Axes 的本地化字符串。
/// </summary>
internal static string MC_Axes_Title {
get {
return ResourceManager.GetString("MC_Axes_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 Axis 的本地化字符串。
/// </summary>
internal static string MC_Axis {
get {
return ResourceManager.GetString("MC_Axis", resourceCulture);
}
}
/// <summary>
/// 查找类似 轴复位 | Axis Reset 的本地化字符串。
/// </summary>
internal static string MC_AxisReset {
get {
return ResourceManager.GetString("MC_AxisReset", resourceCulture);
}
}
/// <summary>
/// 查找类似 Calculate Geometry 的本地化字符串。
/// </summary>
internal static string MC_CalculateGeometry {
get {
return ResourceManager.GetString("MC_CalculateGeometry", resourceCulture);
}
}
/// <summary>
/// 查找类似 Close 的本地化字符串。
/// </summary>
internal static string MC_CloseDoor {
get {
return ResourceManager.GetString("MC_CloseDoor", resourceCulture);
}
}
/// <summary>
/// 查找类似 实际→目标 | Actual→Target 的本地化字符串。
/// </summary>
internal static string MC_CopyActualToTarget {
get {
return ResourceManager.GetString("MC_CopyActualToTarget", resourceCulture);
}
}
/// <summary>
/// 查找类似 Debug (Jog) 的本地化字符串。
/// </summary>
internal static string MC_Debug_Title {
get {
return ResourceManager.GetString("MC_Debug_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 Motion Control Debug 的本地化字符串。
/// </summary>
internal static string MC_DebugWindow_Title {
get {
return ResourceManager.GetString("MC_DebugWindow_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 DetectorZ 的本地化字符串。
/// </summary>
internal static string MC_DetectorZ {
get {
return ResourceManager.GetString("MC_DetectorZ", resourceCulture);
}
}
/// <summary>
/// 查找类似 Det.Swing 的本地化字符串。
/// </summary>
internal static string MC_DetSwing {
get {
return ResourceManager.GetString("MC_DetSwing", resourceCulture);
}
}
/// <summary>
/// 查找类似 Status 的本地化字符串。
/// </summary>
internal static string MC_DoorStatus {
get {
return ResourceManager.GetString("MC_DoorStatus", resourceCulture);
}
}
/// <summary>
/// 查找类似 Safety Door Status 的本地化字符串。
/// </summary>
internal static string MC_DoorStatus_Title {
get {
return ResourceManager.GetString("MC_DoorStatus_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 FDD 的本地化字符串。
/// </summary>
internal static string MC_FDD {
get {
return ResourceManager.GetString("MC_FDD", resourceCulture);
}
}
/// <summary>
/// 查找类似 Fixture Rot. 的本地化字符串。
/// </summary>
internal static string MC_FixtureRot {
get {
return ResourceManager.GetString("MC_FixtureRot", resourceCulture);
}
}
/// <summary>
/// 查找类似 FOD 的本地化字符串。
/// </summary>
internal static string MC_FOD {
get {
return ResourceManager.GetString("MC_FOD", resourceCulture);
}
}
/// <summary>
/// 查找类似 Geometry 的本地化字符串。
/// </summary>
internal static string MC_Geometry_Title {
get {
return ResourceManager.GetString("MC_Geometry_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 几何计算失败:{0} | Geometry calculation failed: {0} 的本地化字符串。
/// </summary>
internal static string MC_GeometryCalcFailed {
get {
return ResourceManager.GetString("MC_GeometryCalcFailed", resourceCulture);
}
}
/// <summary>
/// 查找类似 用户取消操作 | User cancelled operation 的本地化字符串。
/// </summary>
internal static string MC_GeometryCancelled {
get {
return ResourceManager.GetString("MC_GeometryCancelled", resourceCulture);
}
}
/// <summary>
/// 查找类似 目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
///SourceZ → {3:F2}mm
///DetectorZ → {4:F2}mm
///确认执行移动? | Confirm to execute move? 的本地化字符串。
/// </summary>
internal static string MC_GeometryConfirm {
get {
return ResourceManager.GetString("MC_GeometryConfirm", resourceCulture);
}
}
/// <summary>
/// 查找类似 目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
///SourceZ → {3:F2}mm
///DetectorZ → {4:F2}mm
///确认填入信息? | Confirm to filll move matrix? 的本地化字符串。
/// </summary>
internal static string MC_GeometryFillConfirm {
get {
return ResourceManager.GetString("MC_GeometryFillConfirm", resourceCulture);
}
}
/// <summary>
/// 查找类似 Home 的本地化字符串。
/// </summary>
internal static string MC_Home {
get {
return ResourceManager.GetString("MC_Home", resourceCulture);
}
}
/// <summary>
/// 查找类似 确认执行所有轴回零? | Confirm to home all axes? 的本地化字符串。
/// </summary>
internal static string MC_HomeConfirm {
get {
return ResourceManager.GetString("MC_HomeConfirm", resourceCulture);
}
}
/// <summary>
/// 查找类似 Interlock 的本地化字符串。
/// </summary>
internal static string MC_Interlock {
get {
return ResourceManager.GetString("MC_Interlock", resourceCulture);
}
}
/// <summary>
/// 查找类似 Interlocked 的本地化字符串。
/// </summary>
internal static string MC_Interlocked {
get {
return ResourceManager.GetString("MC_Interlocked", resourceCulture);
}
}
/// <summary>
/// 查找类似 Jog Speed 的本地化字符串。
/// </summary>
internal static string MC_JogSpeed_Title {
get {
return ResourceManager.GetString("MC_JogSpeed_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 Linear Axes 的本地化字符串。
/// </summary>
internal static string MC_LinearAxes_Title {
get {
return ResourceManager.GetString("MC_LinearAxes_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 M 的本地化字符串。
/// </summary>
internal static string MC_Magnification {
get {
return ResourceManager.GetString("MC_Magnification", resourceCulture);
}
}
/// <summary>
/// 查找类似 Move 的本地化字符串。
/// </summary>
internal static string MC_Move {
get {
return ResourceManager.GetString("MC_Move", resourceCulture);
}
}
/// <summary>
/// 查找类似 确认执行多轴联动移动? | Confirm to execute multi-axis coordinated move? 的本地化字符串。
/// </summary>
internal static string MC_MoveConfirm {
get {
return ResourceManager.GetString("MC_MoveConfirm", resourceCulture);
}
}
/// <summary>
/// 查找类似 Not Interlocked 的本地化字符串。
/// </summary>
internal static string MC_NotInterlocked {
get {
return ResourceManager.GetString("MC_NotInterlocked", resourceCulture);
}
}
/// <summary>
/// 查找类似 Open 的本地化字符串。
/// </summary>
internal static string MC_OpenDoor {
get {
return ResourceManager.GetString("MC_OpenDoor", resourceCulture);
}
}
/// <summary>
/// 查找类似 Operations 的本地化字符串。
/// </summary>
internal static string MC_Operations_Title {
get {
return ResourceManager.GetString("MC_Operations_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 PLC not connected, operation unavailable 的本地化字符串。
/// </summary>
internal static string MC_PlcNotConnected {
get {
return ResourceManager.GetString("MC_PlcNotConnected", resourceCulture);
}
}
/// <summary>
/// 查找类似 Rotary Axes 的本地化字符串。
/// </summary>
internal static string MC_RotaryAxes_Title {
get {
return ResourceManager.GetString("MC_RotaryAxes_Title", resourceCulture);
}
}
/// <summary>
/// 查找类似 SourceZ 的本地化字符串。
/// </summary>
internal static string MC_SourceZ {
get {
return ResourceManager.GetString("MC_SourceZ", resourceCulture);
}
}
/// <summary>
/// 查找类似 Stage Rot. 的本地化字符串。
/// </summary>
internal static string MC_StageRot {
get {
return ResourceManager.GetString("MC_StageRot", resourceCulture);
}
}
/// <summary>
/// 查找类似 StageX 的本地化字符串。
/// </summary>
internal static string MC_StageX {
get {
return ResourceManager.GetString("MC_StageX", resourceCulture);
}
}
/// <summary>
/// 查找类似 StageY 的本地化字符串。
/// </summary>
internal static string MC_StageY {
get {
return ResourceManager.GetString("MC_StageY", resourceCulture);
}
}
/// <summary>
/// 查找类似 Stop 的本地化字符串。
/// </summary>
internal static string MC_Stop {
get {
return ResourceManager.GetString("MC_Stop", resourceCulture);
}
}
/// <summary>
/// 查找类似 Stop Door 的本地化字符串。
/// </summary>
internal static string MC_StopDoor {
get {
return ResourceManager.GetString("MC_StopDoor", resourceCulture);
}
}
/// <summary>
/// 查找类似 Target 的本地化字符串。
/// </summary>
internal static string MC_Target {
get {
return ResourceManager.GetString("MC_Target", resourceCulture);
}
}
/// <summary>
/// 查找类似 Target FDD 的本地化字符串。
/// </summary>
internal static string MC_TargetFDD {
get {
return ResourceManager.GetString("MC_TargetFDD", resourceCulture);
}
}
/// <summary>
/// 查找类似 Target FOD 的本地化字符串。
/// </summary>
internal static string MC_TargetFOD {
get {
return ResourceManager.GetString("MC_TargetFOD", resourceCulture);
}
}
}
}
@@ -0,0 +1,261 @@
<?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="MC_DoorStatus_Title" xml:space="preserve">
<value>Safety Door Status</value>
</data>
<data name="MC_DoorStatus" xml:space="preserve">
<value>Status</value>
</data>
<data name="MC_Interlock" xml:space="preserve">
<value>Interlock</value>
</data>
<data name="MC_Interlocked" xml:space="preserve">
<value>Interlocked</value>
</data>
<data name="MC_NotInterlocked" xml:space="preserve">
<value>Not Interlocked</value>
</data>
<data name="MC_LinearAxes_Title" xml:space="preserve">
<value>Linear Axes</value>
</data>
<data name="MC_Axis" xml:space="preserve">
<value>Axis</value>
</data>
<data name="MC_Actual" xml:space="preserve">
<value>Actual</value>
</data>
<data name="MC_Target" xml:space="preserve">
<value>Target</value>
</data>
<data name="MC_SourceZ" xml:space="preserve">
<value>SourceZ</value>
</data>
<data name="MC_DetectorZ" xml:space="preserve">
<value>DetectorZ</value>
</data>
<data name="MC_StageX" xml:space="preserve">
<value>StageX</value>
</data>
<data name="MC_StageY" xml:space="preserve">
<value>StageY</value>
</data>
<data name="MC_RotaryAxes_Title" xml:space="preserve">
<value>Rotary Axes</value>
</data>
<data name="MC_DetSwing" xml:space="preserve">
<value>Det.Swing</value>
</data>
<data name="MC_StageRot" xml:space="preserve">
<value>Stage Rot.</value>
</data>
<data name="MC_FixtureRot" xml:space="preserve">
<value>Fixture Rot.</value>
</data>
<data name="MC_Geometry_Title" xml:space="preserve">
<value>Geometry</value>
</data>
<data name="MC_FOD" xml:space="preserve">
<value>FOD</value>
</data>
<data name="MC_FDD" xml:space="preserve">
<value>FDD</value>
</data>
<data name="MC_Magnification" xml:space="preserve">
<value>M</value>
</data>
<data name="MC_TargetFOD" xml:space="preserve">
<value>Targ.FOD</value>
</data>
<data name="MC_TargetFDD" xml:space="preserve">
<value>Targ.FDD</value>
</data>
<data name="MC_ApplyGeometry" xml:space="preserve">
<value>Apply</value>
</data>
<data name="MC_Operations_Title" xml:space="preserve">
<value>Operations</value>
</data>
<data name="MC_Move" xml:space="preserve">
<value>Move</value>
</data>
<data name="MC_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="MC_Home" xml:space="preserve">
<value>Home</value>
</data>
<data name="MC_OpenDoor" xml:space="preserve">
<value>Open</value>
</data>
<data name="MC_CloseDoor" xml:space="preserve">
<value>Close</value>
</data>
<data name="MC_StopDoor" xml:space="preserve">
<value>Stop Door</value>
</data>
<data name="MC_Debug_Title" xml:space="preserve">
<value>Debug (Jog)</value>
</data>
<data name="MC_JogSpeed_Title" xml:space="preserve">
<value>Jog Speed</value>
</data>
<data name="MC_DebugWindow_Title" xml:space="preserve">
<value>Motion Control Debug</value>
</data>
<data name="MC_PlcNotConnected" xml:space="preserve">
<value>PLC not connected, operation unavailable</value>
</data>
<data name="MC_Axes_Title" xml:space="preserve">
<value>Linear Axes &amp; Rotary Axes</value>
</data>
<data name="MC_CalculateGeometry" xml:space="preserve">
<value>Calcu.</value>
</data>
<data name="MC_GeometryCalcFailed" xml:space="preserve">
<value>Geometry calculation failed: {0}</value>
</data>
<data name="MC_GeometryConfirm" xml:space="preserve">
<value>Target FOD={0:F2}mm, FDD={1:F2}mm, Swing Angle={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
Confirm to execute move?</value>
</data>
<data name="MC_GeometryCancelled" xml:space="preserve">
<value>User cancelled operation</value>
</data>
<data name="MC_CopyActualToTarget" xml:space="preserve">
<value>Act.→Targ.</value>
</data>
<data name="MC_MoveConfirm" xml:space="preserve">
<value>Confirm to execute multi-axis coordinated move?</value>
</data>
<data name="MC_HomeConfirm" xml:space="preserve">
<value>Confirm to home all axes?</value>
</data>
<data name="MC_AxisReset" xml:space="preserve">
<value>Axis Reset</value>
</data>
<data name="MC_GeometryFillConfirm" xml:space="preserve">
<value>Target FOD={0:F2}mm, FDD={1:F2}mm, Swing Angle={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
Confirm to filll move matrix?</value>
</data>
</root>
@@ -0,0 +1,304 @@
<?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="MC_DoorStatus_Title" xml:space="preserve">
<value>Safety Door Status</value>
<comment>安全门状态区标题 | Safety door status area title</comment>
</data>
<data name="MC_DoorStatus" xml:space="preserve">
<value>Status</value>
<comment>门状态标签 | Door status label</comment>
</data>
<data name="MC_Interlock" xml:space="preserve">
<value>Interlock</value>
<comment>联锁标签 | Interlock label</comment>
</data>
<data name="MC_Interlocked" xml:space="preserve">
<value>Interlocked</value>
<comment>已联锁状态文本 | Interlocked status text</comment>
</data>
<data name="MC_NotInterlocked" xml:space="preserve">
<value>Not Interlocked</value>
<comment>未联锁状态文本 | Not interlocked status text</comment>
</data>
<data name="MC_LinearAxes_Title" xml:space="preserve">
<value>Linear Axes</value>
<comment>直线轴区标题 | Linear axes area title</comment>
</data>
<data name="MC_Axis" xml:space="preserve">
<value>Axis</value>
<comment>轴表头 | Axis header</comment>
</data>
<data name="MC_Actual" xml:space="preserve">
<value>Actual</value>
<comment>实际值表头 | Actual value header</comment>
</data>
<data name="MC_Target" xml:space="preserve">
<value>Target</value>
<comment>目标值表头 | Target value header</comment>
</data>
<data name="MC_SourceZ" xml:space="preserve">
<value>SourceZ</value>
<comment>射线源Z轴 | X-ray source Z axis</comment>
</data>
<data name="MC_DetectorZ" xml:space="preserve">
<value>DetectorZ</value>
<comment>探测器Z轴 | Detector Z axis</comment>
</data>
<data name="MC_StageX" xml:space="preserve">
<value>StageX</value>
<comment>载物台X轴 | Stage X axis</comment>
</data>
<data name="MC_StageY" xml:space="preserve">
<value>StageY</value>
<comment>载物台Y轴 | Stage Y axis</comment>
</data>
<data name="MC_RotaryAxes_Title" xml:space="preserve">
<value>Rotary Axes</value>
<comment>旋转轴区标题 | Rotary axes area title</comment>
</data>
<data name="MC_DetSwing" xml:space="preserve">
<value>Det.Swing</value>
<comment>探测器摆动 | Detector swing</comment>
</data>
<data name="MC_StageRot" xml:space="preserve">
<value>Stage Rot.</value>
<comment>载物台旋转 | Stage rotation</comment>
</data>
<data name="MC_FixtureRot" xml:space="preserve">
<value>Fixture Rot.</value>
<comment>夹具旋转 | Fixture rotation</comment>
</data>
<data name="MC_Geometry_Title" xml:space="preserve">
<value>Geometry</value>
<comment>几何参数区标题 | Geometry area title</comment>
</data>
<data name="MC_FOD" xml:space="preserve">
<value>FOD</value>
<comment>焦点到旋转中心距离 | Focus to Object Distance</comment>
</data>
<data name="MC_FDD" xml:space="preserve">
<value>FDD</value>
<comment>焦点到探测器距离 | Focus to Detector Distance</comment>
</data>
<data name="MC_Magnification" xml:space="preserve">
<value>M</value>
<comment>放大倍率 | Magnification</comment>
</data>
<data name="MC_TargetFOD" xml:space="preserve">
<value>Target FOD</value>
<comment>目标FOD | Target FOD</comment>
</data>
<data name="MC_TargetFDD" xml:space="preserve">
<value>Target FDD</value>
<comment>目标FDD | Target FDD</comment>
</data>
<data name="MC_ApplyGeometry" xml:space="preserve">
<value>Apply</value>
<comment>应用几何参数按钮 | Apply geometry button</comment>
</data>
<data name="MC_Operations_Title" xml:space="preserve">
<value>Operations</value>
<comment>操作区标题 | Operations area title</comment>
</data>
<data name="MC_Move" xml:space="preserve">
<value>Move</value>
<comment>移动按钮 | Move button</comment>
</data>
<data name="MC_Stop" xml:space="preserve">
<value>Stop</value>
<comment>停止按钮 | Stop button</comment>
</data>
<data name="MC_Home" xml:space="preserve">
<value>Home</value>
<comment>回零按钮 | Home button</comment>
</data>
<data name="MC_OpenDoor" xml:space="preserve">
<value>Open</value>
<comment>开门按钮 | Open door button</comment>
</data>
<data name="MC_CloseDoor" xml:space="preserve">
<value>Close</value>
<comment>关门按钮 | Close door button</comment>
</data>
<data name="MC_StopDoor" xml:space="preserve">
<value>Stop Door</value>
<comment>停门按钮 | Stop door button</comment>
</data>
<data name="MC_Debug_Title" xml:space="preserve">
<value>Debug (Jog)</value>
<comment>调试区标题 | Debug area title</comment>
</data>
<data name="MC_JogSpeed_Title" xml:space="preserve">
<value>Jog Speed</value>
<comment>Jog 速度标题 | Jog speed title</comment>
</data>
<data name="MC_DebugWindow_Title" xml:space="preserve">
<value>Motion Control Debug</value>
</data>
<data name="MC_PlcNotConnected" xml:space="preserve">
<value>PLC not connected, operation unavailable</value>
</data>
<data name="MC_Axes_Title" xml:space="preserve">
<value>Linear Axes &amp; Rotary Axes</value>
<comment>直线轴 &amp; 旋转轴标题</comment>
</data>
<data name="MC_CalculateGeometry" xml:space="preserve">
<value>Calculate Geometry</value>
<comment>计算几何参数按钮 | Calculate Geometry</comment>
</data>
<data name="MC_GeometryCalcFailed" xml:space="preserve">
<value>几何计算失败:{0} | Geometry calculation failed: {0}</value>
<comment>几何反算失败提示 | Geometry inverse calculation failed message</comment>
</data>
<data name="MC_GeometryConfirm" xml:space="preserve">
<value>目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
确认执行移动? | Confirm to execute move?</value>
<comment>几何反算确认提示 | Geometry inverse confirmation message</comment>
</data>
<data name="MC_GeometryCancelled" xml:space="preserve">
<value>用户取消操作 | User cancelled operation</value>
<comment>用户取消几何反算 | User cancelled geometry inverse</comment>
</data>
<data name="MC_CopyActualToTarget" xml:space="preserve">
<value>实际→目标 | Actual→Target</value>
<comment>一键将实际值填入目标值 | Copy actual values to target values</comment>
</data>
<data name="MC_MoveConfirm" xml:space="preserve">
<value>确认执行多轴联动移动? | Confirm to execute multi-axis coordinated move?</value>
<comment>移动二次确认 | Move confirmation</comment>
</data>
<data name="MC_HomeConfirm" xml:space="preserve">
<value>确认执行所有轴回零? | Confirm to home all axes?</value>
<comment>回零二次确认 | Home confirmation</comment>
</data>
<data name="MC_AxisReset" xml:space="preserve">
<value>轴复位 | Axis Reset</value>
<comment>轴复位按钮 | Axis reset button</comment>
</data>
<data name="MC_GeometryFillConfirm" xml:space="preserve">
<value>目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
确认填入信息? | Confirm to filll move matrix?</value>
<comment>几何反算确认提示 | Geometry inverse confirmation message</comment>
</data>
</root>
@@ -0,0 +1,261 @@
<?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="MC_DoorStatus_Title" xml:space="preserve">
<value>安全门状态</value>
</data>
<data name="MC_DoorStatus" xml:space="preserve">
<value>状态</value>
</data>
<data name="MC_Interlock" xml:space="preserve">
<value>联锁</value>
</data>
<data name="MC_Interlocked" xml:space="preserve">
<value>已联锁</value>
</data>
<data name="MC_NotInterlocked" xml:space="preserve">
<value>未联锁</value>
</data>
<data name="MC_LinearAxes_Title" xml:space="preserve">
<value>直线轴</value>
</data>
<data name="MC_Axis" xml:space="preserve">
<value>轴</value>
</data>
<data name="MC_Actual" xml:space="preserve">
<value>实际值</value>
</data>
<data name="MC_Target" xml:space="preserve">
<value>目标值</value>
</data>
<data name="MC_SourceZ" xml:space="preserve">
<value>射线源Z</value>
</data>
<data name="MC_DetectorZ" xml:space="preserve">
<value>探测器Z</value>
</data>
<data name="MC_StageX" xml:space="preserve">
<value>载物台X</value>
</data>
<data name="MC_StageY" xml:space="preserve">
<value>载物台Y</value>
</data>
<data name="MC_RotaryAxes_Title" xml:space="preserve">
<value>旋转轴</value>
</data>
<data name="MC_DetSwing" xml:space="preserve">
<value>探测器摆动</value>
</data>
<data name="MC_StageRot" xml:space="preserve">
<value>载物台旋转</value>
</data>
<data name="MC_FixtureRot" xml:space="preserve">
<value>夹具旋转</value>
</data>
<data name="MC_Geometry_Title" xml:space="preserve">
<value>几何参数</value>
</data>
<data name="MC_FOD" xml:space="preserve">
<value>FOD</value>
</data>
<data name="MC_FDD" xml:space="preserve">
<value>FDD</value>
</data>
<data name="MC_Magnification" xml:space="preserve">
<value>M</value>
</data>
<data name="MC_TargetFOD" xml:space="preserve">
<value>目标FOD</value>
</data>
<data name="MC_TargetFDD" xml:space="preserve">
<value>目标FDD</value>
</data>
<data name="MC_ApplyGeometry" xml:space="preserve">
<value>应用</value>
</data>
<data name="MC_Operations_Title" xml:space="preserve">
<value>操作</value>
</data>
<data name="MC_Move" xml:space="preserve">
<value>移动</value>
</data>
<data name="MC_Stop" xml:space="preserve">
<value>停止</value>
</data>
<data name="MC_Home" xml:space="preserve">
<value>回零</value>
</data>
<data name="MC_OpenDoor" xml:space="preserve">
<value>开门</value>
</data>
<data name="MC_CloseDoor" xml:space="preserve">
<value>关门</value>
</data>
<data name="MC_StopDoor" xml:space="preserve">
<value>停门</value>
</data>
<data name="MC_Debug_Title" xml:space="preserve">
<value>调试(Jog</value>
</data>
<data name="MC_JogSpeed_Title" xml:space="preserve">
<value>Jog 速度</value>
</data>
<data name="MC_DebugWindow_Title" xml:space="preserve">
<value>运动控制调试</value>
</data>
<data name="MC_PlcNotConnected" xml:space="preserve">
<value>PLC 未连接,操作不可用</value>
</data>
<data name="MC_Axes_Title" xml:space="preserve">
<value>直线轴 &amp; 旋转轴</value>
</data>
<data name="MC_CalculateGeometry" xml:space="preserve">
<value>计算</value>
</data>
<data name="MC_GeometryCalcFailed" xml:space="preserve">
<value>几何计算失败:{0}</value>
</data>
<data name="MC_GeometryConfirm" xml:space="preserve">
<value>目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
确认执行移动?</value>
</data>
<data name="MC_GeometryCancelled" xml:space="preserve">
<value>用户取消操作</value>
</data>
<data name="MC_CopyActualToTarget" xml:space="preserve">
<value>值→映射</value>
</data>
<data name="MC_MoveConfirm" xml:space="preserve">
<value>确认执行多轴联动移动?</value>
</data>
<data name="MC_HomeConfirm" xml:space="preserve">
<value>确认执行所有轴回零?</value>
</data>
<data name="MC_AxisReset" xml:space="preserve">
<value>轴复位</value>
</data>
<data name="MC_GeometryFillConfirm" xml:space="preserve">
<value>目标 FOD={0:F2}mm, FDD={1:F2}mm, 摆动角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
确认填入目标值信息?</value>
</data>
</root>
@@ -0,0 +1,261 @@
<?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="MC_DoorStatus_Title" xml:space="preserve">
<value>安全門狀態</value>
</data>
<data name="MC_DoorStatus" xml:space="preserve">
<value>狀態</value>
</data>
<data name="MC_Interlock" xml:space="preserve">
<value>聯鎖</value>
</data>
<data name="MC_Interlocked" xml:space="preserve">
<value>已聯鎖</value>
</data>
<data name="MC_NotInterlocked" xml:space="preserve">
<value>未聯鎖</value>
</data>
<data name="MC_LinearAxes_Title" xml:space="preserve">
<value>直線軸</value>
</data>
<data name="MC_Axis" xml:space="preserve">
<value>軸</value>
</data>
<data name="MC_Actual" xml:space="preserve">
<value>實際值</value>
</data>
<data name="MC_Target" xml:space="preserve">
<value>目標值</value>
</data>
<data name="MC_SourceZ" xml:space="preserve">
<value>射線源Z</value>
</data>
<data name="MC_DetectorZ" xml:space="preserve">
<value>探測器Z</value>
</data>
<data name="MC_StageX" xml:space="preserve">
<value>載物台X</value>
</data>
<data name="MC_StageY" xml:space="preserve">
<value>載物台Y</value>
</data>
<data name="MC_RotaryAxes_Title" xml:space="preserve">
<value>旋轉軸</value>
</data>
<data name="MC_DetSwing" xml:space="preserve">
<value>探測器擺動</value>
</data>
<data name="MC_StageRot" xml:space="preserve">
<value>載物台旋轉</value>
</data>
<data name="MC_FixtureRot" xml:space="preserve">
<value>夾具旋轉</value>
</data>
<data name="MC_Geometry_Title" xml:space="preserve">
<value>幾何參數</value>
</data>
<data name="MC_FOD" xml:space="preserve">
<value>FOD</value>
</data>
<data name="MC_FDD" xml:space="preserve">
<value>FDD</value>
</data>
<data name="MC_Magnification" xml:space="preserve">
<value>M</value>
</data>
<data name="MC_TargetFOD" xml:space="preserve">
<value>目標FOD</value>
</data>
<data name="MC_TargetFDD" xml:space="preserve">
<value>目標FDD</value>
</data>
<data name="MC_ApplyGeometry" xml:space="preserve">
<value>套用</value>
</data>
<data name="MC_Operations_Title" xml:space="preserve">
<value>操作</value>
</data>
<data name="MC_Move" xml:space="preserve">
<value>移動</value>
</data>
<data name="MC_Stop" xml:space="preserve">
<value>停止</value>
</data>
<data name="MC_Home" xml:space="preserve">
<value>歸零</value>
</data>
<data name="MC_OpenDoor" xml:space="preserve">
<value>開門</value>
</data>
<data name="MC_CloseDoor" xml:space="preserve">
<value>關門</value>
</data>
<data name="MC_StopDoor" xml:space="preserve">
<value>停門</value>
</data>
<data name="MC_Debug_Title" xml:space="preserve">
<value>除錯(Jog</value>
</data>
<data name="MC_JogSpeed_Title" xml:space="preserve">
<value>Jog 速度</value>
</data>
<data name="MC_DebugWindow_Title" xml:space="preserve">
<value>運動控制除錯</value>
</data>
<data name="MC_PlcNotConnected" xml:space="preserve">
<value>PLC 未連接,操作不可用</value>
</data>
<data name="MC_Axes_Title" xml:space="preserve">
<value>直線軸 &amp; 旋轉軸</value>
</data>
<data name="MC_CalculateGeometry" xml:space="preserve">
<value>計算</value>
</data>
<data name="MC_GeometryCalcFailed" xml:space="preserve">
<value>幾何計算失敗:{0}</value>
</data>
<data name="MC_GeometryConfirm" xml:space="preserve">
<value>目標 FOD={0:F2}mm, FDD={1:F2}mm, 擺動角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
確認執行移動?</value>
</data>
<data name="MC_GeometryCancelled" xml:space="preserve">
<value>使用者取消操作</value>
</data>
<data name="MC_CopyActualToTarget" xml:space="preserve">
<value>實際→目標</value>
</data>
<data name="MC_MoveConfirm" xml:space="preserve">
<value>確認執行多軸聯動移動?</value>
</data>
<data name="MC_HomeConfirm" xml:space="preserve">
<value>確認執行所有軸回零?</value>
</data>
<data name="MC_AxisReset" xml:space="preserve">
<value>軸復位</value>
</data>
<data name="MC_GeometryFillConfirm" xml:space="preserve">
<value>目標 FOD={0:F2}mm, FDD={1:F2}mm, 擺動角度={2:F2}°
SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
確填入目標值資料?</value>
</data>
</root>