Prechádzať zdrojové kódy

compdfkit(win) - 补充部分文案,修复mainpage bug

liuaoran 1 rok pred
rodič
commit
03b35f25a9
25 zmenil súbory, kde vykonal 2351 pridanie a 1548 odobranie
  1. 7 3
      Demo/Examples/Compdfkit_Tools/Common/BaseControl/CustomProgressBarControl.xaml
  2. 1 0
      Demo/Examples/Compdfkit_Tools/Common/HomePage/FeaturesListControl.xaml.cs
  3. 22 23
      Demo/Examples/Compdfkit_Tools/Common/HomePage/HomePageControl.xaml.cs
  4. 5 2
      Demo/Examples/Compdfkit_Tools/Common/PropertyControl/PDFLocation/CPDFTileControl.xaml
  5. 5 4
      Demo/Examples/Compdfkit_Tools/Common/PropertyControl/WritableComboBoxControl.xaml
  6. 7 1
      Demo/Examples/Compdfkit_Tools/Edit/PDFContentEditControl.xaml
  7. 4 3
      Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageEditControl/PDFImageEditControl.xaml
  8. 4 2
      Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageUI/CPDFImageFlipUI.xaml
  9. 5 3
      Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageUI/CPDFImageRotateUI.xaml
  10. 10 4
      Demo/Examples/Compdfkit_Tools/Security/Encryption/DecryptionDialog.xaml
  11. 5 5
      Demo/Examples/Compdfkit_Tools/Security/Encryption/SetEncryptionControl.xaml
  12. 47 1
      Demo/Examples/Compdfkit_Tools/Strings/Common.Designer.cs
  13. 474 360
      Demo/Examples/Compdfkit_Tools/Strings/Common.resx
  14. 475 354
      Demo/Examples/Compdfkit_Tools/Strings/Common.zh.resx
  15. 63 0
      Demo/Examples/Compdfkit_Tools/Strings/DocumentEditor.Designer.cs
  16. 101 0
      Demo/Examples/Compdfkit_Tools/Strings/DocumentEditor.resx
  17. 57 2
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.Designer.cs
  18. 507 390
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.resx
  19. 508 384
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.zh.resx
  20. 20 2
      Demo/Examples/Compdfkit_Tools/Strings/Security.Designer.cs
  21. 8 2
      Demo/Examples/Compdfkit_Tools/Strings/Security.resx
  22. 7 1
      Demo/Examples/Compdfkit_Tools/Strings/Security.zh.resx
  23. 4 0
      Demo/Examples/DigitalSignature/DigitalSignature.csproj
  24. 4 1
      Demo/Examples/PDFViewer/MainPage.xaml.cs
  25. 1 1
      Demo/Examples/PDFViewer/MainWindow.xaml

+ 7 - 3
Demo/Examples/Compdfkit_Tools/Common/BaseControl/CustomProgressBarControl.xaml

@@ -4,16 +4,20 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:local="clr-namespace:Compdfkit_Tools.Common"
-             mc:Ignorable="d"
+             mc:Ignorable="d" 
              d:DesignHeight="25" d:DesignWidth="400">
+    <UserControl.Resources>
+        <local:CommonResourceConverter x:Key="CommonResourceConverter"></local:CommonResourceConverter>
+    </UserControl.Resources>
+
     <Grid x:Name="Grid">
         <Grid.ColumnDefinitions>
             <ColumnDefinition Width="Auto"></ColumnDefinition>
             <ColumnDefinition Width="*"></ColumnDefinition>
             <ColumnDefinition Width="Auto"></ColumnDefinition>
         </Grid.ColumnDefinitions>
-        
-        <TextBlock Text="Progress" FontFamily="Microsoft YaHei" FontSize="14" VerticalAlignment="Center"></TextBlock>
+
+        <TextBlock Text="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Property_Progress}" FontFamily="Microsoft YaHei" FontSize="14" VerticalAlignment="Center"></TextBlock>
         
         <ProgressBar Grid.Column="1" Height="5" Foreground="#0078D7" Margin="5,0,5,0" Value="{Binding ProgressValue}" Maximum="{Binding ProgressMaxValue}"></ProgressBar>
         

+ 1 - 0
Demo/Examples/Compdfkit_Tools/Common/HomePage/FeaturesListControl.xaml.cs

@@ -210,6 +210,7 @@ namespace Compdfkit_Tools.PDFControl
         static public double ItemHeight { get; set; } = 128;
         static public double ItemMargin { get; set; } = 10;
 
+        public string Feature;
 
         private string _titleText;
         public string TitleText

+ 22 - 23
Demo/Examples/Compdfkit_Tools/Common/HomePage/HomePageControl.xaml.cs

@@ -86,36 +86,36 @@ namespace Compdfkit_Tools.PDFControl
         {
             var parentWindow = Window.GetWindow(this);
 
-            switch (e.TitleText)
+            switch (e.Feature)
             {
                 case "Viewer":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName,  e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName,  e.Feature));
                         break;
                     }
                 case "Annotations":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, featureName: e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName,  e.Feature));
                         break;
                     }
                 case "Forms":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, featureName: e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, e.Feature));
                         break;
                     }
-                case "Signature":
+                case "Signatures":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, featureName: e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, e.Feature));
                         break;
                     }
                 case "Document Editor":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName , featureName: e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName , e.Feature));
                         break;
                     }
                 case "Content Editor":
                     {
-                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, featureName: e.TitleText));
+                        OpenFileEvent?.Invoke(this, new OpenFileEventArgs(FileOperationType.OpenFileDirectly, DefaultFileName, e.Feature));
                         break;
                     }
                 case "Watermark":
@@ -161,8 +161,7 @@ namespace Compdfkit_Tools.PDFControl
                         System.Diagnostics.Process.Start("https://www.compdf.com/contact-sales");
                         break;
                     }
-                default:
-                    MessageBox.Show(e.TitleText + " is under development.");
+                default: 
                     break;
             }
         }
@@ -187,19 +186,19 @@ namespace Compdfkit_Tools.PDFControl
         {
             customItems = new List<CustomItem>()
             {
-                new CustomItem{ IconCanvas = viewerCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Viewer"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Viewer")},
-                new CustomItem{ IconCanvas = annotationsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Annotations"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Annotations")},
-                new CustomItem{ IconCanvas = formsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Forms"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Forms")},
-                new CustomItem{ IconCanvas = signatureCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Signatures"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Signatures")},
-                new CustomItem{ IconCanvas = documentEditorCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_DocEditor"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_DocEditor")},
-                new CustomItem{ IconCanvas = contentEditorCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_ContentEditor"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_ContentEditor")},
-                new CustomItem{ IconCanvas = watermarkCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Watermark"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Watermark")},
-                new CustomItem{ IconCanvas = securityCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Security"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Security")},
-                new CustomItem{ IconCanvas = redactionCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Redaction"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Redaction")},
-                new CustomItem{ IconCanvas = compareDocumentsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_DocCompare"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_DocCompare")},
-                new CustomItem{ IconCanvas = conversionCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Conversion"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Conversion")},
-                new CustomItem{ IconCanvas = compressCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Compress"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Compress")},
-                new CustomItem{ IconCanvas = measurementCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Measurement"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Measurement")},
+                new CustomItem{ IconCanvas = viewerCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Viewer"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Viewer"), Feature = "Viewer"},
+                new CustomItem{ IconCanvas = annotationsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Annotations"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Annotations"), Feature = "Annotations"},
+                new CustomItem{ IconCanvas = formsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Forms"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Forms"), Feature = "Forms"},
+                new CustomItem{ IconCanvas = signatureCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Signatures"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Signatures"), Feature = "Signatures"},
+                new CustomItem{ IconCanvas = documentEditorCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_DocEditor"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_DocEditor"), Feature = "Document Editor"},
+                new CustomItem{ IconCanvas = contentEditorCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_ContentEditor"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_ContentEditor"), Feature = "Content Editor"},
+                new CustomItem{ IconCanvas = watermarkCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Watermark"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Watermark"), Feature = "Watermark"},
+                new CustomItem{ IconCanvas = securityCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Security"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Security"), Feature = "Security"},
+                new CustomItem{ IconCanvas = redactionCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Redaction"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Redaction"), Feature = "Redaction"},
+                new CustomItem{ IconCanvas = compareDocumentsCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_DocCompare"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_DocCompare"), Feature = "Compare Documents"},
+                new CustomItem{ IconCanvas = conversionCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Conversion"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Conversion"), Feature = "Conversion"},
+                new CustomItem{ IconCanvas = compressCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Compress"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Compress"), Feature = "Compress"},
+                new CustomItem{ IconCanvas = measurementCanvas,TitleText = LanguageHelper.CommonManager.GetString("Func_Measurement"), DescriptionText= LanguageHelper.CommonManager.GetString("FuncDetail_Measurement"), Feature = "Measurement"},
             };
         }
 

+ 5 - 2
Demo/Examples/Compdfkit_Tools/Common/PropertyControl/PDFLocation/CPDFTileControl.xaml

@@ -5,14 +5,17 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Compdfkit_Tools.Common"
              mc:Ignorable="d" 
-             d:DesignHeight="72" d:DesignWidth="242">
+             d:DesignHeight="72" d:DesignWidth="242"> 
+    <UserControl.Resources>
+        <local:CommonResourceConverter x:Key="CommonResourceConverter" />
+    </UserControl.Resources>
     <Grid>
         <Grid.RowDefinitions>
             <RowDefinition></RowDefinition>
             <RowDefinition></RowDefinition>
         </Grid.RowDefinitions>
         <CheckBox x:Name="TileChk" VerticalAlignment="Center" Click="TileChk_Click">
-            <TextBlock  Text="Tile"></TextBlock>
+            <TextBlock  Text="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Chk_Tile}"></TextBlock>
         </CheckBox>
         <Grid Grid.Row="1" x:Name="TileGd">
             <Grid.Style>

+ 5 - 4
Demo/Examples/Compdfkit_Tools/Common/PropertyControl/WritableComboBoxControl.xaml

@@ -12,6 +12,7 @@
             <ResourceDictionary.MergedDictionaries>
                 <ResourceDictionary Source="../../Asset/Styles/ComboBoxStyle.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
+            <local:CommonResourceConverter x:Key="CommonResourceConverter"></local:CommonResourceConverter> 
         </ResourceDictionary>
     </UserControl.Resources>
     <Grid>
@@ -28,10 +29,10 @@
             SelectedIndex="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:WritableComboBoxControl}, Path=SelectedIndex}"
             SelectionChanged ="ComboBox_SelectionChanged"
             Style="{StaticResource ComboBoxStyle1}">
-            <ComboBoxItem Content="All Pages" Tag="AllPages"></ComboBoxItem>
-            <ComboBoxItem Content="Odd Pages" Tag="OddPages"></ComboBoxItem>
-            <ComboBoxItem Content="Even Pages" Tag="EvenPages"></ComboBoxItem>
-            <ComboBoxItem Content="Custom Pages" Tag="CustomPages"></ComboBoxItem>
+            <ComboBoxItem Content="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Option_AllPage}" Tag="AllPages"></ComboBoxItem>
+            <ComboBoxItem Content="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Button_Cancel}" Tag="OddPages"></ComboBoxItem>
+            <ComboBoxItem Content="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Button_Cancel}" Tag="EvenPages"></ComboBoxItem>
+            <ComboBoxItem Content="{Binding Converter={StaticResource CommonResourceConverter},ConverterParameter=Button_Cancel}" Tag="CustomPages"></ComboBoxItem>
         </ComboBox>
         <TextBox
                  x:Name="TextBox"

+ 7 - 1
Demo/Examples/Compdfkit_Tools/Edit/PDFContentEditControl.xaml

@@ -4,11 +4,17 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Compdfkit_Tools.Edit"
+             xmlns:common="clr-namespace:Compdfkit_Tools.Common"
              mc:Ignorable="d" 
              d:DesignHeight="800" d:DesignWidth="300"
               Background="#FAFCFF">
+    <UserControl.Resources>
+        <ResourceDictionary>
+            <common:PropertyPanelResourceConverter x:Key="PropertyPanelResourceConverter"></common:PropertyPanelResourceConverter>
+        </ResourceDictionary>
+    </UserControl.Resources>
     <Grid>
-        <TextBlock x:Name="EmptyMessage" Text="The property panel is empty." VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
+        <TextBlock x:Name="EmptyMessage" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Text_EmptyPanel}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
         <Border x:Name="ContentEditContainer"></Border>
     </Grid>
 </UserControl>

+ 4 - 3
Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageEditControl/PDFImageEditControl.xaml

@@ -14,6 +14,7 @@
                 <ResourceDictionary Source="../../../Asset/Styles/ButtonStyle.xaml"></ResourceDictionary>
                 <ResourceDictionary Source="../../../Asset/Styles/SliderStyle.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
+            <common:PropertyPanelResourceConverter x:Key="PropertyPanelResourceConverter"></common:PropertyPanelResourceConverter>
         </ResourceDictionary>
     </UserControl.Resources>
     
@@ -28,7 +29,7 @@
         </Grid.RowDefinitions>
 
         <Border Background="White" Height="36">
-            <TextBlock FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" Foreground="#42464D" VerticalAlignment="Center">Image Properties</TextBlock>
+            <TextBlock FontSize="14" FontWeight="Bold" HorizontalAlignment="Center" Foreground="#42464D" VerticalAlignment="Center" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Title_ImageProperty}"></TextBlock>
         </Border>
 
         <Border Name="ImageThumbBorder" Background="White" Grid.Row="1" MinHeight="100" CornerRadius="5" Margin="0,16,0,0" BorderThickness="1" BorderBrush="#E2E3E6">
@@ -49,7 +50,7 @@
                 <RowDefinition Height="auto"></RowDefinition>
             </Grid.RowDefinitions>
 
-            <TextBlock FontSize="14" Foreground="#43474D">Opacity:</TextBlock>
+            <TextBlock FontSize="14" Foreground="#43474D" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Property_Opacity}"></TextBlock>
 
             <Slider Style="{StaticResource SliderStyle}" Grid.Row="1" Width="148" Height="28"
                     Name="ImasgeOpacitySlider" 
@@ -90,7 +91,7 @@
                 <RowDefinition Height="auto"></RowDefinition>
                 <RowDefinition Height="auto"></RowDefinition>
             </Grid.RowDefinitions>
-            <TextBlock VerticalAlignment="Center" FontSize="14" Foreground="#43474D">Tool</TextBlock>
+            <TextBlock VerticalAlignment="Center" FontSize="14" Foreground="#43474D" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Property_Tool}"></TextBlock>
 
             <Border  Grid.Row="1" BorderThickness="1" BorderBrush="#E1E3E5"  Margin="0,14,0,0" HorizontalAlignment="Left">
                 <StackPanel Orientation="Horizontal">

+ 4 - 2
Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageUI/CPDFImageFlipUI.xaml

@@ -4,6 +4,7 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Compdfkit_Tools.Edit"
+             xmlns:common="clr-namespace:Compdfkit_Tools.Common"
              mc:Ignorable="d" 
              d:DesignHeight="150" d:DesignWidth="300">
     <UserControl.Resources>
@@ -11,13 +12,14 @@
             <ResourceDictionary.MergedDictionaries>
                 <ResourceDictionary Source="../../../Asset/Styles/ButtonStyle.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
+            <common:PropertyPanelResourceConverter x:Key="PropertyPanelResourceConverter"></common:PropertyPanelResourceConverter>
         </ResourceDictionary>
     </UserControl.Resources>
     
     <StackPanel Name="ImageFlipUI">
         <Grid>
-            <TextBlock VerticalAlignment="Center"  Margin="0,10,10,0" FontSize="14" Foreground="#43474D">Flip</TextBlock>
-        </Grid>
+            <TextBlock VerticalAlignment="Center"  Margin="0,10,10,0" FontSize="14" Foreground="#43474D" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Property_Flip}"></TextBlock>
+        </Grid> 
 
         <StackPanel Margin="0,14,0,0" Orientation="Horizontal">
             <Button Padding="0,5,0,5" Width="50" BorderThickness="1" Click="FlipHorizontal_Click" Style="{StaticResource LightButtonStyle}" Background="White" BorderBrush="#1A000000">

+ 5 - 3
Demo/Examples/Compdfkit_Tools/Edit/PDFImageEdit/PDFImageUI/CPDFImageRotateUI.xaml

@@ -4,6 +4,7 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Compdfkit_Tools.Edit"
+             xmlns:common="clr-namespace:Compdfkit_Tools.Common"
              mc:Ignorable="d" 
              d:DesignHeight="150" d:DesignWidth="300">
     <UserControl.Resources>
@@ -11,12 +12,13 @@
             <ResourceDictionary.MergedDictionaries>
                 <ResourceDictionary Source="../../../Asset/Styles/ButtonStyle.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
+            <common:PropertyPanelResourceConverter x:Key="PropertyPanelResourceConverter"></common:PropertyPanelResourceConverter>
         </ResourceDictionary>
     </UserControl.Resources>
     
     <StackPanel Name="ImageRotateUI">
         <Grid>
-            <TextBlock VerticalAlignment="Center"  Margin="0,10,10,0" FontSize="14" Foreground="#43474D">Rotate</TextBlock>
+            <TextBlock VerticalAlignment="Center"  Margin="0,10,10,0" FontSize="14" Foreground="#43474D" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Property_Rotate}"></TextBlock>
         </Grid>
 
         <Grid Margin="0,14,0,0">
@@ -34,7 +36,7 @@
                             2.06742 7.88263 2.05449 7.78489 2.04358L8.97487 0.853591L8.26777 0.146484L6.14645 2.2678Z
                         </Path.Data>
                     </Path>
-                    <TextBlock FontSize="14" Foreground="#43474D" Margin="8,0,0,0">Left</TextBlock>
+                    <TextBlock FontSize="14" Foreground="#43474D" Margin="8,0,0,0" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Button_Left}"></TextBlock>
                 </StackPanel>
             </Button>
             <Button Style="{StaticResource LightButtonStyle}" Background="White" BorderBrush="#1A000000" Grid.Column="1" Margin="10,0,0,0" Padding="0,5,0,5" BorderThickness="1" Click="RotateRightBtn_Click">
@@ -47,7 +49,7 @@
                             2.06742 6.61737 2.05449 6.71511 2.04358L5.52513 0.853591L6.23223 0.146484L8.35355 2.2678Z
                         </Path.Data>
                     </Path>
