Browse Source

add emergency btn error skip

Robert 1 year ago
parent
commit
4cdb87a1fa

+ 65 - 37
AwInitilizer/HintDialog.xaml

@@ -1,37 +1,65 @@
-<Window x:Class="AwInitilizer.HintDialog"
-        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-        xmlns:local="clr-namespace:AwInitilizer"
-        mc:Ignorable="d"
-        Title="HintDialog" Height="270" Width="600"
-        WindowStyle="None"
-        ResizeMode="NoResize"
-        WindowStartupLocation="CenterOwner"
-        Topmost="True">
-    <Border BorderBrush="Gray" BorderThickness="2">
-        <Grid>
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"/>
-                <RowDefinition Height="*"/>
-                <RowDefinition Height="auto"/>
-            </Grid.RowDefinitions>
-
-            <Grid Grid.Row="0" Background="Gray">
-                <Label x:Name="uxTitle" Content="Message" Foreground="White"/>
-            </Grid>
-
-            <Grid x:Name="uxCancelContainer" Grid.Row="2" Height="70">
-                <Button  HorizontalAlignment="Center" VerticalAlignment="Center" Height="50" Width="100" Click="Button_Click">
-                    <Label x:Name="uxBtnText" Content="Cancel"/>
-                </Button>
-            </Grid>
-
-            <StackPanel Orientation="Vertical" VerticalAlignment="Center" Grid.Row="1">
-                <Image x:Name="uxImage" Width="100" Height="100" Visibility="Collapsed"/>
-                <Label x:Name="uxConentText" FontSize="24" Foreground="Black" Content="Test Messge" VerticalAlignment="Center" HorizontalAlignment="Center"/>
-            </StackPanel>
-        </Grid>
-    </Border>
-</Window>
+<Window
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:local="clr-namespace:AwInitilizer"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    Title="HintDialog"
+    Width="600"
+    Height="270"
+    ResizeMode="NoResize"
+    Topmost="True"
+    WindowStartupLocation="CenterOwner"
+    WindowStyle="None"
+    mc:Ignorable="d"
+    x:Class="AwInitilizer.HintDialog">
+    <Border BorderBrush="Gray" BorderThickness="2">
+        <Grid>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30" />
+                <RowDefinition Height="*" />
+                <RowDefinition Height="auto" />
+            </Grid.RowDefinitions>
+
+            <Grid Grid.Row="0" Background="Gray">
+                <Label
+                    x:Name="uxTitle"
+                    Content="Message"
+                    Foreground="White" />
+            </Grid>
+
+            <Grid
+                x:Name="uxCancelContainer"
+                Grid.Row="2"
+                Height="70">
+                <Button
+                    Width="100"
+                    Height="50"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Center"
+                    Click="Button_Click">
+                    <Label x:Name="uxBtnText" Content="Cancel" />
+                </Button>
+            </Grid>
+
+            <StackPanel
+                Grid.Row="1"
+                VerticalAlignment="Center"
+                Orientation="Vertical">
+                <Image
+                    x:Name="uxImage"
+                    Width="100"
+                    Height="100"
+                    Visibility="Collapsed" />
+                <TextBlock
+                    x:Name="uxConentText"
+                    HorizontalAlignment="Center"
+                    VerticalAlignment="Center"
+                    Text="Test Messge"
+                    FontSize="24"
+                    Foreground="Black"
+                    TextWrapping="Wrap" />
+            </StackPanel>
+        </Grid>
+    </Border>
+</Window>

+ 117 - 117
AwInitilizer/HintDialog.xaml.cs

@@ -1,117 +1,117 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace AwInitilizer
-{
-    /// <summary>
-    /// Interaction logic for HintDialog.xaml
-    /// </summary>
-    public partial class HintDialog : Window
-    {
-        public static void ShowMessage(string msg)
-        {
-            var confirmString = Resx.AppResources.Confirm;
-            var dialog = new HintDialog() { Title = "",Message = msg,BtnText= confirmString };
-            try
-            {
-                dialog.Owner = Application.Current.MainWindow;
-            }
-            catch
-            {
-
-            }
-            dialog.ShowDialog();
-        }
-
-        public string Message
-        {
-            get => (string) uxConentText.Content;
-            set => uxConentText.Content = value;
-        }
-
-        public string BtnText
-        {
-            get => (string)uxBtnText.Content;
-            set => uxBtnText.Content = value;
-        }
-
-        public string Caption
-        {
-            get => (string)uxTitle.Content;
-            set => uxTitle.Content = value;
-        }
-
-        private string _ImgPath;
-        public string ImgPath
-        {
-            get => _ImgPath;
-            set
-            {
-                if(_ImgPath!=value)
-                {
-                    _ImgPath = value;
-
-                    if(string.IsNullOrEmpty(_ImgPath))
-                    {
-                        uxImage.Visibility = Visibility.Collapsed;
-                    }
-                    else
-                    {
-                        uxImage.Visibility = Visibility.Visible;
-                        uxImage.Source = new BitmapImage(new Uri(_ImgPath)) { };
-                    }
-                }
-            }
-        }
-
-        public bool IsCancelAble
-        {
-            get => uxCancelContainer.Visibility == Visibility.Visible;
-            set
-            {
-                uxCancelContainer.Visibility = value ? Visibility.Visible : Visibility.Collapsed;
-            }
-        }
-
-        public HintDialog()
-        {
-            InitializeComponent();
-        }
-
-        private void Button_Click(object sender, RoutedEventArgs e)
-        {
-            this.Close();
-        }
-
-        private static ImageSource GetBitMap(string imgpath)
-        {
-            try
-            {
-                BitmapImage bitmapImg = new BitmapImage();
-                bitmapImg.BeginInit();
-                bitmapImg.UriSource = new Uri(imgpath, UriKind.RelativeOrAbsolute);
-                bitmapImg.CreateOptions = BitmapCreateOptions.IgnoreColorProfile | BitmapCreateOptions.IgnoreImageCache;
-                bitmapImg.CacheOption = BitmapCacheOption.OnLoad;
-                bitmapImg.EndInit();
-                bitmapImg.Freeze();
-                return bitmapImg;
-            }
-            catch (Exception e)
-            {
-                Console.WriteLine(e.Message);
-                return null;
-            }
-        }
-    }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace AwInitilizer
+{
+    /// <summary>
+    /// Interaction logic for HintDialog.xaml
+    /// </summary>
+    public partial class HintDialog : Window
+    {
+        public static void ShowMessage(string msg)
+        {
+            var confirmString = Resx.AppResources.Confirm;
+            var dialog = new HintDialog() { Title = "",Message = msg,BtnText= confirmString };
+            try
+            {
+                dialog.Owner = Application.Current.MainWindow;
+            }
+            catch
+            {
+
+            }
+            dialog.ShowDialog();
+        }
+
+        public string Message
+        {
+            get => (string) uxConentText.Text;
+            set => uxConentText.Text = value;
+        }
+
+        public string BtnText
+        {
+            get => (string)uxBtnText.Content;
+            set => uxBtnText.Content = value;
+        }
+
+        public string Caption
+        {
+            get => (string)uxTitle.Content;
+            set => uxTitle.Content = value;
+        }
+
+        private string _ImgPath;
+        public string ImgPath
+        {
+            get => _ImgPath;
+            set
+            {
+                if(_ImgPath!=value)
+                {
+                    _ImgPath = value;
+
+                    if(string.IsNullOrEmpty(_ImgPath))
+                    {
+                        uxImage.Visibility = Visibility.Collapsed;
+                    }
+                    else
+                    {
+                        uxImage.Visibility = Visibility.Visible;
+                        uxImage.Source = new BitmapImage(new Uri(_ImgPath)) { };
+                    }
+                }
+            }
+        }
+
+        public bool IsCancelAble
+        {
+            get => uxCancelContainer.Visibility == Visibility.Visible;
+            set
+            {
+                uxCancelContainer.Visibility = value ? Visibility.Visible : Visibility.Collapsed;
+            }
+        }
+
+        public HintDialog()
+        {
+            InitializeComponent();
+        }
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            this.Close();
+        }
+
+        private static ImageSource GetBitMap(string imgpath)
+        {
+            try
+            {
+                BitmapImage bitmapImg = new BitmapImage();
+                bitmapImg.BeginInit();
+                bitmapImg.UriSource = new Uri(imgpath, UriKind.RelativeOrAbsolute);
+                bitmapImg.CreateOptions = BitmapCreateOptions.IgnoreColorProfile | BitmapCreateOptions.IgnoreImageCache;
+                bitmapImg.CacheOption = BitmapCacheOption.OnLoad;
+                bitmapImg.EndInit();
+                bitmapImg.Freeze();
+                return bitmapImg;
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e.Message);
+                return null;
+            }
+        }
+    }
+}