-                    <TextBlock FontSize="14" Foreground="#43474D" Margin="8,0,0,0">Right</TextBlock>
+                    <TextBlock FontSize="14" Foreground="#43474D" Margin="8,0,0,0" Text="{Binding Converter={StaticResource PropertyPanelResourceConverter},ConverterParameter=Button_Right}"></TextBlock>
                 </StackPanel>
             </Button>
         </Grid>

+ 10 - 4
Demo/Examples/Compdfkit_Tools/Security/Encryption/DecryptionDialog.xaml

@@ -4,11 +4,17 @@
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:local="clr-namespace:Compdfkit_Tools.PDFControl"
+        xmlns:common="clr-namespace:Compdfkit_Tools.Common" 
         mc:Ignorable="d"
         ResizeMode="NoResize"
         WindowStartupLocation="CenterScreen"
         ShowInTaskbar="False"
         Title="DecryptionDialog" Height="600" Width="522">
+    <Window.Resources>
+        <ResourceDictionary>
+            <common:SecurityResourceConverter x:Key="SecurityResourceConverter"/> 
+        </ResourceDictionary>
+    </Window.Resources>
     <Grid>
         <Grid.RowDefinitions>
             <RowDefinition Height="Auto"/>
@@ -19,14 +25,14 @@
         
         <StackPanel Grid.Row="1" Margin="20,20,20,0">
             <TextBlock FontFamily="Microsoft YaHei" FontSize="12" TextWrapping="Wrap" 
-                       Text="PDF Password Remover is an easy-to-use PDF security remover,which helps users decrypt PDF protections and remove restrictions on printing,editing and copying."></TextBlock>
+                       Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Tip_EasyUse}"></TextBlock>
             <TextBlock FontFamily="Microsoft YaHei" FontSize="12" TextWrapping="Wrap" Margin="0,10,0,10"
-                       Text="If open password is required,you need to enter the right password first and then remove protections from PDF files."></TextBlock>
+                       Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Tip_Require}"></TextBlock>
         </StackPanel>
         
         <StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right">
-            <Button Width="112" Height="32" FontFamily="Microsoft YaHei" FontSize="14" Content="Remove" Click="Remove_Click" IsEnabled="{Binding  ElementName=FileListControl,Path=IsEnsure}"></Button>
-            <Button Width="112" Height="32" FontFamily="Microsoft YaHei" FontSize="14" Content="Cancel" Margin="10,0,10,0" Click="Cancel_Click"></Button>
+            <Button Width="112" Height="32" FontFamily="Microsoft YaHei" FontSize="14" Content="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Button_Apply}" Click="Remove_Click" IsEnabled="{Binding  ElementName=FileListControl,Path=IsEnsure}"></Button>
+            <Button Width="112" Height="32" FontFamily="Microsoft YaHei" FontSize="14" Content="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Button_Cancel}" Margin="10,0,10,0" Click="Cancel_Click"></Button>
         </StackPanel>
     </Grid>
 </Window>

+ 5 - 5
Demo/Examples/Compdfkit_Tools/Security/Encryption/SetEncryptionControl.xaml

@@ -24,7 +24,7 @@
         </Grid.RowDefinitions>
         
         <Grid Background="White" Margin="20,0,0,0"  Panel.ZIndex="1" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top">
-            <TextBlock Foreground="#001A4E" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Title_OpenDocument}" FontWeight="Bold" FontSize="16"></TextBlock>
+            <TextBlock Foreground="#001A4E" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Title_OpenPassword}" FontWeight="Bold" FontSize="16"></TextBlock>
         </Grid>
         <Border Margin="0,10,7,12" BorderBrush="#33000000" BorderThickness="1">
             <Grid Margin="8,0,20,15">
@@ -34,7 +34,7 @@
                 </Grid.RowDefinitions>
                 <StackPanel Orientation="Horizontal">
                     <CheckBox IsChecked="{Binding IsUserPasswordEnabled, Mode=OneWayToSource}" x:Name="ChbUserPassword" Width="20" Height="20" Margin="0,0,0,0"></CheckBox>
-                    <TextBlock Height="20" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Text_OpenPassword}"></TextBlock>
+                    <TextBlock Height="20" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Chk_OpenPassword}"></TextBlock>
                 </StackPanel>
                 <StackPanel Orientation="Horizontal" Grid.Row="1" Margin="20,0,0,-5">
                     <TextBlock Height="25" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Text_OpenPassword}"/>
@@ -44,7 +44,7 @@
         </Border>
         
         <Grid Grid.Row="1" Background="White" Margin="20,0,0,0"  Panel.ZIndex="1" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top">
-            <TextBlock Foreground="#001A4E" Text="Password and Permissions" FontWeight="Bold" FontSize="16"></TextBlock>
+            <TextBlock Foreground="#001A4E" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Title_OwnerPassword}" FontWeight="Bold" FontSize="16"></TextBlock>
         </Grid>
         <Border Grid.Row="1" Margin="0,10,7,5" BorderBrush="#33000000" BorderThickness="1">
             <Grid Margin="8,10,20,8">
@@ -56,12 +56,12 @@
                 </Grid.RowDefinitions>
                 <StackPanel Orientation="Horizontal">
                     <CheckBox IsChecked="{Binding IsOwnerPasswordEnabled,Mode=OneWayToSource}" x:Name="ChbOwnerPassword" Width="20" Height="20" Margin="0,5,0,0"></CheckBox>
-                    <TextBlock Height="20" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Text_OwnerPassword}"></TextBlock>
+                    <TextBlock Height="20" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Chk_OwnerPassword}"></TextBlock>
                 </StackPanel>
 
                 <StackPanel Orientation="Horizontal" Grid.Row="1" Margin="20,0,0,0">
                     <TextBlock Height="25" FontFamily="Microsoft YaHei" FontSize="14" Text="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Text_OwnerPassword}"/>
-                    <common:PasswordBoxControl Password="{Binding OwnerPassword, Mode=OneWayToSource}" IsEnabled="{Binding IsOwnerPasswordEnabled}" Margin="10,0,0,0" Watermark="Enter Password" Height="41" Width="175"></common:PasswordBoxControl>
+                    <common:PasswordBoxControl Password="{Binding OwnerPassword, Mode=OneWayToSource}" IsEnabled="{Binding IsOwnerPasswordEnabled}" Margin="10,0,0,0" Watermark="{Binding Converter={StaticResource SecurityResourceConverter}, ConverterParameter=Holder_OwnerPassword}" Height="41" Width="175"></common:PasswordBoxControl>
                 </StackPanel>
                 
                 <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,0,0,0">

+ 47 - 1
Demo/Examples/Compdfkit_Tools/Strings/Common.Designer.cs

@@ -1,6 +1,7 @@
 //------------------------------------------------------------------------------
 // <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.