+ 27 - 25
AwInitilizer/MainWindow.xaml.cs

@@ -74,24 +74,26 @@ namespace AwInitilizer
 
             Loaded += MainWindow_Loaded;
 
-            //this.DataContext = new MainViewModel();
-            this.DataContext = new MainViewModel()
-            {
-                //SystemID = systemID,
-                //ModelName = "AWLU770001W1P0",
-                //SettingModelName = "AWLU770001W1P0",
-                //SerialNumber = "D2045A001A0",
-                ////FourGenModuleVersion = "EC25AFFAR07A08M4G",
-                //IsSimInsert = false,
-                ////ICCID = "12345678901234567890",
-                ////IMSI = "123456789012345",
-                ////CSUVersion = "V1.01.01.0601.00",
-                ////MCUVersion = "D0.52.40.1770.P0",
-                //IsInputCheckpassed = true,
-                //FirmwareUpdateModels = new List<FirmwareUpdateModel>(),
-
-            };
+            this.DataContext = new MainViewModel();
 
+            //var test = SystemID.TryParse("AWLU770001W1P0D2045A001A0",out var systemID);
+            //this.DataContext = new MainViewModel()
+            //{
+            //    SystemID = systemID,
+            //    ModelName = "AWLU770001W1P0",
+            //    SettingModelName = "AWLU770001W1P0",
+            //    SerialNumber = "D2045A001A0",
+            //    //FourGenModuleVersion = "EC25AFFAR07A08M4G",
+            //    IsSimInsert = false,
+            //    //ICCID = "12345678901234567890",
+            //    //IMSI = "123456789012345",
+            //    //CSUVersion = "V1.01.01.0601.00",
+            //    //MCUVersion = "D0.52.40.1770.P0",
+            //    IsInputCheckpassed = true,
+            //    FirmwareUpdateModels = new List<FirmwareUpdateModel>(),
+
+            //};
+            UpdateProcedure();
 
             LogoutTimer.Start();
         }
@@ -653,15 +655,15 @@ namespace AwInitilizer
 
             //init intilize procedure list
 
-            procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
-            procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());
-            procedures.Add(new Procedure.WifRssiCheck.WifRssiCheckProcedure());
-            procedures.Add(new Procedure.TelcomModemImeiRecord.TelcomModemImeiRecordProcedure());
-            procedures.Add(new Procedure.FirmwareBundleUpload.FirmwareFtpUploadProcedure());
-            procedures.Add(new Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure());
+            //procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
+            //procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());
+            //procedures.Add(new Procedure.WifRssiCheck.WifRssiCheckProcedure());
+            //procedures.Add(new Procedure.TelcomModemImeiRecord.TelcomModemImeiRecordProcedure());
+            //procedures.Add(new Procedure.FirmwareBundleUpload.FirmwareFtpUploadProcedure());
+            //procedures.Add(new Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure());
             procedures.Add(new Procedure.ButtonStatusCheck.ButtonStatusCheckPorcedure());
-            procedures.Add(new Procedure.RestarttoIdle.RestarttoIdleProcedure());
-            procedures.Add(new Procedure.VersionLog.VersionLogProcedure());
+            //procedures.Add(new Procedure.RestarttoIdle.RestarttoIdleProcedure());
+            //procedures.Add(new Procedure.VersionLog.VersionLogProcedure());
 
             //procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
             //procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());

+ 30 - 8
AwInitilizer/Procedure/ButtonStatusCheckPorcedure.cs

@@ -61,6 +61,13 @@ namespace AwInitilizer.Procedure.ButtonStatusCheck
 
         internal override async Task<bool> Run()
         {
+            //await PressBtnCheck(0);
+            //DismisDialog();
+            //await PressBtnCheck(1);
+            //DismisDialog();
+            //await PressBtnCheck(2);
+            //DismisDialog();
+
             var response = await GetButtonStatus();
             if (response == null)
             {
@@ -133,22 +140,22 @@ namespace AwInitilizer.Procedure.ButtonStatusCheck
                 if (status.Button1 != 0)
                 {
                     Error = ErrorType.FirstButtonCheckFail;
-                    LogWriter.Log("Button1 status ERROR, unpress is ecpected", isError: true);
-                    //Logger.Print("Button1 status ERROR, unpress is ecpected", isError: true);
+                    LogWriter.Log("Button1 status ERROR, unpress is expected", isError: true);
+                    //Logger.Print("Button1 status ERROR, unpress is expected", isError: true);
                     isAllMatched = false;
                 }
                 if (status.Button2 != 0)
                 {
                     Error = ErrorType.SecondButtonCheckFail;
-                    LogWriter.Log("Button2 status ERROR, unpress is ecpected", isError: true);
-                    //Logger.Print("Button2 status ERROR, unpress is ecpected", isError: true);
+                    LogWriter.Log("Button2 status ERROR, unpress is expected", isError: true);
+                    //Logger.Print("Button2 status ERROR, unpress is expected", isError: true);
                     isAllMatched = false;
                 }
                 if (status.EmergencyButton != 0)
                 {
                     Error = ErrorType.EmergencyButtonCheckFail;
-                    LogWriter.Log("EmergencyButton status ERROR, unpress is ecpected", isError: true);
-                    //Logger.Print("EmergencyButton status ERROR, unpress is ecpected", isError: true);
+                    LogWriter.Log("EmergencyButton status ERROR, unpress is expected", isError: true);
+                    //Logger.Print("EmergencyButton status ERROR, unpress is expected", isError: true);
                     isAllMatched = false;
                 }
 
@@ -178,10 +185,17 @@ namespace AwInitilizer.Procedure.ButtonStatusCheck
             string btn, btnLang, imgUrl;
             (btn, btnLang, imgUrl) = GetBtnParam(btnInt);
 
-            ShowBtnPressRequestDialog(btnLang, imgUrl);
+            if(btnInt == 2)
+            {
+                ShowEmergencyBtnPressRequestDialog(imgUrl);
+            }
+            else
+            {
+                ShowBtnPressRequestDialog(btnLang, imgUrl);
+            }
 
             var btnStatus = await WaitAndtGetPressBtn();
-            if(btnStatus == null)
+            if (btnStatus == null)
             {
                 return false;
             }
@@ -241,6 +255,14 @@ namespace AwInitilizer.Procedure.ButtonStatusCheck
             }
         }
 
+        private void ShowEmergencyBtnPressRequestDialog(string imgUrl)
+        {
+            ShowDialog(
+                string.Format(Resx.AppResources.EmergencyBtnPressPressHint),
+                Resx.AppResources.BtnPressHintTitle,
+                "", imgUrl, cancelAble: false);
+        }
+
         private void ShowBtnPressRequestDialog(string btnLang, string imgUrl)
         {
             ShowDialog(

+ 4 - 4
AwInitilizer/Properties/AssemblyInfo.cs

@@ -31,7 +31,7 @@ using System.Runtime.InteropServices;
 //
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.10.1.0")]
-[assembly: AssemblyVersion("1.10.1.0")]
-[assembly: AssemblyFileVersion("1.10.1.0")]
-[assembly: AssemblyInformationalVersion("b0b84bb")]
+// [assembly: AssemblyVersion("1.10.2.0")]
+[assembly: AssemblyVersion("1.10.2.0")]
+[assembly: AssemblyFileVersion("1.10.2.0")]
+[assembly: AssemblyInformationalVersion("8d07163")]

+ 612 - 603
AwInitilizer/Resx/AppResources.Designer.cs

@@ -1,603 +1,612 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace AwInitilizer.Resx {
-    using System;
-    
-    
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    public class AppResources {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal AppResources() {
-        }
-        
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        public static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AwInitilizer.Resx.AppResources", typeof(AppResources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        public static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Account.
-        /// </summary>
-        public static string Account {
-            get {
-                return ResourceManager.GetString("Account", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Barcode Setting.
-        /// </summary>
-        public static string BarcodeSetting {
-            get {
-                return ResourceManager.GetString("BarcodeSetting", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to BLUE Button.
-        /// </summary>
-        public static string BtnPressBlueBtn {
-            get {
-                return ResourceManager.GetString("BtnPressBlueBtn", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to EMERGENCY Button.
-        /// </summary>
-        public static string BtnPressEmergencyBtn {
-            get {
-                return ResourceManager.GetString("BtnPressEmergencyBtn", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to GREEN Button.
-        /// </summary>
-        public static string BtnPressGreenBtn {
-            get {
-                return ResourceManager.GetString("BtnPressGreenBtn", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Starting Button test.
-        /// </summary>
-        public static string BtnPressHintTitle {
-            get {
-                return ResourceManager.GetString("BtnPressHintTitle", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to PRESS {0} 2 secnds.
-        /// </summary>
-        public static string BtnPressPressHint {
-            get {
-                return ResourceManager.GetString("BtnPressPressHint", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Please make sure All button is Unpressed, Press Ok while complete.
-        /// </summary>
-        public static string BtnPressUnpressHint {
-            get {
-                return ResourceManager.GetString("BtnPressUnpressHint", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to OK.
-        /// </summary>
-        public static string Confirm {
-            get {
-                return ResourceManager.GetString("Confirm", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware file is Required.
-        /// </summary>
-        public static string FirmwareFileEmptyAlert {
-            get {
-                return ResourceManager.GetString("FirmwareFileEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to FirmwareUpdateModels should be decalred.
-        /// </summary>
-        public static string FirmwareListNullAlert {
-            get {
-                return ResourceManager.GetString("FirmwareListNullAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware module name is Required.
-        /// </summary>
-        public static string FirmwareNameEmptyAlert {
-            get {
-                return ResourceManager.GetString("FirmwareNameEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware version.
-        /// </summary>
-        public static string FirmwareVersion {
-            get {
-                return ResourceManager.GetString("FirmwareVersion", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware version is Required.
-        /// </summary>
-        public static string FirmwareVersionEmptyAlert {
-            get {
-                return ResourceManager.GetString("FirmwareVersionEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Module.
-        /// </summary>
-        public static string FirmwareVersionHeaderName {
-            get {
-                return ResourceManager.GetString("FirmwareVersionHeaderName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Version.
-        /// </summary>
-        public static string FirmwareVersionHeaderVersion {
-            get {
-                return ResourceManager.GetString("FirmwareVersionHeaderVersion", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to 4G Module Version is Required.
-        /// </summary>
-        public static string FourGenVersionEmptyAlert {
-            get {
-                return ResourceManager.GetString("FourGenVersionEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to SIM ICCID.
-        /// </summary>
-        public static string ICCID {
-            get {
-                return ResourceManager.GetString("ICCID", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ICCID is Required when sim installed.
-        /// </summary>
-        public static string IccidEmptyAlert {
-            get {
-                return ResourceManager.GetString("IccidEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to SIM IMSI.
-        /// </summary>
-        public static string IMSI {
-            get {
-                return ResourceManager.GetString("IMSI", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to IMSI is Required when sim installed.
-        /// </summary>
-        public static string ImsiEmptyAlert {
-            get {
-                return ResourceManager.GetString("ImsiEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to File name should not empty while {0} version is set.
-        /// </summary>
-        public static string InitFirmwareFileEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareFileEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} Firemware header ERROR.
-        /// </summary>
-        public static string InitFirmwareFileHeaderFormatAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareFileHeaderFormatAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} Firemware and ModelName is Mismatched.
-        /// </summary>
-        public static string InitFirmwareFileHeaderMismatchAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareFileHeaderMismatchAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} Firemware file is missing.
-        /// </summary>
-        public static string InitFirmwareFileMissingAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareFileMissingAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware module name should not empty.
-        /// </summary>
-        public static string InitFirmwareNameEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareNameEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Version should not empty while {0} firmware is set.
-        /// </summary>
-        public static string InitFirmwareVersionEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitFirmwareVersionEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ICCID should not empty while IsSimInsert is set.
-        /// </summary>
-        public static string InitIccidEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitIccidEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to IMSI should not empty while IsSimInsert is set.
-        /// </summary>
-        public static string InitImsiEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitImsiEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ModelName is requred.
-        /// </summary>
-        public static string InitModelNameEmptyAlert {
-            get {
-                return ResourceManager.GetString("InitModelNameEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ModelName format Error.
-        /// </summary>
-        public static string InitModelNameErrorAlert {
-            get {
-                return ResourceManager.GetString("InitModelNameErrorAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware root path not exist.
-        /// </summary>
-        public static string LoadConfigFolderNotfoundAlert {
-            get {
-                return ResourceManager.GetString("LoadConfigFolderNotfoundAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model firmware root path not exist.
-        /// </summary>
-        public static string LoadConfigModelFolderNotfoundAlert {
-            get {
-                return ResourceManager.GetString("LoadConfigModelFolderNotfoundAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Setting file ERROR.
-        /// </summary>
-        public static string LoadConfigModelInitFormatErrorAlert {
-            get {
-                return ResourceManager.GetString("LoadConfigModelInitFormatErrorAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model firmware setting not exist.
-        /// </summary>
-        public static string LoadConfigModelInitNotfoundAlert {
-            get {
-                return ResourceManager.GetString("LoadConfigModelInitNotfoundAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Firmware root path ERROR.
-        /// </summary>
-        public static string LoadConfigRootFolderNotfoundAlert {
-            get {
-                return ResourceManager.GetString("LoadConfigRootFolderNotfoundAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Sign out.
-        /// </summary>
-        public static string Logout {
-            get {
-                return ResourceManager.GetString("Logout", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model Name.
-        /// </summary>
-        public static string ModelName {
-            get {
-                return ResourceManager.GetString("ModelName", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model Name is Required.
-        /// </summary>
-        public static string ModelNameEmptyAlert {
-            get {
-                return ResourceManager.GetString("ModelNameEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model Name format Error.
-        /// </summary>
-        public static string ModelNameErrorAlert {
-            get {
-                return ResourceManager.GetString("ModelNameErrorAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Model Name setting is Mismathed.
-        /// </summary>
-        public static string ModelNameMismatchAlert {
-            get {
-                return ResourceManager.GetString("ModelNameMismatchAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Serial Number.
-        /// </summary>
-        public static string SerialNumber {
-            get {
-                return ResourceManager.GetString("SerialNumber", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Serial Number is Required.
-        /// </summary>
-        public static string SerialNumberEmptyAlert {
-            get {
-                return ResourceManager.GetString("SerialNumberEmptyAlert", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ID Error.
-        /// </summary>
-        public static string SigninDialogEnterIDError {
-            get {
-                return ResourceManager.GetString("SigninDialogEnterIDError", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Enter User ID.
-        /// </summary>
-        public static string SigninDialogEnterIDHint {
-            get {
-                return ResourceManager.GetString("SigninDialogEnterIDHint", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Work Order Number Error.
-        /// </summary>
-        public static string SigninDialogEnterWOError {
-            get {
-                return ResourceManager.GetString("SigninDialogEnterWOError", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Enter Work Order Number.
-        /// </summary>
-        public static string SigninDialogEnterWOHint {
-            get {
-                return ResourceManager.GetString("SigninDialogEnterWOHint", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to MES no response.
-        /// </summary>
-        public static string SigninDialogNoResponseError {
-            get {
-                return ResourceManager.GetString("SigninDialogNoResponseError", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Sign in.
-        /// </summary>
-        public static string SigninDialogTitle {
-            get {
-                return ResourceManager.GetString("SigninDialogTitle", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to 4G SIM Card Inserted.
-        /// </summary>
-        public static string SimStatus {
-            get {
-                return ResourceManager.GetString("SimStatus", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Serial Number or WorkOrder Error.
-        /// </summary>
-        public static string SnWoMisMatch {
-            get {
-                return ResourceManager.GetString("SnWoMisMatch", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Start.
-        /// </summary>
-        public static string StartProcedure {
-            get {
-                return ResourceManager.GetString("StartProcedure", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Process {0} Failed.
-        /// </summary>
-        public static string StatusBarFailed {
-            get {
-                return ResourceManager.GetString("StatusBarFailed", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Processing {0}.
-        /// </summary>
-        public static string StatusBarUpdating {
-            get {
-                return ResourceManager.GetString("StatusBarUpdating", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Fail.
-        /// </summary>
-        public static string StatusFail {
-            get {
-                return ResourceManager.GetString("StatusFail", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Idle.
-        /// </summary>
-        public static string StatusIdel {
-            get {
-                return ResourceManager.GetString("StatusIdel", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Success.
-        /// </summary>
-        public static string StatusSuccess {
-            get {
-                return ResourceManager.GetString("StatusSuccess", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Updating.
-        /// </summary>
-        public static string StatusUpdating {
-            get {
-                return ResourceManager.GetString("StatusUpdating", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to User ID.
-        /// </summary>
-        public static string UserID {
-            get {
-                return ResourceManager.GetString("UserID", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Work Order Number.
-        /// </summary>
-        public static string WorkOrder {
-            get {
-                return ResourceManager.GetString("WorkOrder", resourceCulture);
-            }
-        }
-    }
-}
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     這段程式碼是由工具產生的。
+//     執行階段版本:4.0.30319.42000
+//
+//     對這個檔案所做的變更可能會造成錯誤的行為,而且如果重新產生程式碼,
+//     變更將會遺失。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace AwInitilizer.Resx {
+    using System;
+    
+    
+    /// <summary>
+    ///   用於查詢當地語系化字串等的強類型資源類別。
+    /// </summary>
+    // 這個類別是自動產生的,是利用 StronglyTypedResourceBuilder
+    // 類別透過 ResGen 或 Visual Studio 這類工具。
+    // 若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen
+    // (利用 /str 選項),或重建您的 VS 專案。
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    public class AppResources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal AppResources() {
+        }
+        
+        /// <summary>
+        ///   傳回這個類別使用的快取的 ResourceManager 執行個體。
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        public static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AwInitilizer.Resx.AppResources", typeof(AppResources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有
+        ///   使用這個強類型資源類別的資源查閱。
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        public static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Account 的當地語系化字串。
+        /// </summary>
+        public static string Account {
+            get {
+                return ResourceManager.GetString("Account", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Barcode Setting 的當地語系化字串。
+        /// </summary>
+        public static string BarcodeSetting {
+            get {
+                return ResourceManager.GetString("BarcodeSetting", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 blue button 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressBlueBtn {
+            get {
+                return ResourceManager.GetString("BtnPressBlueBtn", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 emergency Button 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressEmergencyBtn {
+            get {
+                return ResourceManager.GetString("BtnPressEmergencyBtn", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 green button 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressGreenBtn {
+            get {
+                return ResourceManager.GetString("BtnPressGreenBtn", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Starting Button test 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressHintTitle {
+            get {
+                return ResourceManager.GetString("BtnPressHintTitle", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Press and hold the {0} for 2 seconds, then release it. 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressPressHint {
+            get {
+                return ResourceManager.GetString("BtnPressPressHint", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Please make sure all buttons are unpressed,then Press OK... 的當地語系化字串。
+        /// </summary>
+        public static string BtnPressUnpressHint {
+            get {
+                return ResourceManager.GetString("BtnPressUnpressHint", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 OK 的當地語系化字串。
+        /// </summary>
+        public static string Confirm {
+            get {
+                return ResourceManager.GetString("Confirm", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Press the emergency button for 2 seconds, then twist release it. 的當地語系化字串。
+        /// </summary>
+        public static string EmergencyBtnPressPressHint {
+            get {
+                return ResourceManager.GetString("EmergencyBtnPressPressHint", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware file is Required 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareFileEmptyAlert {
+            get {
+                return ResourceManager.GetString("FirmwareFileEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 FirmwareUpdateModels should be decalred 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareListNullAlert {
+            get {
+                return ResourceManager.GetString("FirmwareListNullAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware module name is Required 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareNameEmptyAlert {
+            get {
+                return ResourceManager.GetString("FirmwareNameEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware version 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareVersion {
+            get {
+                return ResourceManager.GetString("FirmwareVersion", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware version is Required 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareVersionEmptyAlert {
+            get {
+                return ResourceManager.GetString("FirmwareVersionEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Module 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareVersionHeaderName {
+            get {
+                return ResourceManager.GetString("FirmwareVersionHeaderName", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Version 的當地語系化字串。
+        /// </summary>
+        public static string FirmwareVersionHeaderVersion {
+            get {
+                return ResourceManager.GetString("FirmwareVersionHeaderVersion", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 4G Module Version is Required 的當地語系化字串。
+        /// </summary>
+        public static string FourGenVersionEmptyAlert {
+            get {
+                return ResourceManager.GetString("FourGenVersionEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 SIM ICCID 的當地語系化字串。
+        /// </summary>
+        public static string ICCID {
+            get {
+                return ResourceManager.GetString("ICCID", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 ICCID is Required when sim installed 的當地語系化字串。
+        /// </summary>
+        public static string IccidEmptyAlert {
+            get {
+                return ResourceManager.GetString("IccidEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 SIM IMSI 的當地語系化字串。
+        /// </summary>
+        public static string IMSI {
+            get {
+                return ResourceManager.GetString("IMSI", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 IMSI is Required when sim installed 的當地語系化字串。
+        /// </summary>
+        public static string ImsiEmptyAlert {
+            get {
+                return ResourceManager.GetString("ImsiEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 File name should not empty while {0} version is set 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareFileEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareFileEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 {0} Firemware header ERROR 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareFileHeaderFormatAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareFileHeaderFormatAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 {0} Firemware and ModelName is Mismatched 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareFileHeaderMismatchAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareFileHeaderMismatchAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 {0} Firemware file is missing 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareFileMissingAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareFileMissingAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware module name should not empty 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareNameEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareNameEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Version should not empty while {0} firmware is set 的當地語系化字串。
+        /// </summary>
+        public static string InitFirmwareVersionEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitFirmwareVersionEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 ICCID should not empty while IsSimInsert is set 的當地語系化字串。
+        /// </summary>
+        public static string InitIccidEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitIccidEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 IMSI should not empty while IsSimInsert is set 的當地語系化字串。
+        /// </summary>
+        public static string InitImsiEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitImsiEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 ModelName is requred 的當地語系化字串。
+        /// </summary>
+        public static string InitModelNameEmptyAlert {
+            get {
+                return ResourceManager.GetString("InitModelNameEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 ModelName format Error 的當地語系化字串。
+        /// </summary>
+        public static string InitModelNameErrorAlert {
+            get {
+                return ResourceManager.GetString("InitModelNameErrorAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware root path not exist 的當地語系化字串。
+        /// </summary>
+        public static string LoadConfigFolderNotfoundAlert {
+            get {
+                return ResourceManager.GetString("LoadConfigFolderNotfoundAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model firmware root path not exist 的當地語系化字串。
+        /// </summary>
+        public static string LoadConfigModelFolderNotfoundAlert {
+            get {
+                return ResourceManager.GetString("LoadConfigModelFolderNotfoundAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Setting file ERROR 的當地語系化字串。
+        /// </summary>
+        public static string LoadConfigModelInitFormatErrorAlert {
+            get {
+                return ResourceManager.GetString("LoadConfigModelInitFormatErrorAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model firmware setting not exist 的當地語系化字串。
+        /// </summary>
+        public static string LoadConfigModelInitNotfoundAlert {
+            get {
+                return ResourceManager.GetString("LoadConfigModelInitNotfoundAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Firmware root path ERROR 的當地語系化字串。
+        /// </summary>
+        public static string LoadConfigRootFolderNotfoundAlert {
+            get {
+                return ResourceManager.GetString("LoadConfigRootFolderNotfoundAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Sign out 的當地語系化字串。
+        /// </summary>
+        public static string Logout {
+            get {
+                return ResourceManager.GetString("Logout", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model Name 的當地語系化字串。
+        /// </summary>
+        public static string ModelName {
+            get {
+                return ResourceManager.GetString("ModelName", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model Name is Required 的當地語系化字串。
+        /// </summary>
+        public static string ModelNameEmptyAlert {
+            get {
+                return ResourceManager.GetString("ModelNameEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model Name format Error 的當地語系化字串。
+        /// </summary>
+        public static string ModelNameErrorAlert {
+            get {
+                return ResourceManager.GetString("ModelNameErrorAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Model Name setting is Mismathed 的當地語系化字串。
+        /// </summary>
+        public static string ModelNameMismatchAlert {
+            get {
+                return ResourceManager.GetString("ModelNameMismatchAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Serial Number 的當地語系化字串。
+        /// </summary>
+        public static string SerialNumber {
+            get {
+                return ResourceManager.GetString("SerialNumber", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Serial Number is Required 的當地語系化字串。
+        /// </summary>
+        public static string SerialNumberEmptyAlert {
+            get {
+                return ResourceManager.GetString("SerialNumberEmptyAlert", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 ID Error 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogEnterIDError {
+            get {
+                return ResourceManager.GetString("SigninDialogEnterIDError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Enter User ID 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogEnterIDHint {
+            get {
+                return ResourceManager.GetString("SigninDialogEnterIDHint", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Work Order Number Error 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogEnterWOError {
+            get {
+                return ResourceManager.GetString("SigninDialogEnterWOError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Enter Work Order Number 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogEnterWOHint {
+            get {
+                return ResourceManager.GetString("SigninDialogEnterWOHint", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 MES no response 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogNoResponseError {
+            get {
+                return ResourceManager.GetString("SigninDialogNoResponseError", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Sign in 的當地語系化字串。
+        /// </summary>
+        public static string SigninDialogTitle {
+            get {
+                return ResourceManager.GetString("SigninDialogTitle", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 4G SIM Card Inserted 的當地語系化字串。
+        /// </summary>
+        public static string SimStatus {
+            get {
+                return ResourceManager.GetString("SimStatus", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Serial Number or WorkOrder Error 的當地語系化字串。
+        /// </summary>
+        public static string SnWoMisMatch {
+            get {
+                return ResourceManager.GetString("SnWoMisMatch", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Start 的當地語系化字串。
+        /// </summary>
+        public static string StartProcedure {
+            get {
+                return ResourceManager.GetString("StartProcedure", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Process {0} Failed 的當地語系化字串。
+        /// </summary>
+        public static string StatusBarFailed {
+            get {
+                return ResourceManager.GetString("StatusBarFailed", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Processing {0} 的當地語系化字串。
+        /// </summary>
+        public static string StatusBarUpdating {
+            get {
+                return ResourceManager.GetString("StatusBarUpdating", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Fail 的當地語系化字串。
+        /// </summary>
+        public static string StatusFail {
+            get {
+                return ResourceManager.GetString("StatusFail", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Idle 的當地語系化字串。
+        /// </summary>
+        public static string StatusIdel {
+            get {
+                return ResourceManager.GetString("StatusIdel", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Success 的當地語系化字串。
+        /// </summary>
+        public static string StatusSuccess {
+            get {
+                return ResourceManager.GetString("StatusSuccess", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Updating 的當地語系化字串。
+        /// </summary>
+        public static string StatusUpdating {
+            get {
+                return ResourceManager.GetString("StatusUpdating", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 User ID 的當地語系化字串。
+        /// </summary>
+        public static string UserID {
+            get {
+                return ResourceManager.GetString("UserID", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查詢類似 Work Order Number 的當地語系化字串。
+        /// </summary>
+        public static string WorkOrder {
+            get {
+                return ResourceManager.GetString("WorkOrder", resourceCulture);
+            }
+        }
+    }
+}

+ 302 - 299
AwInitilizer/Resx/AppResources.resx

@@ -1,300 +1,303 @@
-<?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="Confirm" xml:space="preserve">
-    <value>OK</value>
-  </data>
-  <data name="SigninDialogTitle" xml:space="preserve">
-    <value>Sign in</value>
-  </data>
-  <data name="SigninDialogEnterIDHint" xml:space="preserve">
-    <value>Enter User ID</value>
-  </data>
-  <data name="SigninDialogEnterWOHint" xml:space="preserve">
-    <value>Enter Work Order Number</value>
-  </data>
-  <data name="SigninDialogEnterWOError" xml:space="preserve">
-    <value>Work Order Number Error</value>
-  </data>
-  <data name="SigninDialogEnterIDError" xml:space="preserve">
-    <value>ID Error</value>
-  </data>
-  <data name="SigninDialogNoResponseError" xml:space="preserve">
-    <value>MES no response</value>
-  </data>
-  <data name="Account" xml:space="preserve">
-    <value>Account</value>
-  </data>
-  <data name="Logout" xml:space="preserve">
-    <value>Sign out</value>
-  </data>
-  <data name="UserID" xml:space="preserve">
-    <value>User ID</value>
-  </data>
-  <data name="WorkOrder" xml:space="preserve">
-    <value>Work Order Number</value>
-  </data>
-  <data name="BarcodeSetting" xml:space="preserve">
-    <value>Barcode Setting</value>
-  </data>
-  <data name="ModelName" xml:space="preserve">
-    <value>Model Name</value>
-  </data>
-  <data name="SerialNumber" xml:space="preserve">
-    <value>Serial Number</value>
-  </data>
-  <data name="SimStatus" xml:space="preserve">
-    <value>4G SIM Card Inserted</value>
-  </data>
-  <data name="ICCID" xml:space="preserve">
-    <value>SIM ICCID</value>
-  </data>
-  <data name="IMSI" xml:space="preserve">
-    <value>SIM IMSI</value>
-  </data>
-  <data name="FirmwareVersion" xml:space="preserve">
-    <value>Firmware version</value>
-  </data>
-  <data name="FirmwareVersionHeaderName" xml:space="preserve">
-    <value>Module</value>
-  </data>
-  <data name="FirmwareVersionHeaderVersion" xml:space="preserve">
-    <value>Version</value>
-  </data>
-  <data name="StartProcedure" xml:space="preserve">
-    <value>Start</value>
-  </data>
-  <data name="StatusIdel" xml:space="preserve">
-    <value>Idle</value>
-  </data>
-  <data name="StatusUpdating" xml:space="preserve">
-    <value>Updating</value>
-  </data>
-  <data name="StatusSuccess" xml:space="preserve">
-    <value>Success</value>
-  </data>
-  <data name="StatusFail" xml:space="preserve">
-    <value>Fail</value>
-  </data>
-  <data name="StatusBarUpdating" xml:space="preserve">
-    <value>Processing {0}</value>
-  </data>
-  <data name="StatusBarFailed" xml:space="preserve">
-    <value>Process {0} Failed</value>
-  </data>
-  <data name="SnWoMisMatch" xml:space="preserve">
-    <value>Serial Number or WorkOrder Error</value>
-  </data>
-  <data name="ModelNameEmptyAlert" xml:space="preserve">
-    <value>Model Name is Required</value>
-  </data>
-  <data name="ModelNameMismatchAlert" xml:space="preserve">
-    <value>Model Name setting is Mismathed</value>
-  </data>
-  <data name="SerialNumberEmptyAlert" xml:space="preserve">
-    <value>Serial Number is Required</value>
-  </data>
-  <data name="ModelNameErrorAlert" xml:space="preserve">
-    <value>Model Name format Error</value>
-  </data>
-  <data name="FourGenVersionEmptyAlert" xml:space="preserve">
-    <value>4G Module Version is Required</value>
-  </data>
-  <data name="IccidEmptyAlert" xml:space="preserve">
-    <value>ICCID is Required when sim installed</value>
-  </data>
-  <data name="ImsiEmptyAlert" xml:space="preserve">
-    <value>IMSI is Required when sim installed</value>
-  </data>
-  <data name="FirmwareListNullAlert" xml:space="preserve">
-    <value>FirmwareUpdateModels should be decalred</value>
-  </data>
-  <data name="FirmwareNameEmptyAlert" xml:space="preserve">
-    <value>Firmware module name is Required</value>
-  </data>
-  <data name="FirmwareVersionEmptyAlert" xml:space="preserve">
-    <value>Firmware version is Required</value>
-  </data>
-  <data name="FirmwareFileEmptyAlert" xml:space="preserve">
-    <value>Firmware file is Required</value>
-  </data>
-  <data name="LoadConfigRootFolderNotfoundAlert" xml:space="preserve">
-    <value>Firmware root path ERROR</value>
-  </data>
-  <data name="LoadConfigFolderNotfoundAlert" xml:space="preserve">
-    <value>Firmware root path not exist</value>
-  </data>
-  <data name="LoadConfigModelFolderNotfoundAlert" xml:space="preserve">
-    <value>Model firmware root path not exist</value>
-  </data>
-  <data name="LoadConfigModelInitNotfoundAlert" xml:space="preserve">
-    <value>Model firmware setting not exist</value>
-  </data>
-  <data name="LoadConfigModelInitFormatErrorAlert" xml:space="preserve">
-    <value>Setting file ERROR</value>
-  </data>
-  <data name="InitModelNameEmptyAlert" xml:space="preserve">
-    <value>ModelName is requred</value>
-  </data>
-  <data name="InitModelNameErrorAlert" xml:space="preserve">
-    <value>ModelName format Error</value>
-  </data>
-  <data name="InitIccidEmptyAlert" xml:space="preserve">
-    <value>ICCID should not empty while IsSimInsert is set</value>
-  </data>
-  <data name="InitImsiEmptyAlert" xml:space="preserve">
-    <value>IMSI should not empty while IsSimInsert is set</value>
-  </data>
-  <data name="InitFirmwareNameEmptyAlert" xml:space="preserve">
-    <value>Firmware module name should not empty</value>
-  </data>
-  <data name="InitFirmwareVersionEmptyAlert" xml:space="preserve">
-    <value>Version should not empty while {0} firmware is set</value>
-  </data>
-  <data name="InitFirmwareFileEmptyAlert" xml:space="preserve">
-    <value>File name should not empty while {0} version is set</value>
-  </data>
-  <data name="InitFirmwareFileMissingAlert" xml:space="preserve">
-    <value>{0} Firemware file is missing</value>
-  </data>
-  <data name="InitFirmwareFileHeaderMismatchAlert" xml:space="preserve">
-    <value>{0} Firemware and ModelName is Mismatched</value>
-  </data>
-  <data name="InitFirmwareFileHeaderFormatAlert" xml:space="preserve">
-    <value>{0} Firemware header ERROR</value>
-  </data>
-  <data name="BtnPressHintTitle" xml:space="preserve">
-    <value>Starting Button test</value>
-  </data>
-  <data name="BtnPressUnpressHint" xml:space="preserve">
-    <value>Please make sure All button is Unpressed, Press Ok while complete</value>
-  </data>
-  <data name="BtnPressPressHint" xml:space="preserve">
-    <value>PRESS {0} 2 secnds</value>
-  </data>
-  <data name="BtnPressGreenBtn" xml:space="preserve">
-    <value>GREEN Button</value>
-  </data>
-  <data name="BtnPressBlueBtn" xml:space="preserve">
-    <value>BLUE Button</value>
-  </data>
-  <data name="BtnPressEmergencyBtn" xml:space="preserve">
-    <value>EMERGENCY Button</value>
-  </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="Confirm" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="SigninDialogTitle" xml:space="preserve">
+    <value>Sign in</value>
+  </data>
+  <data name="SigninDialogEnterIDHint" xml:space="preserve">
+    <value>Enter User ID</value>
+  </data>
+  <data name="SigninDialogEnterWOHint" xml:space="preserve">
+    <value>Enter Work Order Number</value>
+  </data>
+  <data name="SigninDialogEnterWOError" xml:space="preserve">
+    <value>Work Order Number Error</value>
+  </data>
+  <data name="SigninDialogEnterIDError" xml:space="preserve">
+    <value>ID Error</value>
+  </data>
+  <data name="SigninDialogNoResponseError" xml:space="preserve">
+    <value>MES no response</value>
+  </data>
+  <data name="Account" xml:space="preserve">
+    <value>Account</value>
+  </data>
+  <data name="Logout" xml:space="preserve">
+    <value>Sign out</value>
+  </data>
+  <data name="UserID" xml:space="preserve">
+    <value>User ID</value>
+  </data>
+  <data name="WorkOrder" xml:space="preserve">
+    <value>Work Order Number</value>
+  </data>
+  <data name="BarcodeSetting" xml:space="preserve">
+    <value>Barcode Setting</value>
+  </data>
+  <data name="ModelName" xml:space="preserve">
+    <value>Model Name</value>
+  </data>
+  <data name="SerialNumber" xml:space="preserve">
+    <value>Serial Number</value>
+  </data>
+  <data name="SimStatus" xml:space="preserve">
+    <value>4G SIM Card Inserted</value>
+  </data>
+  <data name="ICCID" xml:space="preserve">
+    <value>SIM ICCID</value>
+  </data>
+  <data name="IMSI" xml:space="preserve">
+    <value>SIM IMSI</value>
+  </data>
+  <data name="FirmwareVersion" xml:space="preserve">
+    <value>Firmware version</value>
+  </data>
+  <data name="FirmwareVersionHeaderName" xml:space="preserve">
+    <value>Module</value>
+  </data>
+  <data name="FirmwareVersionHeaderVersion" xml:space="preserve">
+    <value>Version</value>
+  </data>
+  <data name="StartProcedure" xml:space="preserve">
+    <value>Start</value>
+  </data>
+  <data name="StatusIdel" xml:space="preserve">
+    <value>Idle</value>
+  </data>
+  <data name="StatusUpdating" xml:space="preserve">
+    <value>Updating</value>
+  </data>
+  <data name="StatusSuccess" xml:space="preserve">
+    <value>Success</value>
+  </data>
+  <data name="StatusFail" xml:space="preserve">
+    <value>Fail</value>
+  </data>
+  <data name="StatusBarUpdating" xml:space="preserve">
+    <value>Processing {0}</value>
+  </data>
+  <data name="StatusBarFailed" xml:space="preserve">
+    <value>Process {0} Failed</value>
+  </data>
+  <data name="SnWoMisMatch" xml:space="preserve">
+    <value>Serial Number or WorkOrder Error</value>
+  </data>
+  <data name="ModelNameEmptyAlert" xml:space="preserve">
+    <value>Model Name is Required</value>
+  </data>
+  <data name="ModelNameMismatchAlert" xml:space="preserve">
+    <value>Model Name setting is Mismathed</value>
+  </data>
+  <data name="SerialNumberEmptyAlert" xml:space="preserve">
+    <value>Serial Number is Required</value>
+  </data>
+  <data name="ModelNameErrorAlert" xml:space="preserve">
+    <value>Model Name format Error</value>
+  </data>
+  <data name="FourGenVersionEmptyAlert" xml:space="preserve">
+    <value>4G Module Version is Required</value>
+  </data>
+  <data name="IccidEmptyAlert" xml:space="preserve">
+    <value>ICCID is Required when sim installed</value>
+  </data>
+  <data name="ImsiEmptyAlert" xml:space="preserve">
+    <value>IMSI is Required when sim installed</value>
+  </data>
+  <data name="FirmwareListNullAlert" xml:space="preserve">
+    <value>FirmwareUpdateModels should be decalred</value>
+  </data>
+  <data name="FirmwareNameEmptyAlert" xml:space="preserve">
+    <value>Firmware module name is Required</value>
+  </data>
+  <data name="FirmwareVersionEmptyAlert" xml:space="preserve">
+    <value>Firmware version is Required</value>
+  </data>
+  <data name="FirmwareFileEmptyAlert" xml:space="preserve">
+    <value>Firmware file is Required</value>
+  </data>
+  <data name="LoadConfigRootFolderNotfoundAlert" xml:space="preserve">
+    <value>Firmware root path ERROR</value>
+  </data>
+  <data name="LoadConfigFolderNotfoundAlert" xml:space="preserve">
+    <value>Firmware root path not exist</value>
+  </data>
+  <data name="LoadConfigModelFolderNotfoundAlert" xml:space="preserve">
+    <value>Model firmware root path not exist</value>
+  </data>
+  <data name="LoadConfigModelInitNotfoundAlert" xml:space="preserve">
+    <value>Model firmware setting not exist</value>
+  </data>
+  <data name="LoadConfigModelInitFormatErrorAlert" xml:space="preserve">
+    <value>Setting file ERROR</value>
+  </data>
+  <data name="InitModelNameEmptyAlert" xml:space="preserve">
+    <value>ModelName is requred</value>
+  </data>
+  <data name="InitModelNameErrorAlert" xml:space="preserve">
+    <value>ModelName format Error</value>
+  </data>
+  <data name="InitIccidEmptyAlert" xml:space="preserve">
+    <value>ICCID should not empty while IsSimInsert is set</value>
+  </data>
+  <data name="InitImsiEmptyAlert" xml:space="preserve">
+    <value>IMSI should not empty while IsSimInsert is set</value>
+  </data>
+  <data name="InitFirmwareNameEmptyAlert" xml:space="preserve">
+    <value>Firmware module name should not empty</value>
+  </data>
+  <data name="InitFirmwareVersionEmptyAlert" xml:space="preserve">
+    <value>Version should not empty while {0} firmware is set</value>
+  </data>
+  <data name="InitFirmwareFileEmptyAlert" xml:space="preserve">
+    <value>File name should not empty while {0} version is set</value>
+  </data>
+  <data name="InitFirmwareFileMissingAlert" xml:space="preserve">
+    <value>{0} Firemware file is missing</value>
+  </data>
+  <data name="InitFirmwareFileHeaderMismatchAlert" xml:space="preserve">
+    <value>{0} Firemware and ModelName is Mismatched</value>
+  </data>
+  <data name="InitFirmwareFileHeaderFormatAlert" xml:space="preserve">
+    <value>{0} Firemware header ERROR</value>
+  </data>
+  <data name="BtnPressHintTitle" xml:space="preserve">
+    <value>Starting Button test</value>
+  </data>
+  <data name="BtnPressUnpressHint" xml:space="preserve">
+    <value>Please make sure all buttons are unpressed,then Press OK...</value>
+  </data>
+  <data name="BtnPressPressHint" xml:space="preserve">
+    <value>Press and hold the {0} for 2 seconds, then release it.</value>
+  </data>
+  <data name="BtnPressGreenBtn" xml:space="preserve">
+    <value>green button</value>
+  </data>
+  <data name="BtnPressBlueBtn" xml:space="preserve">
+    <value>blue button</value>
+  </data>
+  <data name="BtnPressEmergencyBtn" xml:space="preserve">
+    <value>emergency Button</value>
+  </data>
+  <data name="EmergencyBtnPressPressHint" xml:space="preserve">
+    <value>Press the emergency button for 2 seconds, then twist release it.</value>
+  </data>
 </root>

+ 302 - 299
AwInitilizer/Resx/AppResources.zh-CHS.resx

@@ -1,300 +1,303 @@
-<?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="Confirm" xml:space="preserve">
-    <value>确认</value>
-  </data>
-  <data name="SigninDialogTitle" xml:space="preserve">
-    <value>登入</value>
-  </data>
-  <data name="SigninDialogEnterIDHint" xml:space="preserve">
-    <value>输入员工证号</value>
-  </data>
-  <data name="SigninDialogEnterWOHint" xml:space="preserve">
-    <value>输入工单号</value>
-  </data>
-  <data name="SigninDialogEnterWOError" xml:space="preserve">
-    <value>工单号错误</value>
-  </data>
-  <data name="SigninDialogEnterIDError" xml:space="preserve">
-    <value>员工证号错误</value>
-  </data>
-  <data name="SigninDialogNoResponseError" xml:space="preserve">
-    <value>MES没有反应</value>
-  </data>
-  <data name="Account" xml:space="preserve">
-    <value>账户</value>
-  </data>
-  <data name="Logout" xml:space="preserve">
-    <value>注销</value>
-  </data>
-  <data name="UserID" xml:space="preserve">
-    <value>员工证号</value>
-  </data>
-  <data name="WorkOrder" xml:space="preserve">
-    <value>工单号</value>
-  </data>
-  <data name="BarcodeSetting" xml:space="preserve">
-    <value>Barcode信息</value>
-  </data>
-  <data name="ModelName" xml:space="preserve">
-    <value>Model Name</value>
-  </data>
-  <data name="SerialNumber" xml:space="preserve">
-    <value>Serial Number</value>
-  </data>
-  <data name="SimStatus" xml:space="preserve">
-    <value>SIM卡是否插入</value>
-  </data>
-  <data name="ICCID" xml:space="preserve">
-    <value>Sim卡ICCID</value>
-  </data>
-  <data name="IMSI" xml:space="preserve">
-    <value>Sim卡IMSI</value>
-  </data>
-  <data name="FirmwareVersion" xml:space="preserve">
-    <value>韧体版本</value>
-  </data>
-  <data name="FirmwareVersionHeaderName" xml:space="preserve">
-    <value>模块</value>
-  </data>
-  <data name="FirmwareVersionHeaderVersion" xml:space="preserve">
-    <value>版本</value>
-  </data>
-  <data name="StartProcedure" xml:space="preserve">
-    <value>开始</value>
-  </data>
-  <data name="StatusIdel" xml:space="preserve">
-    <value>闲置</value>
-  </data>
-  <data name="StatusUpdating" xml:space="preserve">
-    <value>更新中</value>
-  </data>
-  <data name="StatusSuccess" xml:space="preserve">
-    <value>成功</value>
-  </data>
-  <data name="StatusFail" xml:space="preserve">
-    <value>失败</value>
-  </data>
-  <data name="StatusBarUpdating" xml:space="preserve">
-    <value>{0} 处理中</value>
-  </data>
-  <data name="StatusBarFailed" xml:space="preserve">
-    <value>{0} 失败</value>
-  </data>
-  <data name="SnWoMisMatch" xml:space="preserve">
-    <value>序号或工单号错误</value>
-  </data>
-  <data name="ModelNameEmptyAlert" xml:space="preserve">
-    <value>Model Name不能为空</value>
-  </data>
-  <data name="ModelNameMismatchAlert" xml:space="preserve">
-    <value>Model Name不相同</value>
-  </data>
-  <data name="SerialNumberEmptyAlert" xml:space="preserve">
-    <value>Serial Number不能为空</value>
-  </data>
-  <data name="ModelNameErrorAlert" xml:space="preserve">
-    <value>Model Name格式错误</value>
-  </data>
-  <data name="FourGenVersionEmptyAlert" xml:space="preserve">
-    <value>4G模块版本不能为空</value>
-  </data>
-  <data name="IccidEmptyAlert" xml:space="preserve">
-    <value>当SIM卡插入则ICCID不能为空</value>
-  </data>
-  <data name="ImsiEmptyAlert" xml:space="preserve">
-    <value>当SIM卡插入则IMSI不能为空</value>
-  </data>
-  <data name="FirmwareListNullAlert" xml:space="preserve">
-    <value>必须宣告更新韧体列表</value>
-  </data>
-  <data name="FirmwareNameEmptyAlert" xml:space="preserve">
-    <value>韧体模块名称不能为空</value>
-  </data>
-  <data name="FirmwareVersionEmptyAlert" xml:space="preserve">
-    <value>韧体模块版本不能为空</value>
-  </data>
-  <data name="FirmwareFileEmptyAlert" xml:space="preserve">
-    <value>韧体更新档不能为空</value>
-  </data>
-  <data name="LoadConfigRootFolderNotfoundAlert" xml:space="preserve">
-    <value>韧体主目录错误</value>
-  </data>
-  <data name="LoadConfigFolderNotfoundAlert" xml:space="preserve">
-    <value>韧体主目录不存在</value>
-  </data>
-  <data name="LoadConfigModelFolderNotfoundAlert" xml:space="preserve">
-    <value>模块韧体目录不存在</value>
-  </data>
-  <data name="LoadConfigModelInitNotfoundAlert" xml:space="preserve">
-    <value>模块韧体配置文件不存在</value>
-  </data>
-  <data name="LoadConfigModelInitFormatErrorAlert" xml:space="preserve">
-    <value>模块韧体配置文件格示错误</value>
-  </data>
-  <data name="InitModelNameEmptyAlert" xml:space="preserve">
-    <value>ModelName不能为空</value>
-  </data>
-  <data name="InitModelNameErrorAlert" xml:space="preserve">
-    <value>ModelName格式错误</value>
-  </data>
-  <data name="InitIccidEmptyAlert" xml:space="preserve">
-    <value>当SIM卡插入则ICCID不能为空</value>
-  </data>
-  <data name="InitImsiEmptyAlert" xml:space="preserve">
-    <value>当SIM卡插入则IMSI不能为空</value>
-  </data>
-  <data name="InitFirmwareNameEmptyAlert" xml:space="preserve">
-    <value>韧体模块名称不能为空</value>
-  </data>
-  <data name="InitFirmwareVersionEmptyAlert" xml:space="preserve">
-    <value>{0}的版本不能为空</value>
-  </data>
-  <data name="InitFirmwareFileEmptyAlert" xml:space="preserve">
-    <value>{0}的韧体文件名不能为空</value>
-  </data>
-  <data name="InitFirmwareFileMissingAlert" xml:space="preserve">
-    <value>找不到{0}的韧体更新档</value>
-  </data>
-  <data name="InitFirmwareFileHeaderMismatchAlert" xml:space="preserve">
-    <value>{0}的韧体与Model Name不相同</value>
-  </data>
-  <data name="InitFirmwareFileHeaderFormatAlert" xml:space="preserve">
-    <value>{0}的韧体标题错误</value>
-  </data>
-  <data name="BtnPressHintTitle" xml:space="preserve">
-    <value>按钮测试</value>
-  </data>
-  <data name="BtnPressUnpressHint" xml:space="preserve">
-    <value>请确认所有按钮皆没有被按下, 确认后按下下方确认</value>
-  </data>
-  <data name="BtnPressPressHint" xml:space="preserve">
-    <value>请按下{0}2秒后放开</value>
-  </data>
-  <data name="BtnPressGreenBtn" xml:space="preserve">
-    <value>绿色按钮</value>
-  </data>
-  <data name="BtnPressBlueBtn" xml:space="preserve">
-    <value>蓝色按钮</value>
-  </data>
-  <data name="BtnPressEmergencyBtn" xml:space="preserve">
-    <value>紧急按钮</value>
-  </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="Confirm" xml:space="preserve">
+    <value>确认</value>
+  </data>
+  <data name="SigninDialogTitle" xml:space="preserve">
+    <value>登入</value>
+  </data>
+  <data name="SigninDialogEnterIDHint" xml:space="preserve">
+    <value>输入员工证号</value>
+  </data>
+  <data name="SigninDialogEnterWOHint" xml:space="preserve">
+    <value>输入工单号</value>
+  </data>
+  <data name="SigninDialogEnterWOError" xml:space="preserve">
+    <value>工单号错误</value>
+  </data>
+  <data name="SigninDialogEnterIDError" xml:space="preserve">
+    <value>员工证号错误</value>
+  </data>
+  <data name="SigninDialogNoResponseError" xml:space="preserve">
+    <value>MES没有反应</value>
+  </data>
+  <data name="Account" xml:space="preserve">
+    <value>账户</value>
+  </data>
+  <data name="Logout" xml:space="preserve">
+    <value>注销</value>
+  </data>
+  <data name="UserID" xml:space="preserve">
+    <value>员工证号</value>
+  </data>
+  <data name="WorkOrder" xml:space="preserve">
+    <value>工单号</value>
+  </data>
+  <data name="BarcodeSetting" xml:space="preserve">
+    <value>Barcode信息</value>
+  </data>
+  <data name="ModelName" xml:space="preserve">
+    <value>Model Name</value>
+  </data>
+  <data name="SerialNumber" xml:space="preserve">
+    <value>Serial Number</value>
+  </data>
+  <data name="SimStatus" xml:space="preserve">
+    <value>SIM卡是否插入</value>
+  </data>
+  <data name="ICCID" xml:space="preserve">
+    <value>Sim卡ICCID</value>
+  </data>
+  <data name="IMSI" xml:space="preserve">
+    <value>Sim卡IMSI</value>
+  </data>
+  <data name="FirmwareVersion" xml:space="preserve">
+    <value>韧体版本</value>
+  </data>
+  <data name="FirmwareVersionHeaderName" xml:space="preserve">
+    <value>模块</value>
+  </data>
+  <data name="FirmwareVersionHeaderVersion" xml:space="preserve">
+    <value>版本</value>
+  </data>
+  <data name="StartProcedure" xml:space="preserve">
+    <value>开始</value>
+  </data>
+  <data name="StatusIdel" xml:space="preserve">
+    <value>闲置</value>
+  </data>
+  <data name="StatusUpdating" xml:space="preserve">
+    <value>更新中</value>
+  </data>
+  <data name="StatusSuccess" xml:space="preserve">
+    <value>成功</value>
+  </data>
+  <data name="StatusFail" xml:space="preserve">
+    <value>失败</value>
+  </data>
+  <data name="StatusBarUpdating" xml:space="preserve">
+    <value>{0} 处理中</value>
+  </data>
+  <data name="StatusBarFailed" xml:space="preserve">
+    <value>{0} 失败</value>
+  </data>
+  <data name="SnWoMisMatch" xml:space="preserve">
+    <value>序号或工单号错误</value>
+  </data>
+  <data name="ModelNameEmptyAlert" xml:space="preserve">
+    <value>Model Name不能为空</value>
+  </data>
+  <data name="ModelNameMismatchAlert" xml:space="preserve">
+    <value>Model Name不相同</value>
+  </data>
+  <data name="SerialNumberEmptyAlert" xml:space="preserve">
+    <value>Serial Number不能为空</value>
+  </data>
+  <data name="ModelNameErrorAlert" xml:space="preserve">
+    <value>Model Name格式错误</value>
+  </data>
+  <data name="FourGenVersionEmptyAlert" xml:space="preserve">
+    <value>4G模块版本不能为空</value>
+  </data>
+  <data name="IccidEmptyAlert" xml:space="preserve">
+    <value>当SIM卡插入则ICCID不能为空</value>
+  </data>
+  <data name="ImsiEmptyAlert" xml:space="preserve">
+    <value>当SIM卡插入则IMSI不能为空</value>
+  </data>
+  <data name="FirmwareListNullAlert" xml:space="preserve">
+    <value>必须宣告更新韧体列表</value>
+  </data>
+  <data name="FirmwareNameEmptyAlert" xml:space="preserve">
+    <value>韧体模块名称不能为空</value>
+  </data>
+  <data name="FirmwareVersionEmptyAlert" xml:space="preserve">
+    <value>韧体模块版本不能为空</value>
+  </data>
+  <data name="FirmwareFileEmptyAlert" xml:space="preserve">
+    <value>韧体更新档不能为空</value>
+  </data>
+  <data name="LoadConfigRootFolderNotfoundAlert" xml:space="preserve">
+    <value>韧体主目录错误</value>
+  </data>
+  <data name="LoadConfigFolderNotfoundAlert" xml:space="preserve">
+    <value>韧体主目录不存在</value>
+  </data>
+  <data name="LoadConfigModelFolderNotfoundAlert" xml:space="preserve">
+    <value>模块韧体目录不存在</value>
+  </data>
+  <data name="LoadConfigModelInitNotfoundAlert" xml:space="preserve">
+    <value>模块韧体配置文件不存在</value>
+  </data>
+  <data name="LoadConfigModelInitFormatErrorAlert" xml:space="preserve">
+    <value>模块韧体配置文件格示错误</value>
+  </data>
+  <data name="InitModelNameEmptyAlert" xml:space="preserve">
+    <value>ModelName不能为空</value>
+  </data>
+  <data name="InitModelNameErrorAlert" xml:space="preserve">
+    <value>ModelName格式错误</value>
+  </data>
+  <data name="InitIccidEmptyAlert" xml:space="preserve">
+    <value>当SIM卡插入则ICCID不能为空</value>
+  </data>
+  <data name="InitImsiEmptyAlert" xml:space="preserve">
+    <value>当SIM卡插入则IMSI不能为空</value>
+  </data>
+  <data name="InitFirmwareNameEmptyAlert" xml:space="preserve">
+    <value>韧体模块名称不能为空</value>
+  </data>
+  <data name="InitFirmwareVersionEmptyAlert" xml:space="preserve">
+    <value>{0}的版本不能为空</value>
+  </data>
+  <data name="InitFirmwareFileEmptyAlert" xml:space="preserve">
+    <value>{0}的韧体文件名不能为空</value>
+  </data>
+  <data name="InitFirmwareFileMissingAlert" xml:space="preserve">
+    <value>找不到{0}的韧体更新档</value>
+  </data>
+  <data name="InitFirmwareFileHeaderMismatchAlert" xml:space="preserve">
+    <value>{0}的韧体与Model Name不相同</value>
+  </data>
+  <data name="InitFirmwareFileHeaderFormatAlert" xml:space="preserve">
+    <value>{0}的韧体标题错误</value>
+  </data>
+  <data name="BtnPressHintTitle" xml:space="preserve">
+    <value>按钮测试</value>
+  </data>
+  <data name="BtnPressUnpressHint" xml:space="preserve">
+    <value>请确认所有按钮皆没有被按下, 确认后按下下方确认</value>
+  </data>
+  <data name="BtnPressPressHint" xml:space="preserve">
+    <value>请按下{0}2秒后放开</value>
+  </data>
+  <data name="BtnPressGreenBtn" xml:space="preserve">
+    <value>绿色按钮</value>
+  </data>
+  <data name="BtnPressBlueBtn" xml:space="preserve">
+    <value>蓝色按钮</value>
+  </data>
+  <data name="BtnPressEmergencyBtn" xml:space="preserve">
+    <value>紧急按钮</value>
+  </data>
+  <data name="EmergencyBtnPressPressHint" xml:space="preserve">
+    <value>请按下紧急按钮2秒后放开</value>
+  </data>
 </root>

+ 3 - 3
Initilizer/AssemblyInfo.cs

@@ -9,7 +9,7 @@
                                               // app, or any theme specific resource dictionaries)
 )]
 
-[assembly: AssemblyVersion("1.10.1.0")]
-[assembly: AssemblyFileVersion("1.10.1.0")]
-[assembly: AssemblyInformationalVersion("b0b84bb")]
+[assembly: AssemblyVersion("1.10.2.0")]
+[assembly: AssemblyFileVersion("1.10.2.0")]
+[assembly: AssemblyInformationalVersion("8d07163")]
 

+ 4 - 4
MesAdaptor/Properties/AssemblyInfo.cs

@@ -31,7 +31,7 @@ using System.Runtime.InteropServices;
 //
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.10.1.0")]
-[assembly: AssemblyVersion("1.10.1.0")]
-[assembly: AssemblyFileVersion("1.10.1.0")]
-[assembly: AssemblyInformationalVersion("b0b84bb")]
+// [assembly: AssemblyVersion("1.10.2.0")]
+[assembly: AssemblyVersion("1.10.2.0")]
+[assembly: AssemblyFileVersion("1.10.2.0")]
+[assembly: AssemblyInformationalVersion("8d07163")]