@@ -18,7 +19,7 @@ namespace Compdfkit_Tools.Strings.Common {
     // 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", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Common {
@@ -104,6 +105,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Tile.
+        /// </summary>
+        internal static string Chk_Tile {
+            get {
+                return ResourceManager.GetString("Chk_Tile", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Open Document.
         /// </summary>
@@ -680,6 +690,24 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Custom pages.
+        /// </summary>
+        internal static string Option_CustomPages {
+            get {
+                return ResourceManager.GetString("Option_CustomPages", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Even pages only.
+        /// </summary>
+        internal static string Option_EvenPages {
+            get {
+                return ResourceManager.GetString("Option_EvenPages", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Landscape.
         /// </summary>
@@ -689,6 +717,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Odd pages only.
+        /// </summary>
+        internal static string Option_OddPages {
+            get {
+                return ResourceManager.GetString("Option_OddPages", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Portrait.
         /// </summary>
@@ -698,6 +735,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Progress.
+        /// </summary>
+        internal static string Property_Progress {
+            get {
+                return ResourceManager.GetString("Property_Progress", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Page Orientation.
         /// </summary>

+ 474 - 360
Demo/Examples/Compdfkit_Tools/Strings/Common.resx

@@ -1,363 +1,477 @@
 <?xml version="1.0" encoding="utf-8"?>
-
 <root>
-    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-        <xsd:element name="root" msdata:IsDataSet="true">
-            
-        </xsd:element>
-    </xsd:schema>
-    <resheader name="resmimetype">
-        <value>text/microsoft-resx</value>
-    </resheader>
-    <resheader name="version">
-        <value>1.3</value>
-    </resheader>
-    <resheader name="reader">
-        <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <resheader name="writer">
-        <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <data name="Button_Cancel" xml:space="preserve">
-        <value>Cancel</value>
-    </data>
-    <data name="Button_Create" xml:space="preserve">
-        <value>Create a New File</value>
-    </data>
-    <data name="Button_OK" xml:space="preserve">
-        <value>OK</value>
-    </data>
-    <data name="Button_Open" xml:space="preserve">
-        <value>Open Document</value>
-    </data>
-    <data name="Button_Save" xml:space="preserve">
-        <value>Save</value>
-    </data>
-    <data name="FileMenu_Open" xml:space="preserve">
-        <value>Open Document</value>
-    </data>
-    <data name="FileMenu_Save" xml:space="preserve">
-        <value>Save</value>
-    </data>
-    <data name="FileMenu_SaveAs" xml:space="preserve">
-        <value>Save As</value>
-    </data>
-    <data name="FuncDetail_Annotations" xml:space="preserve">
-        <value>Annotate and markup PDFs with notes, links, free text, line, square, arrow, circle, highlight, underline, squiggly, strikeout, stamps, ink, signature, sound, etc. Allow to create, delete, edit, import, export, and flatten PDF annotations. </value>
-    </data>
-    <data name="FuncDetail_Compress" xml:space="preserve">
-        <value>Optimize your PDF file with compression, reducing PDF document size with no or minimum visual quality loss.</value>
-    </data>
-    <data name="FuncDetail_ContentEditor" xml:space="preserve">
-        <value>Edit the text and images with ComPDFKit Content Editor. Give you the freedom to adjust the size, position, style, font, etc.</value>
-    </data>
-    <data name="FuncDetail_Conversion" xml:space="preserve">
-        <value>Convert PDF to PDF/A. ComPDFKit also supports converting PDF to/from Word, Excel, PPT, PNG, JPG, HTML, TXT, CSV, RTF, etc.</value>
-    </data>
-    <data name="FuncDetail_DocCompare" xml:space="preserve">
-        <value>Allow to compare PDF files and design drawings with content comparison and overlay comparison - support setting file color to compare and choose how you want to show the differences.</value>
-    </data>
-    <data name="FuncDetail_DocEditor" xml:space="preserve">
-        <value>Process PDF pages and files. Add, insert, replace, extract, reverse, move, copy, paste, rotate, delete, crop, scale, etc.</value>
-    </data>
-    <data name="FuncDetail_Forms" xml:space="preserve">
-        <value>Create, delete, edit, fill, flatten, import, and export forms. Support a wide array of PDF form fields including text field, check box, radio button, list box, combo button, push button, and signatures.</value>
-    </data>
-    <data name="FuncDetail_Measurement" xml:space="preserve">
-        <value>Create and edit distance, perimeter, area, angle, diameter, radius, and volume measurement annotations. Support changing the scale and precision of measurement annotations.</value>
-    </data>
-    <data name="FuncDetail_Redaction" xml:space="preserve">
-        <value>Use redaction to remove sensitive images, text, and vector graphics, that can't be recovered after applying the redaction. Support customizing redaction appearance and choosing an area or searching for specific text to redact.</value>
-    </data>
-    <data name="FuncDetail_Security" xml:space="preserve">
-        <value>Secure your documents using AES-128, AES-256, or RC4 encryption. Allow to encrypt, decrypt, and customize permissions, edit headers &amp; footers, background, Bates numbers, etc.</value>
-    </data>
-    <data name="FuncDetail_Signatures" xml:space="preserve">
-        <value>Sign PDFs with digital signatures and electronic signatures. Choose the drawn, image, or typed signatures and sign files conveniently. Or sign with your digital ID securely.</value>
-    </data>
-    <data name="FuncDetail_Viewer" xml:space="preserve">
-        <value>View PDFs with tools like display modes, navigation, display themes, scrolling, zooming,  text searching, text reflow, split viewer, etc.</value>
-    </data>
-    <data name="FuncDetail_Watermark" xml:space="preserve">
-        <value>Create, insert, and remove text or image watermarks to brand your users' work and discourage its unauthorized use.</value>
-    </data>
-    <data name="Func_Annotations" xml:space="preserve">
-        <value>Annotations</value>
-    </data>
-    <data name="Func_Compress" xml:space="preserve">
-        <value>Compress</value>
-    </data>
-    <data name="Func_ContentEditor" xml:space="preserve">
-        <value>Content Editor</value>
-    </data>
-    <data name="Func_Conversion" xml:space="preserve">
-        <value>Conversion</value>
-    </data>
-    <data name="Func_DocCompare" xml:space="preserve">
-        <value>Compare Documents</value>
-    </data>
-    <data name="Func_DocEditor" xml:space="preserve">
-        <value>Document Editor</value>
-    </data>
-    <data name="Func_Forms" xml:space="preserve">
-        <value>Forms</value>
-    </data>
-    <data name="Func_Measurement" xml:space="preserve">
-        <value>Measurement</value>
-    </data>
-    <data name="Func_Redaction" xml:space="preserve">
-        <value>Redaction</value>
-    </data>
-    <data name="Func_Security" xml:space="preserve">
-        <value>Security</value>
-    </data>
-    <data name="Func_Signatures" xml:space="preserve">
-        <value>Signatures</value>
-    </data>
-    <data name="Func_Viewer" xml:space="preserve">
-        <value>Viewer</value>
-    </data>
-    <data name="Func_Watermark" xml:space="preserve">
-        <value>Watermark</value>
-    </data>
-    <data name="HelpMenu_About" xml:space="preserve">
-        <value>About ComPDFKit</value>
-    </data>
-    <data name="HelpMenu_Contact" xml:space="preserve">
-        <value>Contact Sales</value>
-    </data>
-    <data name="HelpMenu_DeviceID" xml:space="preserve">
-        <value>Check Your Developer Device ID</value>
-    </data>
-    <data name="HelpMenu_Privacy" xml:space="preserve">
-        <value>Privacy Policy</value>
-    </data>
-    <data name="HelpMenu_Service" xml:space="preserve">
-        <value>Service Terms</value>
-    </data>
-    <data name="HelpMenu_Support" xml:space="preserve">
-        <value>Technical Support</value>
-    </data>
-    <data name="Menu_AutoSize" xml:space="preserve">
-        <value>Automatically Resize</value>
-    </data>
-    <data name="Menu_Copy" xml:space="preserve">
-        <value>Copy</value>
-    </data>
-    <data name="Menu_Cut" xml:space="preserve">
-        <value>Cut</value>
-    </data>
-    <data name="Menu_Delete" xml:space="preserve">
-        <value>Delete</value>
-    </data>
-    <data name="Menu_DoubleContinuous" xml:space="preserve">
-        <value>Double Page Continuous</value>
-    </data>
-    <data name="Menu_DoublePage" xml:space="preserve">
-        <value>Double Page</value>
-    </data>
-    <data name="Menu_Edit" xml:space="preserve">
-        <value>Edit</value>
-    </data>
-    <data name="Menu_File" xml:space="preserve">
-        <value>File</value>
-    </data>
-    <data name="Menu_Help" xml:space="preserve">
-        <value>Help</value>
-    </data>
-    <data name="Menu_Highlight" xml:space="preserve">
-        <value>Highlight</value>
-    </data>
-    <data name="Menu_Play" xml:space="preserve">
-        <value>Play</value>
-    </data>
-    <data name="Menu_RealSize" xml:space="preserve">
-        <value>Actual Size</value>
-    </data>
-    <data name="Menu_Sign" xml:space="preserve">
-        <value>Sign</value>
-    </data>
-    <data name="Menu_SingleContinuous" xml:space="preserve">
-        <value>Single Page Continuous</value>
-    </data>
-    <data name="Menu_SinglePage" xml:space="preserve">
-        <value>Single Page</value>
-    </data>
-    <data name="Menu_Squiggly" xml:space="preserve">
-        <value>Squiggly</value>
-    </data>
-    <data name="Menu_Strikeout" xml:space="preserve">
-        <value>Strikeout</value>
-    </data>
-    <data name="Menu_Underline" xml:space="preserve">
-        <value>Underline</value>
-    </data>
-    <data name="Menu_ZoomIn" xml:space="preserve">
-        <value>Zoom In</value>
-    </data>
-    <data name="Menu_ZoomOut" xml:space="preserve">
-        <value>Zoom Out</value>
-    </data>
-    <data name="Option_A3" xml:space="preserve">
-        <value>A3(11.69"x 16.54")</value>
-    </data>
-    <data name="Option_A4" xml:space="preserve">
-        <value>A4(8.27”x 11.69")</value>
-    </data>
-    <data name="Option_A5" xml:space="preserve">
-        <value>A5(5.83"x 8.27")</value>
-    </data>
-    <data name="Option_Landscape" xml:space="preserve">
-        <value>Landscape</value>
-    </data>
-    <data name="Option_Portrait" xml:space="preserve">
-        <value>Portrait</value>
-    </data>
-    <data name="Subtitle_Orientation" xml:space="preserve">
-        <value>Page Orientation</value>
-    </data>
-    <data name="Subtitle_PageSize" xml:space="preserve">
-        <value>Page Size</value>
-    </data>
-    <data name="Text_Page" xml:space="preserve">
-        <value>Page </value>
-    </data>
-    <data name="Tip_Encrypted" xml:space="preserve">
-        <value>is Encrypted!</value>
-    </data>
-    <data name="Tip_Password" xml:space="preserve">
-        <value>Password</value>
-    </data>
-    <data name="Tip_WrongPassword" xml:space="preserve">
-        <value>Wrong Password</value>
-    </data>
-    <data name="Title_NewFile" xml:space="preserve">
-        <value>Create a New File</value>
-    </data>
-    <data name="Title_Password" xml:space="preserve">
-        <value>Please Enter the Password</value>
-    </data>
-    <data name="Title_QuickStart" xml:space="preserve">
-        <value>Click to Open &amp; Process</value>
-    </data>
-    <data name="Tooltip_Open" xml:space="preserve">
-        <value>Open...</value>
-    </data>
-    <data name="Tooltip_Redo" xml:space="preserve">
-        <value>Redo</value>
-    </data>
-    <data name="Tooltip_Save" xml:space="preserve">
-        <value>Save</value>
-    </data>
-    <data name="Tooltip_Undo" xml:space="preserve">
-        <value>Undo</value>
-    </data>
-    <data name="Zoom_FitPage" xml:space="preserve">
-        <value>Fit Page</value>
-    </data>
-    <data name="Zoom_FitWidth" xml:space="preserve">
-        <value>Fit Width</value>
-    </data>
-    <data name="Zoom_Real" xml:space="preserve">
-        <value>Actual Size</value>
-    </data>
-    <data name="Tooltip_Panel" xml:space="preserve">
-        <value>Panel</value>
-    </data>
-    <data name="Tooltip_ZoomIn" xml:space="preserve">
-        <value>Zoom In</value>
-    </data>
-    <data name="Tooltip_ZoomOut" xml:space="preserve">
-        <value>Zoom Out</value>
-    </data>
-    <data name="Tooltip_Next" xml:space="preserve">
-        <value>Next</value>
-    </data>
-    <data name="Tooltip_Previous" xml:space="preserve">
-        <value>Previous</value>
-    </data>
-    <data name="Tooltip_Search" xml:space="preserve">
-        <value>Search</value>
-    </data>
-    <data name="Tooltip_Display" xml:space="preserve">
-        <value>Page Display</value>
-    </data>
-    <data name="Tooltip_DocInfo" xml:space="preserve">
-        <value>Document Info</value>
-    </data>
-    <data name="Title_Display" xml:space="preserve">
-        <value>View Setting</value>
-    </data>
-    <data name="Title_DisplayMode" xml:space="preserve">
-        <value>Display Mode</value>
-    </data>
-    <data name="Tooltip_SinglePage" xml:space="preserve">
-        <value>Single Page</value>
-    </data>
-    <data name="Tooltip_DoublePage" xml:space="preserve">
-        <value>Double Page</value>
-    </data>
-    <data name="Tooltip_CoverMode" xml:space="preserve">
-        <value>Cover Mode</value>
-    </data>
-    <data name="Toggle_Continuous" xml:space="preserve">
-        <value>Continuous Scrolling</value>
-    </data>
-    <data name="Toggle_Crop" xml:space="preserve">
-        <value>Crop Mode</value>
-    </data>
-    <data name="Title_SplitView" xml:space="preserve">
-        <value>Split View</value>
-    </data>
-    <data name="Tooltip_Vertical" xml:space="preserve">
-        <value>Vertical</value>
-    </data>
-    <data name="Tooltip_Horizontal" xml:space="preserve">
-        <value>Horizontal</value>
-    </data>
-    <data name="Title_Themes" xml:space="preserve">
-        <value>Themes</value>
-    </data>
-    <data name="Tooltip_Light" xml:space="preserve">
-        <value>Light</value>
-    </data>
-    <data name="Tooltip_Dark" xml:space="preserve">
-        <value>Dark</value>
-    </data>
-    <data name="Tooltip_Sepia" xml:space="preserve">
-        <value>Sepia</value>
-    </data>
-    <data name="Tooltip_Reseda" xml:space="preserve">
-        <value>Reseda</value>
-    </data>
-    <data name="temp" xml:space="preserve">
-        <value>Reseda</value>
-    </data>
-    <data name="Tooltip_Prop" xml:space="preserve">
-        <value>Properties</value>
-    </data>
-    <data name="Menu_Paste" xml:space="preserve">
-        <value>Paste</value>
-    </data>
-    <data name="Menu_Reset" xml:space="preserve">
-        <value>Reset Forms</value>
-    </data>
-    <data name="Menu_MatchPaste" xml:space="preserve">
-        <value>Keep Source Formatting Paste</value>
-    </data>
-    <data name="Menu_RotateLeft" xml:space="preserve">
-        <value>Rotate Left</value>
-    </data>
-    <data name="Menu_RotateRight" xml:space="preserve">
-        <value>Rotate Right</value>
-    </data>
-    <data name="Title_Preview" xml:space="preserve">
-        <value>Preview</value>
-    </data>
-    <data name="Text_Tile" xml:space="preserve">
-        <value>Tile</value>
-    </data>
-    <data name="Option_AllPage" xml:space="preserve">
-        <value>All Pages</value>
-    </data>
+  <!-- 
+    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="Button_Cancel" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="Button_Create" xml:space="preserve">
+    <value>Create a New File</value>
+  </data>
+  <data name="Button_OK" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="Button_Open" xml:space="preserve">
+    <value>Open Document</value>
+  </data>
+  <data name="Button_Save" xml:space="preserve">
+    <value>Save</value>
+  </data>
+  <data name="FileMenu_Open" xml:space="preserve">
+    <value>Open Document</value>
+  </data>
+  <data name="FileMenu_Save" xml:space="preserve">
+    <value>Save</value>
+  </data>
+  <data name="FileMenu_SaveAs" xml:space="preserve">
+    <value>Save As</value>
+  </data>
+  <data name="FuncDetail_Annotations" xml:space="preserve">
+    <value>Annotate and markup PDFs with notes, links, free text, line, square, arrow, circle, highlight, underline, squiggly, strikeout, stamps, ink, signature, sound, etc. Allow to create, delete, edit, import, export, and flatten PDF annotations. </value>
+  </data>
+  <data name="FuncDetail_Compress" xml:space="preserve">
+    <value>Optimize your PDF file with compression, reducing PDF document size with no or minimum visual quality loss.</value>
+  </data>
+  <data name="FuncDetail_ContentEditor" xml:space="preserve">
+    <value>Edit the text and images with ComPDFKit Content Editor. Give you the freedom to adjust the size, position, style, font, etc.</value>
+  </data>
+  <data name="FuncDetail_Conversion" xml:space="preserve">
+    <value>Convert PDF to PDF/A. ComPDFKit also supports converting PDF to/from Word, Excel, PPT, PNG, JPG, HTML, TXT, CSV, RTF, etc.</value>
+  </data>
+  <data name="FuncDetail_DocCompare" xml:space="preserve">
+    <value>Allow to compare PDF files and design drawings with content comparison and overlay comparison - support setting file color to compare and choose how you want to show the differences.</value>
+  </data>
+  <data name="FuncDetail_DocEditor" xml:space="preserve">
+    <value>Process PDF pages and files. Add, insert, replace, extract, reverse, move, copy, paste, rotate, delete, crop, scale, etc.</value>
+  </data>
+  <data name="FuncDetail_Forms" xml:space="preserve">
+    <value>Create, delete, edit, fill, flatten, import, and export forms. Support a wide array of PDF form fields including text field, check box, radio button, list box, combo button, push button, and signatures.</value>
+  </data>
+  <data name="FuncDetail_Measurement" xml:space="preserve">
+    <value>Create and edit distance, perimeter, area, angle, diameter, radius, and volume measurement annotations. Support changing the scale and precision of measurement annotations.</value>
+  </data>
+  <data name="FuncDetail_Redaction" xml:space="preserve">
+    <value>Use redaction to remove sensitive images, text, and vector graphics, that can't be recovered after applying the redaction. Support customizing redaction appearance and choosing an area or searching for specific text to redact.</value>
+  </data>
+  <data name="FuncDetail_Security" xml:space="preserve">
+    <value>Secure your documents using AES-128, AES-256, or RC4 encryption. Allow to encrypt, decrypt, and customize permissions, edit headers &amp; footers, background, Bates numbers, etc.</value>
+  </data>
+  <data name="FuncDetail_Signatures" xml:space="preserve">
+    <value>Sign PDFs with digital signatures and electronic signatures. Choose the drawn, image, or typed signatures and sign files conveniently. Or sign with your digital ID securely.</value>
+  </data>
+  <data name="FuncDetail_Viewer" xml:space="preserve">
+    <value>View PDFs with tools like display modes, navigation, display themes, scrolling, zooming,  text searching, text reflow, split viewer, etc.</value>
+  </data>
+  <data name="FuncDetail_Watermark" xml:space="preserve">
+    <value>Create, insert, and remove text or image watermarks to brand your users' work and discourage its unauthorized use.</value>
+  </data>
+  <data name="Func_Annotations" xml:space="preserve">
+    <value>Annotations</value>
+  </data>
+  <data name="Func_Compress" xml:space="preserve">
+    <value>Compress</value>
+  </data>
+  <data name="Func_ContentEditor" xml:space="preserve">
+    <value>Content Editor</value>
+  </data>
+  <data name="Func_Conversion" xml:space="preserve">
+    <value>Conversion</value>
+  </data>
+  <data name="Func_DocCompare" xml:space="preserve">
+    <value>Compare Documents</value>
+  </data>
+  <data name="Func_DocEditor" xml:space="preserve">
+    <value>Document Editor</value>
+  </data>
+  <data name="Func_Forms" xml:space="preserve">
+    <value>Forms</value>
+  </data>
+  <data name="Func_Measurement" xml:space="preserve">
+    <value>Measurement</value>
+  </data>
+  <data name="Func_Redaction" xml:space="preserve">
+    <value>Redaction</value>
+  </data>
+  <data name="Func_Security" xml:space="preserve">
+    <value>Security</value>
+  </data>
+  <data name="Func_Signatures" xml:space="preserve">
+    <value>Signatures</value>
+  </data>
+  <data name="Func_Viewer" xml:space="preserve">
+    <value>Viewer</value>
+  </data>
+  <data name="Func_Watermark" xml:space="preserve">
+    <value>Watermark</value>
+  </data>
+  <data name="HelpMenu_About" xml:space="preserve">
+    <value>About ComPDFKit</value>
+  </data>
+  <data name="HelpMenu_Contact" xml:space="preserve">
+    <value>Contact Sales</value>
+  </data>
+  <data name="HelpMenu_DeviceID" xml:space="preserve">
+    <value>Check Your Developer Device ID</value>
+  </data>
+  <data name="HelpMenu_Privacy" xml:space="preserve">
+    <value>Privacy Policy</value>
+  </data>
+  <data name="HelpMenu_Service" xml:space="preserve">
+    <value>Service Terms</value>
+  </data>
+  <data name="HelpMenu_Support" xml:space="preserve">
+    <value>Technical Support</value>
+  </data>
+  <data name="Menu_AutoSize" xml:space="preserve">
+    <value>Automatically Resize</value>
+  </data>
+  <data name="Menu_Copy" xml:space="preserve">
+    <value>Copy</value>
+  </data>
+  <data name="Menu_Cut" xml:space="preserve">
+    <value>Cut</value>
+  </data>
+  <data name="Menu_Delete" xml:space="preserve">
+    <value>Delete</value>
+  </data>
+  <data name="Menu_DoubleContinuous" xml:space="preserve">
+    <value>Double Page Continuous</value>
+  </data>
+  <data name="Menu_DoublePage" xml:space="preserve">
+    <value>Double Page</value>
+  </data>
+  <data name="Menu_Edit" xml:space="preserve">
+    <value>Edit</value>
+  </data>
+  <data name="Menu_File" xml:space="preserve">
+    <value>File</value>
+  </data>
+  <data name="Menu_Help" xml:space="preserve">
+    <value>Help</value>
+  </data>
+  <data name="Menu_Highlight" xml:space="preserve">
+    <value>Highlight</value>
+  </data>
+  <data name="Menu_Play" xml:space="preserve">
+    <value>Play</value>
+  </data>
+  <data name="Menu_RealSize" xml:space="preserve">
+    <value>Actual Size</value>
+  </data>
+  <data name="Menu_Sign" xml:space="preserve">
+    <value>Sign</value>
+  </data>
+  <data name="Menu_SingleContinuous" xml:space="preserve">
+    <value>Single Page Continuous</value>
+  </data>
+  <data name="Menu_SinglePage" xml:space="preserve">
+    <value>Single Page</value>
+  </data>
+  <data name="Menu_Squiggly" xml:space="preserve">
+    <value>Squiggly</value>
+  </data>
+  <data name="Menu_Strikeout" xml:space="preserve">
+    <value>Strikeout</value>
+  </data>
+  <data name="Menu_Underline" xml:space="preserve">
+    <value>Underline</value>
+  </data>
+  <data name="Menu_ZoomIn" xml:space="preserve">
+    <value>Zoom In</value>
+  </data>
+  <data name="Menu_ZoomOut" xml:space="preserve">
+    <value>Zoom Out</value>
+  </data>
+  <data name="Option_A3" xml:space="preserve">
+    <value>A3(11.69"x 16.54")</value>
+  </data>
+  <data name="Option_A4" xml:space="preserve">
+    <value>A4(8.27”x 11.69")</value>
+  </data>
+  <data name="Option_A5" xml:space="preserve">
+    <value>A5(5.83"x 8.27")</value>
+  </data>
+  <data name="Option_Landscape" xml:space="preserve">
+    <value>Landscape</value>
+  </data>
+  <data name="Option_Portrait" xml:space="preserve">
+    <value>Portrait</value>
+  </data>
+  <data name="Subtitle_Orientation" xml:space="preserve">
+    <value>Page Orientation</value>
+  </data>
+  <data name="Subtitle_PageSize" xml:space="preserve">
+    <value>Page Size</value>
+  </data>
+  <data name="Text_Page" xml:space="preserve">
+    <value>Page </value>
+  </data>
+  <data name="Tip_Encrypted" xml:space="preserve">
+    <value>is Encrypted!</value>
+  </data>
+  <data name="Tip_Password" xml:space="preserve">
+    <value>Password</value>
+  </data>
+  <data name="Tip_WrongPassword" xml:space="preserve">
+    <value>Wrong Password</value>
+  </data>
+  <data name="Title_NewFile" xml:space="preserve">
+    <value>Create a New File</value>
+  </data>
+  <data name="Title_Password" xml:space="preserve">
+    <value>Please Enter the Password</value>
+  </data>
+  <data name="Title_QuickStart" xml:space="preserve">
+    <value>Click to Open &amp; Process</value>
+  </data>
+  <data name="Tooltip_Open" xml:space="preserve">
+    <value>Open...</value>
+  </data>
+  <data name="Tooltip_Redo" xml:space="preserve">
+    <value>Redo</value>
+  </data>
+  <data name="Tooltip_Save" xml:space="preserve">
+    <value>Save</value>
+  </data>
+  <data name="Tooltip_Undo" xml:space="preserve">
+    <value>Undo</value>
+  </data>
+  <data name="Zoom_FitPage" xml:space="preserve">
+    <value>Fit Page</value>
+  </data>
+  <data name="Zoom_FitWidth" xml:space="preserve">
+    <value>Fit Width</value>
+  </data>
+  <data name="Zoom_Real" xml:space="preserve">
+    <value>Actual Size</value>
+  </data>
+  <data name="Tooltip_Panel" xml:space="preserve">
+    <value>Panel</value>
+  </data>
+  <data name="Tooltip_ZoomIn" xml:space="preserve">
+    <value>Zoom In</value>
+  </data>
+  <data name="Tooltip_ZoomOut" xml:space="preserve">
+    <value>Zoom Out</value>
+  </data>
+  <data name="Tooltip_Next" xml:space="preserve">
+    <value>Next</value>
+  </data>
+  <data name="Tooltip_Previous" xml:space="preserve">
+    <value>Previous</value>
+  </data>
+  <data name="Tooltip_Search" xml:space="preserve">
+    <value>Search</value>
+  </data>
+  <data name="Tooltip_Display" xml:space="preserve">
+    <value>Page Display</value>
+  </data>
+  <data name="Tooltip_DocInfo" xml:space="preserve">
+    <value>Document Info</value>
+  </data>
+  <data name="Title_Display" xml:space="preserve">
+    <value>View Setting</value>
+  </data>
+  <data name="Title_DisplayMode" xml:space="preserve">
+    <value>Display Mode</value>
+  </data>
+  <data name="Tooltip_SinglePage" xml:space="preserve">
+    <value>Single Page</value>
+  </data>
+  <data name="Tooltip_DoublePage" xml:space="preserve">
+    <value>Double Page</value>
+  </data>
+  <data name="Tooltip_CoverMode" xml:space="preserve">
+    <value>Cover Mode</value>
+  </data>
+  <data name="Toggle_Continuous" xml:space="preserve">
+    <value>Continuous Scrolling</value>
+  </data>
+  <data name="Toggle_Crop" xml:space="preserve">
+    <value>Crop Mode</value>
+  </data>
+  <data name="Title_SplitView" xml:space="preserve">
+    <value>Split View</value>
+  </data>
+  <data name="Tooltip_Vertical" xml:space="preserve">
+    <value>Vertical</value>
+  </data>
+  <data name="Tooltip_Horizontal" xml:space="preserve">
+    <value>Horizontal</value>
+  </data>
+  <data name="Title_Themes" xml:space="preserve">
+    <value>Themes</value>
+  </data>
+  <data name="Tooltip_Light" xml:space="preserve">
+    <value>Light</value>
+  </data>
+  <data name="Tooltip_Dark" xml:space="preserve">
+    <value>Dark</value>
+  </data>
+  <data name="Tooltip_Sepia" xml:space="preserve">
+    <value>Sepia</value>
+  </data>
+  <data name="Tooltip_Reseda" xml:space="preserve">
+    <value>Reseda</value>
+  </data>
+  <data name="temp" xml:space="preserve">
+    <value>Reseda</value>
+  </data>
+  <data name="Tooltip_Prop" xml:space="preserve">
+    <value>Properties</value>
+  </data>
+  <data name="Menu_Paste" xml:space="preserve">
+    <value>Paste</value>
+  </data>
+  <data name="Menu_Reset" xml:space="preserve">
+    <value>Reset Forms</value>
+  </data>
+  <data name="Menu_MatchPaste" xml:space="preserve">
+    <value>Keep Source Formatting Paste</value>
+  </data>
+  <data name="Menu_RotateLeft" xml:space="preserve">
+    <value>Rotate Left</value>
+  </data>
+  <data name="Menu_RotateRight" xml:space="preserve">
+    <value>Rotate Right</value>
+  </data>
+  <data name="Title_Preview" xml:space="preserve">
+    <value>Preview</value>
+  </data>
+  <data name="Text_Tile" xml:space="preserve">
+    <value>Tile</value>
+  </data>
+  <data name="Option_AllPage" xml:space="preserve">
+    <value>All Pages</value>
+  </data>
+  <data name="Property_Progress" xml:space="preserve">
+    <value>Progress</value>
+  </data>
+  <data name="Chk_Tile" xml:space="preserve">
+    <value>Tile</value>
+  </data>
+  <data name="Option_CustomPages" xml:space="preserve">
+    <value>Custom pages</value>
+  </data>
+  <data name="Option_EvenPages" xml:space="preserve">
+    <value>Even pages only</value>
+  </data>
+  <data name="Option_OddPages" xml:space="preserve">
+    <value>Odd pages only</value>
+  </data>
 </root>

+ 475 - 354
Demo/Examples/Compdfkit_Tools/Strings/Common.zh.resx

@@ -1,356 +1,477 @@
+<?xml version="1.0" encoding="utf-8"?>
 <root>
-    <resheader name="resmimetype">
-        <value>text/microsoft-resx</value>
-    </resheader>
-    <resheader name="version">
-        <value>1.3</value>
-    </resheader>
-    <resheader name="reader">
-        <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <resheader name="writer">
-        <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <data name="Button_Cancel" xml:space="preserve">
-        <value>取消</value>
-    </data>
-    <data name="Button_Create" xml:space="preserve">
-        <value>新建</value>
-    </data>
-    <data name="Button_OK" xml:space="preserve">
-        <value>确定</value>
-    </data>
-    <data name="Button_Open" xml:space="preserve">
-        <value>打开文档</value>
-    </data>
-    <data name="Button_Save" xml:space="preserve">
-        <value>保存</value>
-    </data>
-    <data name="FileMenu_Open" xml:space="preserve">
-        <value>打开文档</value>
-    </data>
-    <data name="FileMenu_Save" xml:space="preserve">
-        <value>保存</value>
-    </data>
-    <data name="FileMenu_SaveAs" xml:space="preserve">
-        <value>另存为</value>
-    </data>
-    <data name="FuncDetail_Annotations" xml:space="preserve">
-        <value>使用便签、链接、文本、线、矩形、箭头、圆、高亮、下划线、波浪线、删除线、图章、手绘、签名、录音等在PDF上添加注释和标记。支持创建、删除、编辑、导入、导出以及展平PDF注释。</value>
-    </data>
-    <data name="FuncDetail_Compress" xml:space="preserve">
-        <value>通过压缩来优化您的PDF文件,减小PDF文档大小,且无视觉质量损失。</value>
-    </data>
-    <data name="FuncDetail_ContentEditor" xml:space="preserve">
-        <value>使用ComPDFKit内容编辑器编辑PDF文本和图片。您可以自由调整大小、位置、样式、字体等。</value>
-    </data>
-    <data name="FuncDetail_Conversion" xml:space="preserve">
-        <value>将PDF转换为PDF/A。ComPDFKit还支持PDF文件与Word、Excel、PPT、PNG、JPG、HTML、TXT、CSV、RTF等格式的相互转换。</value>
-    </data>
-    <data name="FuncDetail_DocCompare" xml:space="preserve">
-        <value>允许通过内容对比和覆盖对比,对PDF文件和设计图纸进行比较。支持设置文件预览色进行对比、选择展示差异的方式等。</value>
-    </data>
-    <data name="FuncDetail_DocEditor" xml:space="preserve">
-        <value>处理PDF页面和文件。添加、插入、替换、提取、倒序、移动、复制、粘贴、旋转、删除、裁剪、缩放等。</value>
-    </data>
-    <data name="FuncDetail_Forms" xml:space="preserve">
-        <value>使用文本域、复选框、单选按钮、列表框、下拉菜单、按钮和签名等多种PDF表单域创建表单。支持创建、删除、编辑、填写、展平,导入或导出表单。</value>
-    </data>
-    <data name="FuncDetail_Measurement" xml:space="preserve">
-        <value>创建和编辑距离、周长、面积、角度、直径、半径和体积测量注释。且支持改变测量注释的比例和精度。</value>
-    </data>
-    <data name="FuncDetail_Redaction" xml:space="preserve">
-        <value>使用密文标记功能删除敏感图像、文本和矢量图形等信息,一旦应用无法恢复被标记的数据。通过选择区域或搜索特定文本进行标记,支持编辑标记的样式。</value>
-    </data>
-    <data name="FuncDetail_Security" xml:space="preserve">
-        <value>支持AES-128、AES-256或RC4加密保护您的文档F。允许加密、解密、和自定义权限、页眉和页脚、背景、贝茨码等。</value>
-    </data>
-    <data name="FuncDetail_Signatures" xml:space="preserve">
-        <value>用数字签名或电子签名签署PDF文件。可以选择绘制类、图片类,或输入签名的方式轻松签署文件。或使用您的数字ID安全地进行文档签署。</value>
-    </data>
-    <data name="FuncDetail_Viewer" xml:space="preserve">
-        <value>使用各种显示模式、PDF导航、主题、滚动、缩放、搜索、文本重排、分屏视图等工具查看PDF。</value>
-    </data>
-    <data name="FuncDetail_Watermark" xml:space="preserve">
-        <value>创建、插入和删除文字或图像水印,品牌化公司文件阻止未经授权的使用。</value>
-    </data>
-    <data name="Func_Annotations" xml:space="preserve">
-        <value>注释</value>
-    </data>
-    <data name="Func_Compress" xml:space="preserve">
-        <value>压缩</value>
-    </data>
-    <data name="Func_ContentEditor" xml:space="preserve">
-        <value>内容编辑器</value>
-    </data>
-    <data name="Func_Conversion" xml:space="preserve">
-        <value>转档</value>
-    </data>
-    <data name="Func_DocCompare" xml:space="preserve">
-        <value>文档对比</value>
-    </data>
-    <data name="Func_DocEditor" xml:space="preserve">
-        <value>文档编辑器</value>
-    </data>
-    <data name="Func_Forms" xml:space="preserve">
-        <value>表单</value>
-    </data>
-    <data name="Func_Measurement" xml:space="preserve">
-        <value>测量</value>
-    </data>
-    <data name="Func_Redaction" xml:space="preserve">
-        <value>密文标记</value>
-    </data>
-    <data name="Func_Security" xml:space="preserve">
-        <value>安全</value>
-    </data>
-    <data name="Func_Signatures" xml:space="preserve">
-        <value>签名</value>
-    </data>
-    <data name="Func_Viewer" xml:space="preserve">
-        <value>查看器</value>
-    </data>
-    <data name="Func_Watermark" xml:space="preserve">
-        <value>水印</value>
-    </data>
-    <data name="HelpMenu_About" xml:space="preserve">
-        <value>关于 ComPDFKit</value>
-    </data>
-    <data name="HelpMenu_Contact" xml:space="preserve">
-        <value>联系销售</value>
-    </data>
-    <data name="HelpMenu_DeviceID" xml:space="preserve">
-        <value>查看您的开发者设备 ID</value>
-    </data>
-    <data name="HelpMenu_Privacy" xml:space="preserve">
-        <value>隐私协议</value>
-    </data>
-    <data name="HelpMenu_Service" xml:space="preserve">
-        <value>服务条款</value>
-    </data>
-    <data name="HelpMenu_Support" xml:space="preserve">
-        <value>技术支持</value>
-    </data>
-    <data name="Menu_AutoSize" xml:space="preserve">
-        <value>自适应大小</value>
-    </data>
-    <data name="Menu_Copy" xml:space="preserve">
-        <value>复制</value>
-    </data>
-    <data name="Menu_Cut" xml:space="preserve">
-        <value>剪切</value>
-    </data>
-    <data name="Menu_Delete" xml:space="preserve">
-        <value>删除</value>
-    </data>
-    <data name="Menu_DoubleContinuous" xml:space="preserve">
-        <value>双页连续</value>
-    </data>
-    <data name="Menu_DoublePage" xml:space="preserve">
-        <value>双页</value>
-    </data>
-    <data name="Menu_Edit" xml:space="preserve">
-        <value>编辑</value>
-    </data>
-    <data name="Menu_File" xml:space="preserve">
-        <value>文件</value>
-    </data>
-    <data name="Menu_Help" xml:space="preserve">
-        <value>帮助</value>
-    </data>
-    <data name="Menu_Highlight" xml:space="preserve">
-        <value>亮高</value>
-    </data>
-    <data name="Menu_Play" xml:space="preserve">
-        <value>播放</value>
-    </data>
-    <data name="Menu_RealSize" xml:space="preserve">
-        <value>实际大小</value>
-    </data>
-    <data name="Menu_Sign" xml:space="preserve">
-        <value>签名</value>
-    </data>
-    <data name="Menu_SingleContinuous" xml:space="preserve">
-        <value>单页连续</value>
-    </data>
-    <data name="Menu_SinglePage" xml:space="preserve">
-        <value>单页</value>
-    </data>
-    <data name="Menu_Squiggly" xml:space="preserve">
-        <value>波浪线</value>
-    </data>
-    <data name="Menu_Strikeout" xml:space="preserve">
-        <value>删除线</value>
-    </data>
-    <data name="Menu_Underline" xml:space="preserve">
-        <value>下划线</value>
-    </data>
-    <data name="Menu_ZoomIn" xml:space="preserve">
-        <value>放大</value>
-    </data>
-    <data name="Menu_ZoomOut" xml:space="preserve">
-        <value>缩小</value>
-    </data>
-    <data name="Option_A3" xml:space="preserve">
-        <value>A3(297cm x 420mm)</value>
-    </data>
-    <data name="Option_A4" xml:space="preserve">
-        <value>A4(210cm x 297mm)</value>
-    </data>
-    <data name="Option_A5" xml:space="preserve">
-        <value>A5(148cm x 210mm)</value>
-    </data>
-    <data name="Option_Landscape" xml:space="preserve">
-        <value>横向</value>
-    </data>
-    <data name="Option_Portrait" xml:space="preserve">
-        <value>纵向</value>
-    </data>
-    <data name="Subtitle_Orientation" xml:space="preserve">
-        <value>页面方向</value>
-    </data>
-    <data name="Subtitle_PageSize" xml:space="preserve">
-        <value>页面大小</value>
-    </data>
-    <data name="Text_Page" xml:space="preserve">
-        <value>页码 </value>
-    </data>
-    <data name="Tip_Encrypted" xml:space="preserve">
-        <value>文件已加密!</value>
-    </data>
-    <data name="Tip_Password" xml:space="preserve">
-        <value>请输入密码</value>
-    </data>
-    <data name="Tip_WrongPassword" xml:space="preserve">
-        <value>密码错误</value>
-    </data>
-    <data name="Title_NewFile" xml:space="preserve">
-        <value>新建</value>
-    </data>
-    <data name="Title_Password" xml:space="preserve">
-        <value>输入密码以查看文档</value>
-    </data>
-    <data name="Title_QuickStart" xml:space="preserve">
-        <value>点击打开 &amp; 处理文档</value>
-    </data>
-    <data name="Tooltip_Open" xml:space="preserve">
-        <value>打开文件</value>
-    </data>
-    <data name="Tooltip_Redo" xml:space="preserve">
-        <value>重做</value>
-    </data>
-    <data name="Tooltip_Save" xml:space="preserve">
-        <value>保存</value>
-    </data>
-    <data name="Tooltip_Undo" xml:space="preserve">
-        <value>撤销</value>
-    </data>
-    <data name="Zoom_FitPage" xml:space="preserve">
-        <value>适合页面</value>
-    </data>
-    <data name="Zoom_FitWidth" xml:space="preserve">
-        <value>适合宽度</value>
-    </data>
-    <data name="Zoom_Real" xml:space="preserve">
-        <value>实际大小</value>
-    </data>
-    <data name="Tooltip_Panel" xml:space="preserve">
-        <value>侧边栏</value>
-    </data>
-    <data name="Tooltip_ZoomIn" xml:space="preserve">
-        <value>放大</value>
-    </data>
-    <data name="Tooltip_ZoomOut" xml:space="preserve">
-        <value>缩小</value>
-    </data>
-    <data name="Tooltip_Next" xml:space="preserve">
-        <value>下一页</value>
-    </data>
-    <data name="Tooltip_Previous" xml:space="preserve">
-        <value>上一页</value>
-    </data>
-    <data name="Tooltip_Search" xml:space="preserve">
-        <value>搜索</value>
-    </data>
-    <data name="Tooltip_Display" xml:space="preserve">
-        <value>页面显示</value>
-    </data>
-    <data name="Tooltip_DocInfo" xml:space="preserve">
-        <value>文档信息</value>
-    </data>
-    <data name="Title_Display" xml:space="preserve">
-        <value>预览设置</value>
-    </data>
-    <data name="Title_DisplayMode" xml:space="preserve">
-        <value>显示模式</value>
-    </data>
-    <data name="Tooltip_SinglePage" xml:space="preserve">
-        <value>单页</value>
-    </data>
-    <data name="Tooltip_DoublePage" xml:space="preserve">
-        <value>双页</value>
-    </data>
-    <data name="Tooltip_CoverMode" xml:space="preserve">
-        <value>书本模式</value>
-    </data>
-    <data name="Toggle_Continuous" xml:space="preserve">
-        <value>连续滚动</value>
-    </data>
-    <data name="Toggle_Crop" xml:space="preserve">
-        <value>裁剪模式</value>
-    </data>
-    <data name="Title_SplitView" xml:space="preserve">
-        <value>分屏视图</value>
-    </data>
-    <data name="Tooltip_Vertical" xml:space="preserve">
-        <value>垂直</value>
-    </data>
-    <data name="Tooltip_Horizontal" xml:space="preserve">
-        <value>水平</value>
-    </data>
-    <data name="Title_Themes" xml:space="preserve">
-        <value>主题</value>
-    </data>
-    <data name="Tooltip_Light" xml:space="preserve">
-        <value>日间模式</value>
-    </data>
-    <data name="Tooltip_Dark" xml:space="preserve">
-        <value>夜间模式</value>
-    </data>
-    <data name="Tooltip_Sepia" xml:space="preserve">
-        <value>柔和模式</value>
-    </data>
-    <data name="Tooltip_Reseda" xml:space="preserve">
-        <value>护眼模式</value>
-    </data>
-    <data name="temp" xml:space="preserve">
-        <value>护眼模式</value>
-    </data>
-    <data name="Tooltip_Prop" xml:space="preserve">
-        <value>属性</value>
-    </data>
-    <data name="Menu_Paste" xml:space="preserve">
-        <value>粘贴</value>
-    </data>
-    <data name="Menu_Reset" xml:space="preserve">
-        <value>重置表单</value>
-    </data>
-    <data name="Menu_MatchPaste" xml:space="preserve">
-        <value>带样式粘贴</value>
-    </data>
-    <data name="Menu_RotateLeft" xml:space="preserve">
-        <value>左旋转</value>
-    </data>
-    <data name="Menu_RotateRight" xml:space="preserve">
-        <value>右旋转</value>
-    </data>
-    <data name="Title_Preview" xml:space="preserve">
-        <value>预览</value>
-    </data>
-    <data name="Text_Tile" xml:space="preserve">
-        <value>平铺</value>
-    </data>
-    <data name="Option_AllPage" xml:space="preserve">
-        <value>全部页面</value>
-    </data>
+  <!-- 
+    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="Button_Cancel" xml:space="preserve">
+    <value>取消</value>
+  </data>
+  <data name="Button_Create" xml:space="preserve">
+    <value>新建</value>
+  </data>
+  <data name="Button_OK" xml:space="preserve">
+    <value>确定</value>
+  </data>
+  <data name="Button_Open" xml:space="preserve">
+    <value>打开文档</value>
+  </data>
+  <data name="Button_Save" xml:space="preserve">
+    <value>保存</value>
+  </data>
+  <data name="FileMenu_Open" xml:space="preserve">
+    <value>打开文档</value>
+  </data>
+  <data name="FileMenu_Save" xml:space="preserve">
+    <value>保存</value>
+  </data>
+  <data name="FileMenu_SaveAs" xml:space="preserve">
+    <value>另存为</value>
+  </data>
+  <data name="FuncDetail_Annotations" xml:space="preserve">
+    <value>使用便签、链接、文本、线、矩形、箭头、圆、高亮、下划线、波浪线、删除线、图章、手绘、签名、录音等在PDF上添加注释和标记。支持创建、删除、编辑、导入、导出以及展平PDF注释。</value>
+  </data>
+  <data name="FuncDetail_Compress" xml:space="preserve">
+    <value>通过压缩来优化您的PDF文件,减小PDF文档大小,且无视觉质量损失。</value>
+  </data>
+  <data name="FuncDetail_ContentEditor" xml:space="preserve">
+    <value>使用ComPDFKit内容编辑器编辑PDF文本和图片。您可以自由调整大小、位置、样式、字体等。</value>
+  </data>
+  <data name="FuncDetail_Conversion" xml:space="preserve">
+    <value>将PDF转换为PDF/A。ComPDFKit还支持PDF文件与Word、Excel、PPT、PNG、JPG、HTML、TXT、CSV、RTF等格式的相互转换。</value>
+  </data>
+  <data name="FuncDetail_DocCompare" xml:space="preserve">
+    <value>允许通过内容对比和覆盖对比,对PDF文件和设计图纸进行比较。支持设置文件预览色进行对比、选择展示差异的方式等。</value>
+  </data>
+  <data name="FuncDetail_DocEditor" xml:space="preserve">
+    <value>处理PDF页面和文件。添加、插入、替换、提取、倒序、移动、复制、粘贴、旋转、删除、裁剪、缩放等。</value>
+  </data>
+  <data name="FuncDetail_Forms" xml:space="preserve">
+    <value>使用文本域、复选框、单选按钮、列表框、下拉菜单、按钮和签名等多种PDF表单域创建表单。支持创建、删除、编辑、填写、展平,导入或导出表单。</value>
+  </data>
+  <data name="FuncDetail_Measurement" xml:space="preserve">
+    <value>创建和编辑距离、周长、面积、角度、直径、半径和体积测量注释。且支持改变测量注释的比例和精度。</value>
+  </data>
+  <data name="FuncDetail_Redaction" xml:space="preserve">
+    <value>使用密文标记功能删除敏感图像、文本和矢量图形等信息,一旦应用无法恢复被标记的数据。通过选择区域或搜索特定文本进行标记,支持编辑标记的样式。</value>
+  </data>
+  <data name="FuncDetail_Security" xml:space="preserve">
+    <value>支持AES-128、AES-256或RC4加密保护您的文档F。允许加密、解密、和自定义权限、页眉和页脚、背景、贝茨码等。</value>
+  </data>
+  <data name="FuncDetail_Signatures" xml:space="preserve">
+    <value>用数字签名或电子签名签署PDF文件。可以选择绘制类、图片类,或输入签名的方式轻松签署文件。或使用您的数字ID安全地进行文档签署。</value>
+  </data>
+  <data name="FuncDetail_Viewer" xml:space="preserve">
+    <value>使用各种显示模式、PDF导航、主题、滚动、缩放、搜索、文本重排、分屏视图等工具查看PDF。</value>
+  </data>
+  <data name="FuncDetail_Watermark" xml:space="preserve">
+    <value>创建、插入和删除文字或图像水印,品牌化公司文件阻止未经授权的使用。</value>
+  </data>
+  <data name="Func_Annotations" xml:space="preserve">
+    <value>注释</value>
+  </data>
+  <data name="Func_Compress" xml:space="preserve">
+    <value>压缩</value>
+  </data>
+  <data name="Func_ContentEditor" xml:space="preserve">
+    <value>内容编辑器</value>
+  </data>
+  <data name="Func_Conversion" xml:space="preserve">
+    <value>转档</value>
+  </data>
+  <data name="Func_DocCompare" xml:space="preserve">
+    <value>文档对比</value>
+  </data>
+  <data name="Func_DocEditor" xml:space="preserve">
+    <value>文档编辑器</value>
+  </data>
+  <data name="Func_Forms" xml:space="preserve">
+    <value>表单</value>
+  </data>
+  <data name="Func_Measurement" xml:space="preserve">
+    <value>测量</value>
+  </data>
+  <data name="Func_Redaction" xml:space="preserve">
+    <value>密文标记</value>
+  </data>
+  <data name="Func_Security" xml:space="preserve">
+    <value>安全</value>
+  </data>
+  <data name="Func_Signatures" xml:space="preserve">
+    <value>签名</value>
+  </data>
+  <data name="Func_Viewer" xml:space="preserve">
+    <value>查看器</value>
+  </data>
+  <data name="Func_Watermark" xml:space="preserve">
+    <value>水印</value>
+  </data>
+  <data name="HelpMenu_About" xml:space="preserve">
+    <value>关于 ComPDFKit</value>
+  </data>
+  <data name="HelpMenu_Contact" xml:space="preserve">
+    <value>联系销售</value>
+  </data>
+  <data name="HelpMenu_DeviceID" xml:space="preserve">
+    <value>查看您的开发者设备 ID</value>
+  </data>
+  <data name="HelpMenu_Privacy" xml:space="preserve">
+    <value>隐私协议</value>
+  </data>
+  <data name="HelpMenu_Service" xml:space="preserve">
+    <value>服务条款</value>
+  </data>
+  <data name="HelpMenu_Support" xml:space="preserve">
+    <value>技术支持</value>
+  </data>
+  <data name="Menu_AutoSize" xml:space="preserve">
+    <value>自适应大小</value>
+  </data>
+  <data name="Menu_Copy" xml:space="preserve">
+    <value>复制</value>
+  </data>
+  <data name="Menu_Cut" xml:space="preserve">
+    <value>剪切</value>
+  </data>
+  <data name="Menu_Delete" xml:space="preserve">
+    <value>删除</value>
+  </data>
+  <data name="Menu_DoubleContinuous" xml:space="preserve">
+    <value>双页连续</value>
+  </data>
+  <data name="Menu_DoublePage" xml:space="preserve">
+    <value>双页</value>
+  </data>
+  <data name="Menu_Edit" xml:space="preserve">
+    <value>编辑</value>
+  </data>
+  <data name="Menu_File" xml:space="preserve">
+    <value>文件</value>
+  </data>
+  <data name="Menu_Help" xml:space="preserve">
+    <value>帮助</value>
+  </data>
+  <data name="Menu_Highlight" xml:space="preserve">
+    <value>亮高</value>
+  </data>
+  <data name="Menu_Play" xml:space="preserve">
+    <value>播放</value>
+  </data>
+  <data name="Menu_RealSize" xml:space="preserve">
+    <value>实际大小</value>
+  </data>
+  <data name="Menu_Sign" xml:space="preserve">
+    <value>签名</value>
+  </data>
+  <data name="Menu_SingleContinuous" xml:space="preserve">
+    <value>单页连续</value>
+  </data>
+  <data name="Menu_SinglePage" xml:space="preserve">
+    <value>单页</value>
+  </data>
+  <data name="Menu_Squiggly" xml:space="preserve">
+    <value>波浪线</value>
+  </data>
+  <data name="Menu_Strikeout" xml:space="preserve">
+    <value>删除线</value>
+  </data>
+  <data name="Menu_Underline" xml:space="preserve">
+    <value>下划线</value>
+  </data>
+  <data name="Menu_ZoomIn" xml:space="preserve">
+    <value>放大</value>
+  </data>
+  <data name="Menu_ZoomOut" xml:space="preserve">
+    <value>缩小</value>
+  </data>
+  <data name="Option_A3" xml:space="preserve">
+    <value>A3(297cm x 420mm)</value>
+  </data>
+  <data name="Option_A4" xml:space="preserve">
+    <value>A4(210cm x 297mm)</value>
+  </data>
+  <data name="Option_A5" xml:space="preserve">
+    <value>A5(148cm x 210mm)</value>
+  </data>
+  <data name="Option_Landscape" xml:space="preserve">
+    <value>横向</value>
+  </data>
+  <data name="Option_Portrait" xml:space="preserve">
+    <value>纵向</value>
+  </data>
+  <data name="Subtitle_Orientation" xml:space="preserve">
+    <value>页面方向</value>
+  </data>
+  <data name="Subtitle_PageSize" xml:space="preserve">
+    <value>页面大小</value>
+  </data>
+  <data name="Text_Page" xml:space="preserve">
+    <value>页码 </value>
+  </data>
+  <data name="Tip_Encrypted" xml:space="preserve">
+    <value>文件已加密!</value>
+  </data>
+  <data name="Tip_Password" xml:space="preserve">
+    <value>请输入密码</value>
+  </data>
+  <data name="Tip_WrongPassword" xml:space="preserve">
+    <value>密码错误</value>
+  </data>
+  <data name="Title_NewFile" xml:space="preserve">
+    <value>新建</value>
+  </data>
+  <data name="Title_Password" xml:space="preserve">
+    <value>输入密码以查看文档</value>
+  </data>
+  <data name="Title_QuickStart" xml:space="preserve">
+    <value>点击打开 &amp; 处理文档</value>
+  </data>
+  <data name="Tooltip_Open" xml:space="preserve">
+    <value>打开文件</value>
+  </data>
+  <data name="Tooltip_Redo" xml:space="preserve">
+    <value>重做</value>
+  </data>
+  <data name="Tooltip_Save" xml:space="preserve">
+    <value>保存</value>
+  </data>
+  <data name="Tooltip_Undo" xml:space="preserve">
+    <value>撤销</value>
+  </data>
+  <data name="Zoom_FitPage" xml:space="preserve">
+    <value>适合页面</value>
+  </data>
+  <data name="Zoom_FitWidth" xml:space="preserve">
+    <value>适合宽度</value>
+  </data>
+  <data name="Zoom_Real" xml:space="preserve">
+    <value>实际大小</value>
+  </data>
+  <data name="Tooltip_Panel" xml:space="preserve">
+    <value>侧边栏</value>
+  </data>
+  <data name="Tooltip_ZoomIn" xml:space="preserve">
+    <value>放大</value>
+  </data>
+  <data name="Tooltip_ZoomOut" xml:space="preserve">
+    <value>缩小</value>
+  </data>
+  <data name="Tooltip_Next" xml:space="preserve">
+    <value>下一页</value>
+  </data>
+  <data name="Tooltip_Previous" xml:space="preserve">
+    <value>上一页</value>
+  </data>
+  <data name="Tooltip_Search" xml:space="preserve">
+    <value>搜索</value>
+  </data>
+  <data name="Tooltip_Display" xml:space="preserve">
+    <value>页面显示</value>
+  </data>
+  <data name="Tooltip_DocInfo" xml:space="preserve">
+    <value>文档信息</value>
+  </data>
+  <data name="Title_Display" xml:space="preserve">
+    <value>预览设置</value>
+  </data>
+  <data name="Title_DisplayMode" xml:space="preserve">
+    <value>显示模式</value>
+  </data>
+  <data name="Tooltip_SinglePage" xml:space="preserve">
+    <value>单页</value>
+  </data>
+  <data name="Tooltip_DoublePage" xml:space="preserve">
+    <value>双页</value>
+  </data>
+  <data name="Tooltip_CoverMode" xml:space="preserve">
+    <value>书本模式</value>
+  </data>
+  <data name="Toggle_Continuous" xml:space="preserve">
+    <value>连续滚动</value>
+  </data>
+  <data name="Toggle_Crop" xml:space="preserve">
+    <value>裁剪模式</value>
+  </data>
+  <data name="Title_SplitView" xml:space="preserve">
+    <value>分屏视图</value>
+  </data>
+  <data name="Tooltip_Vertical" xml:space="preserve">
+    <value>垂直</value>
+  </data>
+  <data name="Tooltip_Horizontal" xml:space="preserve">
+    <value>水平</value>
+  </data>
+  <data name="Title_Themes" xml:space="preserve">
+    <value>主题</value>
+  </data>
+  <data name="Tooltip_Light" xml:space="preserve">
+    <value>日间模式</value>
+  </data>
+  <data name="Tooltip_Dark" xml:space="preserve">
+    <value>夜间模式</value>
+  </data>
+  <data name="Tooltip_Sepia" xml:space="preserve">
+    <value>柔和模式</value>
+  </data>
+  <data name="Tooltip_Reseda" xml:space="preserve">
+    <value>护眼模式</value>
+  </data>
+  <data name="temp" xml:space="preserve">
+    <value>护眼模式</value>
+  </data>
+  <data name="Tooltip_Prop" xml:space="preserve">
+    <value>属性</value>
+  </data>
+  <data name="Menu_Paste" xml:space="preserve">
+    <value>粘贴</value>
+  </data>
+  <data name="Menu_Reset" xml:space="preserve">
+    <value>重置表单</value>
+  </data>
+  <data name="Menu_MatchPaste" xml:space="preserve">
+    <value>带样式粘贴</value>
+  </data>
+  <data name="Menu_RotateLeft" xml:space="preserve">
+    <value>左旋转</value>
+  </data>
+  <data name="Menu_RotateRight" xml:space="preserve">
+    <value>右旋转</value>
+  </data>
+  <data name="Title_Preview" xml:space="preserve">
+    <value>预览</value>
+  </data>
+  <data name="Text_Tile" xml:space="preserve">
+    <value>平铺</value>
+  </data>
+  <data name="Option_AllPage" xml:space="preserve">
+    <value>全部页面</value>
+  </data>
+  <data name="Property_Progress" xml:space="preserve">
+    <value>进度</value>
+  </data>
+  <data name="Chk_Tile" xml:space="preserve">
+    <value>平铺</value>
+  </data>
+  <data name="Option_CustomPages" xml:space="preserve">
+    <value>自定义页面</value>
+  </data>
+  <data name="Option_EvenPages" xml:space="preserve">
+    <value>仅偶数页</value>
+  </data>
+  <data name="Option_OddPages" xml:space="preserve">
+    <value>仅奇数页</value>
+  </data>
 </root>

+ 63 - 0
Demo/Examples/Compdfkit_Tools/Strings/DocumentEditor.Designer.cs

@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <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 Compdfkit_Tools.Strings {
+    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", "17.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class DocumentEditor {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal DocumentEditor() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Compdfkit_Tools.Strings.DocumentEditor", typeof(DocumentEditor).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)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+    }
+}

+ 101 - 0
Demo/Examples/Compdfkit_Tools/Strings/DocumentEditor.resx

@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+	<!-- 
+		Microsoft ResX Schema
+
+		Version 1.3
+
+		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">1.3</resheader>
+		<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+		<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+		<data name="Name1">this is my long string</data>
+		<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+		<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+			[base64 mime encoded serialized .NET Framework object]
+		</data>
+		<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+			[base64 mime encoded string representing a byte array form of the .NET Framework object]
+		</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.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:element name="root" msdata:IsDataSet="true">
+			<xsd:complexType>
+				<xsd:choice maxOccurs="unbounded">
+					<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" msdata:Ordinal="1" />
+							<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+							<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+						</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>1.3</value>
+	</resheader>
+	<resheader name="reader">
+		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+	<resheader name="writer">
+		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+</root>

+ 57 - 2
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.Designer.cs

@@ -1,13 +1,14 @@
 //------------------------------------------------------------------------------
 // <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 Compdfkit_Tools.Strings.Common {
+namespace Compdfkit_Tools.Strings {
     using System;
     
     
@@ -18,7 +19,7 @@ namespace Compdfkit_Tools.Strings.Common {
     // 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", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class PropertyPanel {
@@ -167,6 +168,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Left.
+        /// </summary>
+        internal static string Button_Left {
+            get {
+                return ResourceManager.GetString("Button_Left", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to New Signature.
         /// </summary>
@@ -185,6 +195,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Right.
+        /// </summary>
+        internal static string Button_Right {
+            get {
+                return ResourceManager.GetString("Button_Right", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Save.
         /// </summary>
@@ -572,6 +591,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Flip.
+        /// </summary>
+        internal static string Property_Flip {
+            get {
+                return ResourceManager.GetString("Property_Flip", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Font.
         /// </summary>
@@ -662,6 +690,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Rotate.
+        /// </summary>
+        internal static string Property_Rotate {
+            get {
+                return ResourceManager.GetString("Property_Rotate", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Start.
         /// </summary>
@@ -680,6 +717,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Tools.
+        /// </summary>
+        internal static string Property_Tool {
+            get {
+                return ResourceManager.GetString("Property_Tool", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Form Field.
         /// </summary>
@@ -1004,6 +1050,15 @@ namespace Compdfkit_Tools.Strings.Common {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Image Properties.
+        /// </summary>
+        internal static string Title_ImageProperty {
+            get {
+                return ResourceManager.GetString("Title_ImageProperty", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Ink.
         /// </summary>

+ 507 - 390
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.resx

@@ -1,393 +1,510 @@
 <?xml version="1.0" encoding="utf-8"?>
-
 <root>
-    <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-        <xsd:element name="root" msdata:IsDataSet="true">
-            
-        </xsd:element>
-    </xsd:schema>
-    <resheader name="resmimetype">
-        <value>text/microsoft-resx</value>
-    </resheader>
-    <resheader name="version">
-        <value>1.3</value>
-    </resheader>
-    <resheader name="reader">
-        <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <resheader name="writer">
-        <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <data name="Text_EmptyPanel" xml:space="preserve">
-        <value>The property panel is empty</value>
-    </data>
-    <data name="Title_Highlight" xml:space="preserve">
-        <value>Highlight</value>
-    </data>
-    <data name="Title_Underline" xml:space="preserve">
-        <value>Underline</value>
-    </data>
-    <data name="Title_Strikeout" xml:space="preserve">
-        <value>Strikeout</value>
-    </data>
-    <data name="Title_Squiggly" xml:space="preserve">
-        <value>Squiggly</value>
-    </data>
-    <data name="Property_Color" xml:space="preserve">
-        <value>Color</value>
-    </data>
-    <data name="Property_Opacity" xml:space="preserve">
-        <value>Opacity</value>
-    </data>
-    <data name="Property_Note" xml:space="preserve">
-        <value>Note</value>
-    </data>
-    <data name="Title_Square" xml:space="preserve">
-        <value>Square</value>
-    </data>
-    <data name="Title_Circle" xml:space="preserve">
-        <value>Circle</value>
-    </data>
-    <data name="Property_StrokeColor" xml:space="preserve">
-        <value>Stroke Color</value>
-    </data>
-    <data name="Property_FillColor" xml:space="preserve">
-        <value>Fill Color</value>
-    </data>
-    <data name="Property_LineWidth" xml:space="preserve">
-        <value>Line Width</value>
-    </data>
-    <data name="Property_LineStyle" xml:space="preserve">
-        <value>Line and Border Style</value>
-    </data>
-    <data name="Title_Line" xml:space="preserve">
-        <value>Line</value>
-    </data>
-    <data name="Title_Arrow" xml:space="preserve">
-        <value>Arrow</value>
-    </data>
-    <data name="Property_Start" xml:space="preserve">
-        <value>Start</value>
-    </data>
-    <data name="Property_End" xml:space="preserve">
-        <value>End</value>
-    </data>
-    <data name="Title_Ink" xml:space="preserve">
-        <value>Ink</value>
-    </data>
-    <data name="Title_FreeText" xml:space="preserve">
-        <value>FreeText</value>
-    </data>
-    <data name="Property_FontColor" xml:space="preserve">
-        <value>Font Color</value>
-    </data>
-    <data name="Property_FontStyle" xml:space="preserve">
-        <value>Font Style</value>
-    </data>
-    <data name="Property_Alignment" xml:space="preserve">
-        <value>Alignment</value>
-    </data>
-    <data name="Alignment_Left" xml:space="preserve">
-        <value>Left</value>
-    </data>
-    <data name="Alignment_Center" xml:space="preserve">
-        <value>Center</value>
-    </data>
-    <data name="Alignment_Right" xml:space="preserve">
-        <value>Right</value>
-    </data>
-    <data name="Property_FontSize" xml:space="preserve">
-        <value>Font Size</value>
-    </data>
-    <data name="LinkType_Jump" xml:space="preserve">
-        <value>Go To Pages</value>
-    </data>
-    <data name="Jump_Page" xml:space="preserve">
-        <value>Page Number</value>
-    </data>
-    <data name="Holder_Jump" xml:space="preserve">
-        <value>Add a Page Number Between 1 ~</value>
-    </data>
-    <data name="LinkType_URL" xml:space="preserve">
-        <value>URL</value>
-    </data>
-    <data name="Holder_URL" xml:space="preserve">
-        <value>https://www.compdf.com/</value>
-    </data>
-    <data name="LinkType_Email" xml:space="preserve">
-        <value>Email</value>
-    </data>
-    <data name="Holder_Email" xml:space="preserve">
-        <value>support@compdf.com</value>
-    </data>
-    <data name="Title_Sig" xml:space="preserve">
-        <value>Signatures</value>
-    </data>
-    <data name="Button_NewSig" xml:space="preserve">
-        <value>New Signature</value>
-    </data>
-    <data name="Button_Clear" xml:space="preserve">
-        <value>Clear</value>
-    </data>
-    <data name="Button_Save" xml:space="preserve">
-        <value>Save</value>
-    </data>
-    <data name="Button_Trackpad" xml:space="preserve">
-        <value>Trackpad</value>
-    </data>
-    <data name="Button_Keyboard" xml:space="preserve">
-        <value>Keyboard</value>
-    </data>
-    <data name="Setting_Font" xml:space="preserve">
-        <value>Font</value>
-    </data>
-    <data name="Button_Image" xml:space="preserve">
-        <value>Image</value>
-    </data>
-    <data name="Text_DropImage" xml:space="preserve">
-        <value>Drop Image here or</value>
-    </data>
-    <data name="Link_SelectFile" xml:space="preserve">
-        <value>Select a File</value>
-    </data>
-    <data name="Title_Warning" xml:space="preserve">
-        <value>Warning</value>
-    </data>
-    <data name="Tip_Delete" xml:space="preserve">
-        <value>Are you sure to delete?</value>
-    </data>
-    <data name="Title_Stamp" xml:space="preserve">
-        <value>Stamp</value>
-    </data>
-    <data name="Stamp_Standard" xml:space="preserve">
-        <value>Standard</value>
-    </data>
-    <data name="Stamp_Custom" xml:space="preserve">
-        <value>Custom</value>
-    </data>
-    <data name="Custom_Text" xml:space="preserve">
-        <value>Text Stamp</value>
-    </data>
-    <data name="Custom_Image" xml:space="preserve">
-        <value>Image Stamp</value>
-    </data>
-    <data name="Preview_Text" xml:space="preserve">
-        <value>Text</value>
-    </data>
-    <data name="Stamp_Template" xml:space="preserve">
-        <value>Stamp Template</value>
-    </data>
-    <data name="Stamp_Style" xml:space="preserve">
-        <value>Style</value>
-    </data>
-    <data name="Stamp_Text" xml:space="preserve">
-        <value>Text</value>
-    </data>
-    <data name="Stamp_Color" xml:space="preserve">
-        <value>Color</value>
-    </data>
-    <data name="Check_Date" xml:space="preserve">
-        <value>Date(YYYY-MM-dd)</value>
-    </data>
-    <data name="Check_Time" xml:space="preserve">
-        <value>Time(HH:mm:ss)</value>
-    </data>
-    <data name="Button_OK" xml:space="preserve">
-        <value>OK</value>
-    </data>
-    <data name="Title_General" xml:space="preserve">
-        <value>General</value>
-    </data>
-    <data name="Title_Appearance" xml:space="preserve">
-        <value>Appearance</value>
-    </data>
-    <data name="Title_Preferences" xml:space="preserve">
-        <value>Preferences</value>
-    </data>
-    <data name="Title_TextField" xml:space="preserve">
-        <value>Text Field</value>
-    </data>
-    <data name="Property_Name" xml:space="preserve">
-        <value>Name</value>
-    </data>
-    <data name="Holder_TextField" xml:space="preserve">
-        <value>Text Field 1</value>
-    </data>
-    <data name="Property_Visibility" xml:space="preserve">
-        <value>Form Field</value>
-    </data>
-    <data name="Option_Visible" xml:space="preserve">
-        <value>Visible</value>
-    </data>
-    <data name="Option_Hidden" xml:space="preserve">
-        <value>Hidden</value>
-    </data>
-    <data name="Option_Print" xml:space="preserve">
-        <value>Hidden but printable</value>
-    </data>
-    <data name="Option_NoPrint" xml:space="preserve">
-        <value>Visible but doesn't print</value>
-    </data>
-    <data name="Property_BgColor" xml:space="preserve">
-        <value>Background Color</value>
-    </data>
-    <data name="Property_Font" xml:space="preserve">
-        <value>Font</value>
-    </data>
-    <data name="Font_Regular" xml:space="preserve">
-        <value>Regular</value>
-    </data>
-    <data name="Font_Oblique" xml:space="preserve">
-        <value>Oblique</value>
-    </data>
-    <data name="Font_Light" xml:space="preserve">
-        <value>Light</value>
-    </data>
-    <data name="Font_LightOblique" xml:space="preserve">
-        <value>Light Oblique</value>
-    </data>
-    <data name="Font_Bold" xml:space="preserve">
-        <value>Bold</value>
-    </data>
-    <data name="Font_BoldOblique" xml:space="preserve">
-        <value>Bold Oblique</value>
-    </data>
-    <data name="Property_DefaultValue" xml:space="preserve">
-        <value>Default Value</value>
-    </data>
-    <data name="Property_MultiLine" xml:space="preserve">
-        <value>Multi-line</value>
-    </data>
-    <data name="Title_Chb" xml:space="preserve">
-        <value>Check Box</value>
-    </data>
-    <data name="Holder_Chb" xml:space="preserve">
-        <value>Check Box_2023-05-30 11:32:26</value>
-    </data>
-    <data name="Check_Style" xml:space="preserve">
-        <value>Button Style</value>
-    </data>
-    <data name="Style_Check" xml:space="preserve">
-        <value>Check</value>
-    </data>
-    <data name="Style_Circle" xml:space="preserve">
-        <value>Circle</value>
-    </data>
-    <data name="Style_Cross" xml:space="preserve">
-        <value>Cross</value>
-    </data>
-    <data name="Style_Diamond" xml:space="preserve">
-        <value>Diamond</value>
-    </data>
-    <data name="Style_Square" xml:space="preserve">
-        <value>Square</value>
-    </data>
-    <data name="Style_Star" xml:space="preserve">
-        <value>Star</value>
-    </data>
-    <data name="Style_Default" xml:space="preserve">
-        <value>Button is checked by default</value>
-    </data>
-    <data name="Title_Rdo" xml:space="preserve">
-        <value>Radio Button</value>
-    </data>
-    <data name="Holder_Rdo" xml:space="preserve">
-        <value>Group 1</value>
-    </data>
-    <data name="Warn_SingleRdo" xml:space="preserve">
-        <value>Only 1 button is in the group. At least 2 buttons are needed in a group.</value>
-    </data>
-    <data name="Tip_SingleRdo" xml:space="preserve">
-        <value>To create a set of mutually exclusive radio buttons (i.e., where only one can be selected at a time), please give the fields the same name to let buttons in one group.</value>
-    </data>
-    <data name="Title_ListBox" xml:space="preserve">
-        <value>List Box</value>
-    </data>
-    <data name="Holder_ListBox" xml:space="preserve">
-        <value>List Box 1</value>
-    </data>
-    <data name="Title_Item" xml:space="preserve">
-        <value>Item</value>
-    </data>
-    <data name="Title_ItemList" xml:space="preserve">
-        <value>Item List</value>
-    </data>
-    <data name="Title_Cmb" xml:space="preserve">
-        <value>Combo Button</value>
-    </data>
-    <data name="Holder_Cmb" xml:space="preserve">
-        <value>Combo Button_1</value>
-    </data>
-    <data name="Title_Btn" xml:space="preserve">
-        <value>Push Button</value>
-    </data>
-    <data name="Holder_Btn" xml:space="preserve">
-        <value>Button 1</value>
-    </data>
-    <data name="Title_BtnContent" xml:space="preserve">
-        <value>Item</value>
-    </data>
-    <data name="Holder_BtnContent" xml:space="preserve">
-        <value>Push Button</value>
-    </data>
-    <data name="Btn_Action" xml:space="preserve">
-        <value>Select Action</value>
-    </data>
-    <data name="Action_None" xml:space="preserve">
-        <value>None</value>
-    </data>
-    <data name="Action_Jump" xml:space="preserve">
-        <value>Go To Pages</value>
-    </data>
-    <data name="Action_Link" xml:space="preserve">
-        <value>Open a Web Link</value>
-    </data>
-    <data name="Btn_SelectAtction" xml:space="preserve">
-        <value>Select Action</value>
-    </data>
-    <data name="Title_TextProperty" xml:space="preserve">
-        <value>Text Properties</value>
-    </data>
-    <data name="Title_Note" xml:space="preserve">
-        <value>Note</value>
-    </data>
-    <data name="Preview_Image" xml:space="preserve">
-        <value>Image</value>
-    </data>
-    <data name="Title_Preview" xml:space="preserve">
-        <value>Preview</value>
-    </data>
-    <data name="Button_Cancel" xml:space="preserve">
-        <value>Cancel</value>
-    </data>
-    <data name="Style_General" xml:space="preserve">
-        <value>General Style</value>
-    </data>
-    <data name="Rec_Green" xml:space="preserve">
-        <value>Rectangle (green)</value>
-    </data>
-    <data name="Rec_Blue" xml:space="preserve">
-        <value>Rectangle (blue)</value>
-    </data>
-    <data name="Rec_Red" xml:space="preserve">
-        <value>Rectangle (red)</value>
-    </data>
-    <data name="Left_Green" xml:space="preserve">
-        <value>Left arrow (green)</value>
-    </data>
-    <data name="Left_Blue" xml:space="preserve">
-        <value>Left arrow (blue)</value>
-    </data>
-    <data name="Left_Red" xml:space="preserve">
-        <value>Left arrow (red)</value>
-    </data>
-    <data name="Right_Green" xml:space="preserve">
-        <value>Right arrow (green)</value>
-    </data>
-    <data name="Right_Red" xml:space="preserve">
-        <value>Right arrow (red)</value>
-    </data>
-    <data name="Right_Blue" xml:space="preserve">
-        <value>Right arrow (blue)</value>
-    </data>
+  <!-- 
+    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="Text_EmptyPanel" xml:space="preserve">
+    <value>The property panel is empty</value>
+  </data>
+  <data name="Title_Highlight" xml:space="preserve">
+    <value>Highlight</value>
+  </data>
+  <data name="Title_Underline" xml:space="preserve">
+    <value>Underline</value>
+  </data>
+  <data name="Title_Strikeout" xml:space="preserve">
+    <value>Strikeout</value>
+  </data>
+  <data name="Title_Squiggly" xml:space="preserve">
+    <value>Squiggly</value>
+  </data>
+  <data name="Property_Color" xml:space="preserve">
+    <value>Color</value>
+  </data>
+  <data name="Property_Opacity" xml:space="preserve">
+    <value>Opacity</value>
+  </data>
+  <data name="Property_Note" xml:space="preserve">
+    <value>Note</value>
+  </data>
+  <data name="Title_Square" xml:space="preserve">
+    <value>Square</value>
+  </data>
+  <data name="Title_Circle" xml:space="preserve">
+    <value>Circle</value>
+  </data>
+  <data name="Property_StrokeColor" xml:space="preserve">
+    <value>Stroke Color</value>
+  </data>
+  <data name="Property_FillColor" xml:space="preserve">
+    <value>Fill Color</value>
+  </data>
+  <data name="Property_LineWidth" xml:space="preserve">
+    <value>Line Width</value>
+  </data>
+  <data name="Property_LineStyle" xml:space="preserve">
+    <value>Line and Border Style</value>
+  </data>
+  <data name="Title_Line" xml:space="preserve">
+    <value>Line</value>
+  </data>
+  <data name="Title_Arrow" xml:space="preserve">
+    <value>Arrow</value>
+  </data>
+  <data name="Property_Start" xml:space="preserve">
+    <value>Start</value>
+  </data>
+  <data name="Property_End" xml:space="preserve">
+    <value>End</value>
+  </data>
+  <data name="Title_Ink" xml:space="preserve">
+    <value>Ink</value>
+  </data>
+  <data name="Title_FreeText" xml:space="preserve">
+    <value>FreeText</value>
+  </data>
+  <data name="Property_FontColor" xml:space="preserve">
+    <value>Font Color</value>
+  </data>
+  <data name="Property_FontStyle" xml:space="preserve">
+    <value>Font Style</value>
+  </data>
+  <data name="Property_Alignment" xml:space="preserve">
+    <value>Alignment</value>
+  </data>
+  <data name="Alignment_Left" xml:space="preserve">
+    <value>Left</value>
+  </data>
+  <data name="Alignment_Center" xml:space="preserve">
+    <value>Center</value>
+  </data>
+  <data name="Alignment_Right" xml:space="preserve">
+    <value>Right</value>
+  </data>
+  <data name="Property_FontSize" xml:space="preserve">
+    <value>Font Size</value>
+  </data>
+  <data name="LinkType_Jump" xml:space="preserve">
+    <value>Go To Pages</value>
+  </data>
+  <data name="Jump_Page" xml:space="preserve">
+    <value>Page Number</value>
+  </data>
+  <data name="Holder_Jump" xml:space="preserve">
+    <value>Add a Page Number Between 1 ~</value>
+  </data>
+  <data name="LinkType_URL" xml:space="preserve">
+    <value>URL</value>
+  </data>
+  <data name="Holder_URL" xml:space="preserve">
+    <value>https://www.compdf.com/</value>
+  </data>
+  <data name="LinkType_Email" xml:space="preserve">
+    <value>Email</value>
+  </data>
+  <data name="Holder_Email" xml:space="preserve">
+    <value>support@compdf.com</value>
+  </data>
+  <data name="Title_Sig" xml:space="preserve">
+    <value>Signatures</value>
+  </data>
+  <data name="Button_NewSig" xml:space="preserve">
+    <value>New Signature</value>
+  </data>
+  <data name="Button_Clear" xml:space="preserve">
+    <value>Clear</value>
+  </data>
+  <data name="Button_Save" xml:space="preserve">
+    <value>Save</value>
+  </data>
+  <data name="Button_Trackpad" xml:space="preserve">
+    <value>Trackpad</value>
+  </data>
+  <data name="Button_Keyboard" xml:space="preserve">
+    <value>Keyboard</value>
+  </data>
+  <data name="Setting_Font" xml:space="preserve">
+    <value>Font</value>
+  </data>
+  <data name="Button_Image" xml:space="preserve">
+    <value>Image</value>
+  </data>
+  <data name="Text_DropImage" xml:space="preserve">
+    <value>Drop Image here or</value>
+  </data>
+  <data name="Link_SelectFile" xml:space="preserve">
+    <value>Select a File</value>
+  </data>
+  <data name="Title_Warning" xml:space="preserve">
+    <value>Warning</value>
+  </data>
+  <data name="Tip_Delete" xml:space="preserve">
+    <value>Are you sure to delete?</value>
+  </data>
+  <data name="Title_Stamp" xml:space="preserve">
+    <value>Stamp</value>
+  </data>
+  <data name="Stamp_Standard" xml:space="preserve">
+    <value>Standard</value>
+  </data>
+  <data name="Stamp_Custom" xml:space="preserve">
+    <value>Custom</value>
+  </data>
+  <data name="Custom_Text" xml:space="preserve">
+    <value>Text Stamp</value>
+  </data>
+  <data name="Custom_Image" xml:space="preserve">
+    <value>Image Stamp</value>
+  </data>
+  <data name="Preview_Text" xml:space="preserve">
+    <value>Text</value>
+  </data>
+  <data name="Stamp_Template" xml:space="preserve">
+    <value>Stamp Template</value>
+  </data>
+  <data name="Stamp_Style" xml:space="preserve">
+    <value>Style</value>
+  </data>
+  <data name="Stamp_Text" xml:space="preserve">
+    <value>Text</value>
+  </data>
+  <data name="Stamp_Color" xml:space="preserve">
+    <value>Color</value>
+  </data>
+  <data name="Check_Date" xml:space="preserve">
+    <value>Date(YYYY-MM-dd)</value>
+  </data>
+  <data name="Check_Time" xml:space="preserve">
+    <value>Time(HH:mm:ss)</value>
+  </data>
+  <data name="Button_OK" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="Title_General" xml:space="preserve">
+    <value>General</value>
+  </data>
+  <data name="Title_Appearance" xml:space="preserve">
+    <value>Appearance</value>
+  </data>
+  <data name="Title_Preferences" xml:space="preserve">
+    <value>Preferences</value>
+  </data>
+  <data name="Title_TextField" xml:space="preserve">
+    <value>Text Field</value>
+  </data>
+  <data name="Property_Name" xml:space="preserve">
+    <value>Name</value>
+  </data>
+  <data name="Holder_TextField" xml:space="preserve">
+    <value>Text Field 1</value>
+  </data>
+  <data name="Property_Visibility" xml:space="preserve">
+    <value>Form Field</value>
+  </data>
+  <data name="Option_Visible" xml:space="preserve">
+    <value>Visible</value>
+  </data>
+  <data name="Option_Hidden" xml:space="preserve">
+    <value>Hidden</value>
+  </data>
+  <data name="Option_Print" xml:space="preserve">
+    <value>Hidden but printable</value>
+  </data>
+  <data name="Option_NoPrint" xml:space="preserve">
+    <value>Visible but doesn't print</value>
+  </data>
+  <data name="Property_BgColor" xml:space="preserve">
+    <value>Background Color</value>
+  </data>
+  <data name="Property_Font" xml:space="preserve">
+    <value>Font</value>
+  </data>
+  <data name="Font_Regular" xml:space="preserve">
+    <value>Regular</value>
+  </data>
+  <data name="Font_Oblique" xml:space="preserve">
+    <value>Oblique</value>
+  </data>
+  <data name="Font_Light" xml:space="preserve">
+    <value>Light</value>
+  </data>
+  <data name="Font_LightOblique" xml:space="preserve">
+    <value>Light Oblique</value>
+  </data>
+  <data name="Font_Bold" xml:space="preserve">
+    <value>Bold</value>
+  </data>
+  <data name="Font_BoldOblique" xml:space="preserve">
+    <value>Bold Oblique</value>
+  </data>
+  <data name="Property_DefaultValue" xml:space="preserve">
+    <value>Default Value</value>
+  </data>
+  <data name="Property_MultiLine" xml:space="preserve">
+    <value>Multi-line</value>
+  </data>
+  <data name="Title_Chb" xml:space="preserve">
+    <value>Check Box</value>
+  </data>
+  <data name="Holder_Chb" xml:space="preserve">
+    <value>Check Box_2023-05-30 11:32:26</value>
+  </data>
+  <data name="Check_Style" xml:space="preserve">
+    <value>Button Style</value>
+  </data>
+  <data name="Style_Check" xml:space="preserve">
+    <value>Check</value>
+  </data>
+  <data name="Style_Circle" xml:space="preserve">
+    <value>Circle</value>
+  </data>
+  <data name="Style_Cross" xml:space="preserve">
+    <value>Cross</value>
+  </data>
+  <data name="Style_Diamond" xml:space="preserve">
+    <value>Diamond</value>
+  </data>
+  <data name="Style_Square" xml:space="preserve">
+    <value>Square</value>
+  </data>
+  <data name="Style_Star" xml:space="preserve">
+    <value>Star</value>
+  </data>
+  <data name="Style_Default" xml:space="preserve">
+    <value>Button is checked by default</value>
+  </data>
+  <data name="Title_Rdo" xml:space="preserve">
+    <value>Radio Button</value>
+  </data>
+  <data name="Holder_Rdo" xml:space="preserve">
+    <value>Group 1</value>
+  </data>
+  <data name="Warn_SingleRdo" xml:space="preserve">
+    <value>Only 1 button is in the group. At least 2 buttons are needed in a group.</value>
+  </data>
+  <data name="Tip_SingleRdo" xml:space="preserve">
+    <value>To create a set of mutually exclusive radio buttons (i.e., where only one can be selected at a time), please give the fields the same name to let buttons in one group.</value>
+  </data>
+  <data name="Title_ListBox" xml:space="preserve">
+    <value>List Box</value>
+  </data>
+  <data name="Holder_ListBox" xml:space="preserve">
+    <value>List Box 1</value>
+  </data>
+  <data name="Title_Item" xml:space="preserve">
+    <value>Item</value>
+  </data>
+  <data name="Title_ItemList" xml:space="preserve">
+    <value>Item List</value>
+  </data>
+  <data name="Title_Cmb" xml:space="preserve">
+    <value>Combo Button</value>
+  </data>
+  <data name="Holder_Cmb" xml:space="preserve">
+    <value>Combo Button_1</value>
+  </data>
+  <data name="Title_Btn" xml:space="preserve">
+    <value>Push Button</value>
+  </data>
+  <data name="Holder_Btn" xml:space="preserve">
+    <value>Button 1</value>
+  </data>
+  <data name="Title_BtnContent" xml:space="preserve">
+    <value>Item</value>
+  </data>
+  <data name="Holder_BtnContent" xml:space="preserve">
+    <value>Push Button</value>
+  </data>
+  <data name="Btn_Action" xml:space="preserve">
+    <value>Select Action</value>
+  </data>
+  <data name="Action_None" xml:space="preserve">
+    <value>None</value>
+  </data>
+  <data name="Action_Jump" xml:space="preserve">
+    <value>Go To Pages</value>
+  </data>
+  <data name="Action_Link" xml:space="preserve">
+    <value>Open a Web Link</value>
+  </data>
+  <data name="Btn_SelectAtction" xml:space="preserve">
+    <value>Select Action</value>
+  </data>
+  <data name="Title_TextProperty" xml:space="preserve">
+    <value>Text Properties</value>
+  </data>
+  <data name="Title_Note" xml:space="preserve">
+    <value>Note</value>
+  </data>
+  <data name="Preview_Image" xml:space="preserve">
+    <value>Image</value>
+  </data>
+  <data name="Title_Preview" xml:space="preserve">
+    <value>Preview</value>
+  </data>
+  <data name="Button_Cancel" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="Style_General" xml:space="preserve">
+    <value>General Style</value>
+  </data>
+  <data name="Rec_Green" xml:space="preserve">
+    <value>Rectangle (green)</value>
+  </data>
+  <data name="Rec_Blue" xml:space="preserve">
+    <value>Rectangle (blue)</value>
+  </data>
+  <data name="Rec_Red" xml:space="preserve">
+    <value>Rectangle (red)</value>
+  </data>
+  <data name="Left_Green" xml:space="preserve">
+    <value>Left arrow (green)</value>
+  </data>
+  <data name="Left_Blue" xml:space="preserve">
+    <value>Left arrow (blue)</value>
+  </data>
+  <data name="Left_Red" xml:space="preserve">
+    <value>Left arrow (red)</value>
+  </data>
+  <data name="Right_Green" xml:space="preserve">
+    <value>Right arrow (green)</value>
+  </data>
+  <data name="Right_Red" xml:space="preserve">
+    <value>Right arrow (red)</value>
+  </data>
+  <data name="Right_Blue" xml:space="preserve">
+    <value>Right arrow (blue)</value>
+  </data>
+  <data name="Button_Left" xml:space="preserve">
+    <value>Left</value>
+  </data>
+  <data name="Button_Right" xml:space="preserve">
+    <value>Right</value>
+  </data>
+  <data name="Property_Flip" xml:space="preserve">
+    <value>Flip</value>
+  </data>
+  <data name="Property_Rotate" xml:space="preserve">
+    <value>Rotate</value>
+  </data>
+  <data name="Property_Tool" xml:space="preserve">
+    <value>Tools</value>
+  </data>
+  <data name="Title_ImageProperty" xml:space="preserve">
+    <value>Image Properties</value>
+  </data>
 </root>

+ 508 - 384
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.zh.resx

@@ -1,386 +1,510 @@
+<?xml version="1.0" encoding="utf-8"?>
 <root>
-    <resheader name="resmimetype">
-        <value>text/microsoft-resx</value>
-    </resheader>
-    <resheader name="version">
-        <value>1.3</value>
-    </resheader>
-    <resheader name="reader">
-        <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <resheader name="writer">
-        <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-    </resheader>
-    <data name="Text_EmptyPanel" xml:space="preserve">
-        <value>属性面板为空</value>
-    </data>
-    <data name="Title_Highlight" xml:space="preserve">
-        <value>亮高</value>
-    </data>
-    <data name="Title_Underline" xml:space="preserve">
-        <value>下划线</value>
-    </data>
-    <data name="Title_Strikeout" xml:space="preserve">
-        <value>删除线</value>
-    </data>
-    <data name="Title_Squiggly" xml:space="preserve">
-        <value>波浪线</value>
-    </data>
-    <data name="Property_Color" xml:space="preserve">
-        <value>颜色</value>
-    </data>
-    <data name="Property_Opacity" xml:space="preserve">
-        <value>不透明度</value>
-    </data>
-    <data name="Property_Note" xml:space="preserve">
-        <value>批注</value>
-    </data>
-    <data name="Title_Square" xml:space="preserve">
-        <value>矩形</value>
-    </data>
-    <data name="Title_Circle" xml:space="preserve">
-        <value>圆形</value>
-    </data>
-    <data name="Property_StrokeColor" xml:space="preserve">
-        <value>边框颜色</value>
-    </data>
-    <data name="Property_FillColor" xml:space="preserve">
-        <value>填充颜色</value>
-    </data>
-    <data name="Property_LineWidth" xml:space="preserve">
-        <value>线宽</value>
-    </data>
-    <data name="Property_LineStyle" xml:space="preserve">
-        <value>线型</value>
-    </data>
-    <data name="Title_Line" xml:space="preserve">
-        <value>线</value>
-    </data>
-    <data name="Title_Arrow" xml:space="preserve">
-        <value>箭头</value>
-    </data>
-    <data name="Property_Start" xml:space="preserve">
-        <value>线头</value>
-    </data>
-    <data name="Property_End" xml:space="preserve">
-        <value>线尾</value>
-    </data>
-    <data name="Title_Ink" xml:space="preserve">
-        <value>手绘</value>
-    </data>
-    <data name="Title_FreeText" xml:space="preserve">
-        <value>文本</value>
-    </data>
-    <data name="Property_FontColor" xml:space="preserve">
-        <value>文字颜色</value>
-    </data>
-    <data name="Property_FontStyle" xml:space="preserve">
-        <value>字体样式</value>
-    </data>
-    <data name="Property_Alignment" xml:space="preserve">
-        <value>文本对齐</value>
-    </data>
-    <data name="Alignment_Left" xml:space="preserve">
-        <value>左对齐</value>
-    </data>
-    <data name="Alignment_Center" xml:space="preserve">
-        <value>居中</value>
-    </data>
-    <data name="Alignment_Right" xml:space="preserve">
-        <value>右对齐</value>
-    </data>
-    <data name="Property_FontSize" xml:space="preserve">
-        <value>字号</value>
-    </data>
-    <data name="LinkType_Jump" xml:space="preserve">
-        <value>跳转到页面</value>
-    </data>
-    <data name="Jump_Page" xml:space="preserve">
-        <value>页码</value>
-    </data>
-    <data name="LinkType_URL" xml:space="preserve">
-        <value>超链接</value>
-    </data>
-    <data name="Holder_URL" xml:space="preserve">
-        <value>https://www.compdf.com/</value>
-    </data>
-    <data name="LinkType_Email" xml:space="preserve">
-        <value>电子邮箱</value>
-    </data>
-    <data name="Holder_Email" xml:space="preserve">
-        <value>support@compdf.com</value>
-    </data>
-    <data name="Title_Sig" xml:space="preserve">
-        <value>签名</value>
-    </data>
-    <data name="Button_NewSig" xml:space="preserve">
-        <value>添加签名</value>
-    </data>
-    <data name="Button_Clear" xml:space="preserve">
-        <value>清除</value>
-    </data>
-    <data name="Button_Save" xml:space="preserve">
-        <value>保存</value>
-    </data>
-    <data name="Button_Trackpad" xml:space="preserve">
-        <value>触摸板</value>
-    </data>
-    <data name="Button_Keyboard" xml:space="preserve">
-        <value>键盘</value>
-    </data>
-    <data name="Setting_Font" xml:space="preserve">
-        <value>字体</value>
-    </data>
-    <data name="Button_Image" xml:space="preserve">
-        <value>图片</value>
-    </data>
-    <data name="Text_DropImage" xml:space="preserve">
-        <value>将图片拖至此处,或</value>
-    </data>
-    <data name="Link_SelectFile" xml:space="preserve">
-        <value>选择文件</value>
-    </data>
-    <data name="Title_Warning" xml:space="preserve">
-        <value>注意</value>
-    </data>
-    <data name="Tip_Delete" xml:space="preserve">
-        <value>确定删除该内容?</value>
-    </data>
-    <data name="Title_Stamp" xml:space="preserve">
-        <value>图章</value>
-    </data>
-    <data name="Stamp_Standard" xml:space="preserve">
-        <value>标准图章</value>
-    </data>
-    <data name="Stamp_Custom" xml:space="preserve">
-        <value>自定义图章</value>
-    </data>
-    <data name="Custom_Text" xml:space="preserve">
-        <value>文字图章</value>
-    </data>
-    <data name="Custom_Image" xml:space="preserve">
-        <value>图片图章</value>
-    </data>
-    <data name="Preview_Text" xml:space="preserve">
-        <value>文字图章</value>
-    </data>
-    <data name="Stamp_Template" xml:space="preserve">
-        <value>图章模板</value>
-    </data>
-    <data name="Stamp_Style" xml:space="preserve">
-        <value>类型</value>
-    </data>
-    <data name="Stamp_Text" xml:space="preserve">
-        <value>文字</value>
-    </data>
-    <data name="Stamp_Color" xml:space="preserve">
-        <value>颜色</value>
-    </data>
-    <data name="Check_Date" xml:space="preserve">
-        <value>日期 (YYYY-MM-dd)</value>
-    </data>
-    <data name="Check_Time" xml:space="preserve">
-        <value>时间 (HH:mm:ss)</value>
-    </data>
-    <data name="Button_OK" xml:space="preserve">
-        <value>确定</value>
-    </data>
-    <data name="Title_General" xml:space="preserve">
-        <value>通用</value>
-    </data>
-    <data name="Title_Appearance" xml:space="preserve">
-        <value>外观</value>
-    </data>
-    <data name="Title_Preferences" xml:space="preserve">
-        <value>选项</value>
-    </data>
-    <data name="Title_TextField" xml:space="preserve">
-        <value>文本域</value>
-    </data>
-    <data name="Property_Name" xml:space="preserve">
-        <value>名称</value>
-    </data>
-    <data name="Holder_TextField" xml:space="preserve">
-        <value>Text Field 1</value>
-    </data>
-    <data name="Property_Visibility" xml:space="preserve">
-        <value>表格栏位</value>
-    </data>
-    <data name="Option_Visible" xml:space="preserve">
-        <value>可见</value>
-    </data>
-    <data name="Option_Hidden" xml:space="preserve">
-        <value>隐藏</value>
-    </data>
-    <data name="Option_Print" xml:space="preserve">
-        <value>隐藏但可打印</value>
-    </data>
-    <data name="Option_NoPrint" xml:space="preserve">
-        <value>可见但不可打印</value>
-    </data>
-    <data name="Property_BgColor" xml:space="preserve">
-        <value>背景色</value>
-    </data>
-    <data name="Property_Font" xml:space="preserve">
-        <value>字体</value>
-    </data>
-    <data name="Font_Regular" xml:space="preserve">
-        <value>常规</value>
-    </data>
-    <data name="Font_Oblique" xml:space="preserve">
-        <value>斜体</value>
-    </data>
-    <data name="Font_Light" xml:space="preserve">
-        <value>细体</value>
-    </data>
-    <data name="Font_LightOblique" xml:space="preserve">
-        <value>细斜体</value>
-    </data>
-    <data name="Font_Bold" xml:space="preserve">
-        <value>粗体</value>
-    </data>
-    <data name="Font_BoldOblique" xml:space="preserve">
-        <value>粗斜体</value>
-    </data>
-    <data name="Property_DefaultValue" xml:space="preserve">
-        <value>预设值</value>
-    </data>
-    <data name="Property_MultiLine" xml:space="preserve">
-        <value>多行</value>
-    </data>
-    <data name="Title_Chb" xml:space="preserve">
-        <value>复选框</value>
-    </data>
-    <data name="Holder_Chb" xml:space="preserve">
-        <value>Check Box_2023-05-30 11:32:27</value>
-    </data>
-    <data name="Check_Style" xml:space="preserve">
-        <value>按钮样式</value>
-    </data>
-    <data name="Style_Check" xml:space="preserve">
-        <value>勾选</value>
-    </data>
-    <data name="Style_Circle" xml:space="preserve">
-        <value>圆形</value>
-    </data>
-    <data name="Style_Cross" xml:space="preserve">
-        <value>分叉</value>
-    </data>
-    <data name="Style_Diamond" xml:space="preserve">
-        <value>菱形</value>
-    </data>
-    <data name="Style_Square" xml:space="preserve">
-        <value>方形</value>
-    </data>
-    <data name="Style_Star" xml:space="preserve">
-        <value>星形</value>
-    </data>
-    <data name="Style_Default" xml:space="preserve">
-        <value>预设为已选取</value>
-    </data>
-    <data name="Title_Rdo" xml:space="preserve">
-        <value>单选按钮</value>
-    </data>
-    <data name="Holder_Rdo" xml:space="preserve">
-        <value>Group 1</value>
-    </data>
-    <data name="Warn_SingleRdo" xml:space="preserve">
-        <value>警告:组中只有一个按钮。至少需要2个按钮。</value>
-    </data>
-    <data name="Tip_SingleRdo" xml:space="preserve">
-        <value>提示:要创建一组互斥的单选按钮(即一次只能选择一个),请确保各域名相同。</value>
-    </data>
-    <data name="Title_ListBox" xml:space="preserve">
-        <value>列表框</value>
-    </data>
-    <data name="Holder_ListBox" xml:space="preserve">
-        <value>List Box 1</value>
-    </data>
-    <data name="Title_Item" xml:space="preserve">
-        <value>选项</value>
-    </data>
-    <data name="Title_ItemList" xml:space="preserve">
-        <value>选项清单</value>
-    </data>
-    <data name="Title_Cmb" xml:space="preserve">
-        <value>下拉菜单</value>
-    </data>
-    <data name="Holder_Cmb" xml:space="preserve">
-        <value>Combo Button_1</value>
-    </data>
-    <data name="Title_Btn" xml:space="preserve">
-        <value>按钮</value>
-    </data>
-    <data name="Holder_Btn" xml:space="preserve">
-        <value>Button 1</value>
-    </data>
-    <data name="Title_BtnContent" xml:space="preserve">
-        <value>按钮文字</value>
-    </data>
-    <data name="Holder_BtnContent" xml:space="preserve">
-        <value>提交</value>
-    </data>
-    <data name="Btn_Action" xml:space="preserve">
-        <value>选择动作</value>
-    </data>
-    <data name="Action_None" xml:space="preserve">
-        <value>无</value>
-    </data>
-    <data name="Action_Jump" xml:space="preserve">
-        <value>跳转到页面</value>
-    </data>
-    <data name="Action_Link" xml:space="preserve">
-        <value>打开网页链接</value>
-    </data>
-    <data name="Btn_SelectAtction" xml:space="preserve">
-        <value>选择动作</value>
-    </data>
-    <data name="Title_TextProperty" xml:space="preserve">
-        <value>文字属性</value>
-    </data>
-    <data name="Title_Note" xml:space="preserve">
-        <value>便签</value>
-    </data>
-    <data name="Preview_Image" xml:space="preserve">
-        <value>图片图章</value>
-    </data>
-    <data name="Title_Preview" xml:space="preserve">
-        <value>预览</value>
-    </data>
-    <data name="Button_Cancel" xml:space="preserve">
-        <value>取消</value>
-    </data>
-    <data name="Style_General" xml:space="preserve">
-        <value>常规</value>
-    </data>
-    <data name="Rec_Green" xml:space="preserve">
-        <value>矩形 (绿色)</value>
-    </data>
-    <data name="Rec_Red" xml:space="preserve">
-        <value>矩形 (红色)</value>
-    </data>
-    <data name="Rec_Blue" xml:space="preserve">
-        <value>矩形 (蓝色)</value>
-    </data>
-    <data name="Right_Blue" xml:space="preserve">
-        <value>右箭头 (蓝色)</value>
-    </data>
-    <data name="Right_Green" xml:space="preserve">
-        <value>右箭头 (绿色)</value>
-    </data>
-    <data name="Right_Red" xml:space="preserve">
-        <value>右箭头 (红色)</value>
-    </data>
-    <data name="Left_Green" xml:space="preserve">
-        <value>左箭头 (绿色)</value>
-    </data>
-    <data name="Left_Blue" xml:space="preserve">
-        <value>左箭头 (蓝色)</value>
-    </data>
-    <data name="Left_Red" xml:space="preserve">
-        <value>左箭头 (红色)</value>
-    </data>
-    <data name="Holder_Jump" xml:space="preserve">
-        <value>1 ~ </value>
-    </data>
+  <!-- 
+    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="Text_EmptyPanel" xml:space="preserve">
+    <value>属性面板为空</value>
+  </data>
+  <data name="Title_Highlight" xml:space="preserve">
+    <value>亮高</value>
+  </data>
+  <data name="Title_Underline" xml:space="preserve">
+    <value>下划线</value>
+  </data>
+  <data name="Title_Strikeout" xml:space="preserve">
+    <value>删除线</value>
+  </data>
+  <data name="Title_Squiggly" xml:space="preserve">
+    <value>波浪线</value>
+  </data>
+  <data name="Property_Color" xml:space="preserve">
+    <value>颜色</value>
+  </data>
+  <data name="Property_Opacity" xml:space="preserve">
+    <value>不透明度</value>
+  </data>
+  <data name="Property_Note" xml:space="preserve">
+    <value>批注</value>
+  </data>
+  <data name="Title_Square" xml:space="preserve">
+    <value>矩形</value>
+  </data>
+  <data name="Title_Circle" xml:space="preserve">
+    <value>圆形</value>
+  </data>
+  <data name="Property_StrokeColor" xml:space="preserve">
+    <value>边框颜色</value>
+  </data>
+  <data name="Property_FillColor" xml:space="preserve">
+    <value>填充颜色</value>
+  </data>
+  <data name="Property_LineWidth" xml:space="preserve">
+    <value>线宽</value>
+  </data>
+  <data name="Property_LineStyle" xml:space="preserve">
+    <value>线型</value>
+  </data>
+  <data name="Title_Line" xml:space="preserve">
+    <value>线</value>
+  </data>
+  <data name="Title_Arrow" xml:space="preserve">
+    <value>箭头</value>
+  </data>
+  <data name="Property_Start" xml:space="preserve">
+    <value>线头</value>
+  </data>
+  <data name="Property_End" xml:space="preserve">
+    <value>线尾</value>
+  </data>
+  <data name="Title_Ink" xml:space="preserve">
+    <value>手绘</value>
+  </data>
+  <data name="Title_FreeText" xml:space="preserve">
+    <value>文本</value>
+  </data>
+  <data name="Property_FontColor" xml:space="preserve">
+    <value>文字颜色</value>
+  </data>
+  <data name="Property_FontStyle" xml:space="preserve">
+    <value>字体样式</value>
+  </data>
+  <data name="Property_Alignment" xml:space="preserve">
+    <value>文本对齐</value>
+  </data>
+  <data name="Alignment_Left" xml:space="preserve">
+    <value>左对齐</value>
+  </data>
+  <data name="Alignment_Center" xml:space="preserve">
+    <value>居中</value>
+  </data>
+  <data name="Alignment_Right" xml:space="preserve">
+    <value>右对齐</value>
+  </data>
+  <data name="Property_FontSize" xml:space="preserve">
+    <value>字号</value>
+  </data>
+  <data name="LinkType_Jump" xml:space="preserve">
+    <value>跳转到页面</value>
+  </data>
+  <data name="Jump_Page" xml:space="preserve">
+    <value>页码</value>
+  </data>
+  <data name="LinkType_URL" xml:space="preserve">
+    <value>超链接</value>
+  </data>
+  <data name="Holder_URL" xml:space="preserve">
+    <value>https://www.compdf.com/</value>
+  </data>
+  <data name="LinkType_Email" xml:space="preserve">
+    <value>电子邮箱</value>
+  </data>
+  <data name="Holder_Email" xml:space="preserve">
+    <value>support@compdf.com</value>
+  </data>
+  <data name="Title_Sig" xml:space="preserve">
+    <value>签名</value>
+  </data>
+  <data name="Button_NewSig" xml:space="preserve">
+    <value>添加签名</value>
+  </data>
+  <data name="Button_Clear" xml:space="preserve">
+    <value>清除</value>
+  </data>
+  <data name="Button_Save" xml:space="preserve">
+    <value>保存</value>
+  </data>
+  <data name="Button_Trackpad" xml:space="preserve">
+    <value>触摸板</value>
+  </data>
+  <data name="Button_Keyboard" xml:space="preserve">
+    <value>键盘</value>
+  </data>
+  <data name="Setting_Font" xml:space="preserve">
+    <value>字体</value>
+  </data>
+  <data name="Button_Image" xml:space="preserve">
+    <value>图片</value>
+  </data>
+  <data name="Text_DropImage" xml:space="preserve">
+    <value>将图片拖至此处,或</value>
+  </data>
+  <data name="Link_SelectFile" xml:space="preserve">
+    <value>选择文件</value>
+  </data>
+  <data name="Title_Warning" xml:space="preserve">
+    <value>注意</value>
+  </data>
+  <data name="Tip_Delete" xml:space="preserve">
+    <value>确定删除该内容?</value>
+  </data>
+  <data name="Title_Stamp" xml:space="preserve">
+    <value>图章</value>
+  </data>
+  <data name="Stamp_Standard" xml:space="preserve">
+    <value>标准图章</value>
+  </data>
+  <data name="Stamp_Custom" xml:space="preserve">
+    <value>自定义图章</value>
+  </data>
+  <data name="Custom_Text" xml:space="preserve">
+    <value>文字图章</value>
+  </data>
+  <data name="Custom_Image" xml:space="preserve">
+    <value>图片图章</value>
+  </data>
+  <data name="Preview_Text" xml:space="preserve">
+    <value>文字图章</value>
+  </data>
+  <data name="Stamp_Template" xml:space="preserve">
+    <value>图章模板</value>
+  </data>
+  <data name="Stamp_Style" xml:space="preserve">
+    <value>类型</value>
+  </data>
+  <data name="Stamp_Text" xml:space="preserve">
+    <value>文字</value>
+  </data>
+  <data name="Stamp_Color" xml:space="preserve">
+    <value>颜色</value>
+  </data>
+  <data name="Check_Date" xml:space="preserve">
+    <value>日期 (YYYY-MM-dd)</value>
+  </data>
+  <data name="Check_Time" xml:space="preserve">
+    <value>时间 (HH:mm:ss)</value>
+  </data>
+  <data name="Button_OK" xml:space="preserve">
+    <value>确定</value>
+  </data>
+  <data name="Title_General" xml:space="preserve">
+    <value>通用</value>
+  </data>
+  <data name="Title_Appearance" xml:space="preserve">
+    <value>外观</value>
+  </data>
+  <data name="Title_Preferences" xml:space="preserve">
+    <value>选项</value>
+  </data>
+  <data name="Title_TextField" xml:space="preserve">
+    <value>文本域</value>
+  </data>
+  <data name="Property_Name" xml:space="preserve">
+    <value>名称</value>
+  </data>
+  <data name="Holder_TextField" xml:space="preserve">
+    <value>Text Field 1</value>
+  </data>
+  <data name="Property_Visibility" xml:space="preserve">
+    <value>表格栏位</value>
+  </data>
+  <data name="Option_Visible" xml:space="preserve">
+    <value>可见</value>
+  </data>
+  <data name="Option_Hidden" xml:space="preserve">
+    <value>隐藏</value>
+  </data>
+  <data name="Option_Print" xml:space="preserve">
+    <value>隐藏但可打印</value>
+  </data>
+  <data name="Option_NoPrint" xml:space="preserve">
+    <value>可见但不可打印</value>
+  </data>
+  <data name="Property_BgColor" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="Property_Font" xml:space="preserve">
+    <value>字体</value>
+  </data>
+  <data name="Font_Regular" xml:space="preserve">
+    <value>常规</value>
+  </data>
+  <data name="Font_Oblique" xml:space="preserve">
+    <value>斜体</value>
+  </data>
+  <data name="Font_Light" xml:space="preserve">
+    <value>细体</value>
+  </data>
+  <data name="Font_LightOblique" xml:space="preserve">
+    <value>细斜体</value>
+  </data>
+  <data name="Font_Bold" xml:space="preserve">
+    <value>粗体</value>
+  </data>
+  <data name="Font_BoldOblique" xml:space="preserve">
+    <value>粗斜体</value>
+  </data>
+  <data name="Property_DefaultValue" xml:space="preserve">
+    <value>预设值</value>
+  </data>
+  <data name="Property_MultiLine" xml:space="preserve">
+    <value>多行</value>
+  </data>
+  <data name="Title_Chb" xml:space="preserve">
+    <value>复选框</value>
+  </data>
+  <data name="Holder_Chb" xml:space="preserve">
+    <value>Check Box_2023-05-30 11:32:27</value>
+  </data>
+  <data name="Check_Style" xml:space="preserve">
+    <value>按钮样式</value>
+  </data>
+  <data name="Style_Check" xml:space="preserve">
+    <value>勾选</value>
+  </data>
+  <data name="Style_Circle" xml:space="preserve">
+    <value>圆形</value>
+  </data>
+  <data name="Style_Cross" xml:space="preserve">
+    <value>分叉</value>
+  </data>
+  <data name="Style_Diamond" xml:space="preserve">
+    <value>菱形</value>
+  </data>
+  <data name="Style_Square" xml:space="preserve">
+    <value>方形</value>
+  </data>
+  <data name="Style_Star" xml:space="preserve">
+    <value>星形</value>
+  </data>
+  <data name="Style_Default" xml:space="preserve">
+    <value>预设为已选取</value>
+  </data>
+  <data name="Title_Rdo" xml:space="preserve">
+    <value>单选按钮</value>
+  </data>
+  <data name="Holder_Rdo" xml:space="preserve">
+    <value>Group 1</value>
+  </data>
+  <data name="Warn_SingleRdo" xml:space="preserve">
+    <value>警告:组中只有一个按钮。至少需要2个按钮。</value>
+  </data>
+  <data name="Tip_SingleRdo" xml:space="preserve">
+    <value>提示:要创建一组互斥的单选按钮(即一次只能选择一个),请确保各域名相同。</value>
+  </data>
+  <data name="Title_ListBox" xml:space="preserve">
+    <value>列表框</value>
+  </data>
+  <data name="Holder_ListBox" xml:space="preserve">
+    <value>List Box 1</value>
+  </data>
+  <data name="Title_Item" xml:space="preserve">
+    <value>选项</value>
+  </data>
+  <data name="Title_ItemList" xml:space="preserve">
+    <value>选项清单</value>
+  </data>
+  <data name="Title_Cmb" xml:space="preserve">
+    <value>下拉菜单</value>
+  </data>
+  <data name="Holder_Cmb" xml:space="preserve">
+    <value>Combo Button_1</value>
+  </data>
+  <data name="Title_Btn" xml:space="preserve">
+    <value>按钮</value>
+  </data>
+  <data name="Holder_Btn" xml:space="preserve">
+    <value>Button 1</value>
+  </data>
+  <data name="Title_BtnContent" xml:space="preserve">
+    <value>按钮文字</value>
+  </data>
+  <data name="Holder_BtnContent" xml:space="preserve">
+    <value>提交</value>
+  </data>
+  <data name="Btn_Action" xml:space="preserve">
+    <value>选择动作</value>
+  </data>
+  <data name="Action_None" xml:space="preserve">
+    <value>无</value>
+  </data>
+  <data name="Action_Jump" xml:space="preserve">
+    <value>跳转到页面</value>
+  </data>
+  <data name="Action_Link" xml:space="preserve">
+    <value>打开网页链接</value>
+  </data>
+  <data name="Btn_SelectAtction" xml:space="preserve">
+    <value>选择动作</value>
+  </data>
+  <data name="Title_TextProperty" xml:space="preserve">
+    <value>文字属性</value>
+  </data>
+  <data name="Title_Note" xml:space="preserve">
+    <value>便签</value>
+  </data>
+  <data name="Preview_Image" xml:space="preserve">
+    <value>图片图章</value>
+  </data>
+  <data name="Title_Preview" xml:space="preserve">
+    <value>预览</value>
+  </data>
+  <data name="Button_Cancel" xml:space="preserve">
+    <value>取消</value>
+  </data>
+  <data name="Style_General" xml:space="preserve">
+    <value>常规</value>
+  </data>
+  <data name="Rec_Green" xml:space="preserve">
+    <value>矩形 (绿色)</value>
+  </data>
+  <data name="Rec_Red" xml:space="preserve">
+    <value>矩形 (红色)</value>
+  </data>
+  <data name="Rec_Blue" xml:space="preserve">
+    <value>矩形 (蓝色)</value>
+  </data>
+  <data name="Right_Blue" xml:space="preserve">
+    <value>右箭头 (蓝色)</value>
+  </data>
+  <data name="Right_Green" xml:space="preserve">
+    <value>右箭头 (绿色)</value>
+  </data>
+  <data name="Right_Red" xml:space="preserve">
+    <value>右箭头 (红色)</value>
+  </data>
+  <data name="Left_Green" xml:space="preserve">
+    <value>左箭头 (绿色)</value>
+  </data>
+  <data name="Left_Blue" xml:space="preserve">
+    <value>左箭头 (蓝色)</value>
+  </data>
+  <data name="Left_Red" xml:space="preserve">
+    <value>左箭头 (红色)</value>
+  </data>
+  <data name="Holder_Jump" xml:space="preserve">
+    <value>1 ~ </value>
+  </data>
+  <data name="Property_Flip" xml:space="preserve">
+    <value>翻转</value>
+  </data>
+  <data name="Property_Rotate" xml:space="preserve">
+    <value>旋转</value>
+  </data>
+  <data name="Property_Tool" xml:space="preserve">
+    <value>工具</value>
+  </data>
+  <data name="Title_ImageProperty" xml:space="preserve">
+    <value>图片属性</value>
+  </data>
+  <data name="Button_Left" xml:space="preserve">
+    <value>左</value>
+  </data>
+  <data name="Button_Right" xml:space="preserve">
+    <value>右</value>
+  </data>
 </root>

+ 20 - 2
Demo/Examples/Compdfkit_Tools/Strings/Security.Designer.cs

@@ -151,7 +151,16 @@ namespace Compdfkit_Tools.Strings {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Enter Owner`s Password to Change the Security.
+        ///   Looks up a localized string similar to Password to Open the Document.
+        /// </summary>
+        internal static string Chk_OpenPassword {
+            get {
+                return ResourceManager.GetString("Chk_OpenPassword", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Enter Owner&apos;s Password to Change the Security.
         /// </summary>
         internal static string Chk_OwnerPassword {
             get {
@@ -448,7 +457,7 @@ namespace Compdfkit_Tools.Strings {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Open Password.
+        ///   Looks up a localized string similar to Set Passwords.
         /// </summary>
         internal static string Text_OpenPassword {
             get {
@@ -573,6 +582,15 @@ namespace Compdfkit_Tools.Strings {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Owner Password.
+        /// </summary>
+        internal static string Title_OwnerPassword {
+            get {
+                return ResourceManager.GetString("Title_OwnerPassword", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Password.
         /// </summary>

+ 8 - 2
Demo/Examples/Compdfkit_Tools/Strings/Security.resx

@@ -145,7 +145,7 @@
     <value>Open the Document</value>
   </data>
   <data name="Text_OpenPassword" xml:space="preserve">
-    <value>Open Password</value>
+    <value>Set Passwords</value>
   </data>
   <data name="Holder_EnterPassword" xml:space="preserve">
     <value>Enter the password</value>
@@ -199,7 +199,7 @@
     <value>Encrypt</value>
   </data>
   <data name="Chk_OwnerPassword" xml:space="preserve">
-    <value>Enter Owner`s Password to Change the Security</value>
+    <value>Enter Owner's Password to Change the Security</value>
   </data>
   <data name="Warn_InvaildPassword" xml:space="preserve">
     <value>Invalid Password</value>
@@ -318,4 +318,10 @@
   <data name="Title_OpenPassword" xml:space="preserve">
     <value>Password to Open the Document</value>
   </data>
+  <data name="Chk_OpenPassword" xml:space="preserve">
+    <value>Password to Open the Document</value>
+  </data>
+  <data name="Title_OwnerPassword" xml:space="preserve">
+    <value>Owner Password</value>
+  </data>
 </root>

+ 7 - 1
Demo/Examples/Compdfkit_Tools/Strings/Security.zh.resx

@@ -312,7 +312,7 @@
   <data name="Chk_CanCopy" xml:space="preserve">
     <value>禁止复制</value>
   </data>
-  <data name="Text_EasyUse" xml:space="preserve">
+  <data name="Tip_EasyUse" xml:space="preserve">
     <value>PDF密码移除工具是一款易于使用的PDF安全移除工具,可帮助用户解密PDF保护,移除对打印、编辑和复制的限制。</value>
   </data>
   <data name="Tip_Require" xml:space="preserve">
@@ -321,4 +321,10 @@
   <data name="Title_OpenPassword" xml:space="preserve">
     <value>文档开启密码</value>
   </data>
+  <data name="Chk_OpenPassword" xml:space="preserve">
+    <value>文档开启密码</value>
+  </data>
+  <data name="Title_OwnerPassword" xml:space="preserve">
+    <value>文档所有者密码</value>
+  </data>
 </root>

+ 4 - 0
Demo/Examples/DigitalSignature/DigitalSignature.csproj

@@ -127,6 +127,10 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <None Include="..\license_key_windows.txt">
+      <Link>license_key_windows.txt</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <Content Include="..\TestFile\PDF32000_2008.pdf">
       <Link>PDF32000_2008.pdf</Link>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>

+ 4 - 1
Demo/Examples/PDFViewer/MainPage.xaml.cs

@@ -198,6 +198,7 @@ namespace PDFViewer
         /// <param name="e"></param>
         private void PanelState_PropertyChanged(object sender, PropertyChangedEventArgs e)
         {
+
             if (e.PropertyName == "RightPanel")
             {
                 OnPropertyChanged(nameof(RightToolPanelButtonIsChecked));
@@ -220,7 +221,7 @@ namespace PDFViewer
                     case "Forms":
                         ModeComboBox.SelectedIndex = 2;
                         break;
-                    case "Signature":
+                    case "Signatures":
                         ModeComboBox.SelectedIndex = 5;
                         break;
                     case "Document Editor":
@@ -449,6 +450,7 @@ namespace PDFViewer
             }
             else if (currentMode == "Digital Signature")
             {
+                RightPanelButton.Visibility = Visibility.Visible;
                 digitalSignatureControl.UnloadEvent();
                 digitalSignatureControl.ClearViewerControl();
                 botaBarControl.RemoveBOTAContent(BOTATools.Signature);
@@ -537,6 +539,7 @@ namespace PDFViewer
             {
                 if (contentEditControl.pdfContentEditControl != null && contentEditControl.PdfViewControl.PDFView != null)
                 {
+                    RightPanelButton.Visibility = Visibility.Collapsed;
                     PDFGrid.Child = digitalSignatureControl;
                     digitalSignatureControl.PDFViewControl.PDFView.SetMouseMode(MouseModes.Viewer);
                     digitalSignatureControl.PDFViewControl = pdfViewer;

+ 1 - 1
Demo/Examples/PDFViewer/MainWindow.xaml

@@ -293,7 +293,7 @@
                                                 <Path Data="M18.2856 3.71387H15.4284L15.4284 7.71385H10.857C9.59465 7.71385 8.5713 8.7372 8.5713 9.99956C8.5713 11.2619 9.59465 12.2853 10.857 12.2853H15.4284L15.4284 16.2853L4.57129 16.2853V18.2853C4.57129 19.2321 5.3388 19.9996 6.28558 19.9996H18.2856C19.2324 19.9996 19.9999 19.2321 19.9999 18.2853V5.42815C19.9999 4.48138 19.2324 3.71387 18.2856 3.71387Z" Fill="#31BC98"/>
                                             </Grid>
                                         </Viewbox>
-                                        <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Microsoft YaHei" FontSize="12" FontWeight="DemiBold" Text="ComPDFKit">
+                                        <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Microsoft YaHei" FontSize="12" FontWeight="DemiBold" Text="ComPDFKit V1.11.0">
                                             <TextBlock.Foreground>
                                                 <Binding Path="IsToggled" ElementName="HomePageButton" Converter="{StaticResource BoolToColorConverter}"></Binding>
                                             </TextBlock.Foreground>