Преглед изворни кода

compdfkit(win) - 整理部分文案资源

weixiangjie пре 1 година
родитељ
комит
2150e10abf
25 измењених фајлова са 3485 додато и 290 уклоњено
  1. 1 1
      Demo/Examples/Compdfkit_Tools/Common/Helper/LanguageHelper.cs
  2. 1 1
      Demo/Examples/Compdfkit_Tools/Common/HomePage/FeaturesListControl.xaml.cs
  3. 50 8
      Demo/Examples/Compdfkit_Tools/Compdfkit_Tools.csproj
  4. 5 15
      Demo/Examples/Compdfkit_Tools/Strings/Resources.Designer.cs
  5. 21 0
      Demo/Examples/Compdfkit_Tools/Strings/Bota.resx
  6. 14 0
      Demo/Examples/Compdfkit_Tools/Strings/Bota.zh.resx
  7. 557 0
      Demo/Examples/Compdfkit_Tools/Strings/Common.Designer.cs
  8. 186 0
      Demo/Examples/Compdfkit_Tools/Strings/Common.resx
  9. 179 0
      Demo/Examples/Compdfkit_Tools/Strings/Common.zh.resx
  10. 1052 0
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.Designer.cs
  11. 351 0
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.resx
  12. 341 0
      Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.zh.resx
  13. 0 123
      Demo/Examples/Compdfkit_Tools/Strings/Resources.resx
  14. 0 0
      Demo/Examples/Compdfkit_Tools/Strings/Resources.zh-CN.Designer.cs
  15. 0 123
      Demo/Examples/Compdfkit_Tools/Strings/Resources.zh-CN.resx
  16. 62 0
      Demo/Examples/Compdfkit_Tools/Strings/ToolBar.Designer.cs
  17. 120 0
      Demo/Examples/Compdfkit_Tools/Strings/ToolBar.resx
  18. 113 0
      Demo/Examples/Compdfkit_Tools/Strings/ToolBar.zh.resx
  19. 19 1
      Demo/Examples/PDFViewer/App.xaml.cs
  20. 12 0
      Demo/Examples/PDFViewer/PDFViewer.csproj
  21. 17 16
      Demo/Examples/PDFViewer/SettingsDialog.xaml
  22. 2 2
      Demo/Examples/PDFViewer/SettingsDialog.xaml.cs
  23. 233 0
      Demo/Examples/PDFViewer/Strings/SettingDialog.Designer.cs
  24. 78 0
      Demo/Examples/PDFViewer/Strings/SettingDialog.resx
  25. 71 0
      Demo/Examples/PDFViewer/Strings/SettingDialog.zh.resx

+ 1 - 1
Demo/Examples/Compdfkit_Tools/Common/Helper/LanguageHelper.cs

@@ -5,6 +5,6 @@ namespace Compdfkit_Tools.Helper
 {
     public abstract class LanguageHelper
     {
-		public static ResourceManager ToolsLoader= new System.Resources.ResourceManager("Compdfkit_Tools.Strings.Resources", Assembly.GetExecutingAssembly());
+		public static ResourceManager ToolsResourceManager= new ResourceManager("Compdfkit_Tools.Strings.Resources", Assembly.GetExecutingAssembly());
     }
 }

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

@@ -100,7 +100,7 @@ namespace Compdfkit_Tools.PDFControl
             this.DataContext = this;
             InitializeComponent();
             Items = new ObservableCollection<CustomItem>();
-            FeaturesListTxb.Text = LanguageHelper.ToolsLoader.GetString("Apple");
+            FeaturesListTxb.Text = "Features";
         }
 
         private void FeaturesListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)

+ 50 - 8
Demo/Examples/Compdfkit_Tools/Compdfkit_Tools.csproj

@@ -508,27 +508,57 @@
       <DependentUpon>WatermarkOperationTypeDialog.xaml</DependentUpon>
     </Compile>
     <Compile Include="Security\Watermark\AddWatermark\WatermarkPreviewControl.cs" />
-    <Compile Include="Strings\Resources.Designer.cs">
+    <Compile Include="Strings\Bota.Designer.cs">
       <DesignTime>True</DesignTime>
       <AutoGen>True</AutoGen>
-      <DependentUpon>Resources.resx</DependentUpon>
+      <DependentUpon>Bota.resx</DependentUpon>
     </Compile>
-    <Compile Include="Strings\Resources.zh-CN.Designer.cs">
+    <Compile Include="Strings\Common.Designer.cs">
+      <DesignTime>True</DesignTime>
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Common.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Strings\PropertyPanel.Designer.cs">
+      <DesignTime>True</DesignTime>
       <AutoGen>True</AutoGen>
+      <DependentUpon>PropertyPanel.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Strings\ToolBar.Designer.cs">
       <DesignTime>True</DesignTime>
-      <DependentUpon>Resources.zh-CN.resx</DependentUpon>
+      <AutoGen>True</AutoGen>
+      <DependentUpon>ToolBar.resx</DependentUpon>
     </Compile>
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
-    <EmbeddedResource Include="Strings\Resources.resx">
+    <EmbeddedResource Include="Strings\Bota.resx">
       <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <LastGenOutput>Bota.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\Bota.zh.resx">
+      <DependentUpon>Bota.resx</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\Common.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Common.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\Common.zh.resx">
+      <DependentUpon>Common.resx</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\PropertyPanel.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>PropertyPanel.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\PropertyPanel.zh.resx">
+      <DependentUpon>PropertyPanel.resx</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Strings\Resources.zh-CN.resx">
+    <EmbeddedResource Include="Strings\ToolBar.resx">
       <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.zh-CN.Designer.cs</LastGenOutput>
+      <LastGenOutput>ToolBar.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\ToolBar.zh.resx">
+      <DependentUpon>ToolBar.resx</DependentUpon>
     </EmbeddedResource>
     <None Include="app.config" />
     <None Include="packages.config" />
@@ -536,6 +566,18 @@
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
+    <None Update="Strings\Bota.zh.resx">
+      <DependentUpon>Bota.resx</DependentUpon>
+    </None>
+    <None Update="Strings\Common.zh.resx">
+      <DependentUpon>Common.resx</DependentUpon>
+    </None>
+    <None Update="Strings\PropertyPanel.zh.resx">
+      <DependentUpon>PropertyPanel.resx</DependentUpon>
+    </None>
+    <None Update="Strings\ToolBar.zh.resx">
+      <DependentUpon>ToolBar.resx</DependentUpon>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <Resource Include="Asset\Resource\Annotation\StampIcons\Accepted.png" />

+ 5 - 15
Demo/Examples/Compdfkit_Tools/Strings/Resources.Designer.cs

@@ -1,14 +1,13 @@
 //------------------------------------------------------------------------------
 // <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 {
+namespace Compdfkit_Tools.Strings.Common {
     using System;
     
     
@@ -19,17 +18,17 @@ namespace Compdfkit_Tools.Strings {
     // 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.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources {
+    internal class Bota {
         
         private static global::System.Resources.ResourceManager resourceMan;
         
         private static global::System.Globalization.CultureInfo resourceCulture;
         
         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources() {
+        internal Bota() {
         }
         
         /// <summary>
@@ -39,7 +38,7 @@ namespace Compdfkit_Tools.Strings {
         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.Resources", typeof(Resources).Assembly);
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Compdfkit_Tools.Strings.Bota", typeof(Bota).Assembly);
                     resourceMan = temp;
                 }
                 return resourceMan;
@@ -59,14 +58,5 @@ namespace Compdfkit_Tools.Strings {
                 resourceCulture = value;
             }
         }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Apple🍎.
-        /// </summary>
-        internal static string Apple {
-            get {
-                return ResourceManager.GetString("Apple", resourceCulture);
-            }
-        }
     }
 }

+ 21 - 0
Demo/Examples/Compdfkit_Tools/Strings/Bota.resx

@@ -0,0 +1,21 @@
+<?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>
+</root>

+ 14 - 0
Demo/Examples/Compdfkit_Tools/Strings/Bota.zh.resx

@@ -0,0 +1,14 @@
+<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>
+</root>

+ 557 - 0
Demo/Examples/Compdfkit_Tools/Strings/Common.Designer.cs

@@ -0,0 +1,557 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Compdfkit_Tools.Strings.Common {
+    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", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Common {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Common() {
+        }
+        
+        /// <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.Common", typeof(Common).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;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Cancel.
+        /// </summary>
+        internal static string Button_Cancel {
+            get {
+                return ResourceManager.GetString("Button_Cancel", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to OK.
+        /// </summary>
+        internal static string Button_OK {
+            get {
+                return ResourceManager.GetString("Button_OK", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Save.
+        /// </summary>
+        internal static string Button_Save {
+            get {
+                return ResourceManager.GetString("Button_Save", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Annotations.
+        /// </summary>
+        internal static string Func_Annotations {
+            get {
+                return ResourceManager.GetString("Func_Annotations", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Compress.
+        /// </summary>
+        internal static string Func_Compress {
+            get {
+                return ResourceManager.GetString("Func_Compress", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Content Editor.
+        /// </summary>
+        internal static string Func_ContentEditor {
+            get {
+                return ResourceManager.GetString("Func_ContentEditor", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Conversion.
+        /// </summary>
+        internal static string Func_Conversion {
+            get {
+                return ResourceManager.GetString("Func_Conversion", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Compare Documents.
+        /// </summary>
+        internal static string Func_DocCompare {
+            get {
+                return ResourceManager.GetString("Func_DocCompare", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Document Editor.
+        /// </summary>
+        internal static string Func_DocEditor {
+            get {
+                return ResourceManager.GetString("Func_DocEditor", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Forms.
+        /// </summary>
+        internal static string Func_Forms {
+            get {
+                return ResourceManager.GetString("Func_Forms", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Measurement.
+        /// </summary>
+        internal static string Func_Measurement {
+            get {
+                return ResourceManager.GetString("Func_Measurement", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Redaction.
+        /// </summary>
+        internal static string Func_Redaction {
+            get {
+                return ResourceManager.GetString("Func_Redaction", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Security.
+        /// </summary>
+        internal static string Func_Security {
+            get {
+                return ResourceManager.GetString("Func_Security", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Signatures.
+        /// </summary>
+        internal static string Func_Signatures {
+            get {
+                return ResourceManager.GetString("Func_Signatures", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Viewer.
+        /// </summary>
+        internal static string Func_Viewer {
+            get {
+                return ResourceManager.GetString("Func_Viewer", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Watermark.
+        /// </summary>
+        internal static string Func_Watermark {
+            get {
+                return ResourceManager.GetString("Func_Watermark", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to 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. .
+        /// </summary>
+        internal static string FuncDetail_Annotations {
+            get {
+                return ResourceManager.GetString("FuncDetail_Annotations", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Optimize your PDF file with compression, reducing PDF document size with no or minimum visual quality loss..
+        /// </summary>
+        internal static string FuncDetail_Compress {
+            get {
+                return ResourceManager.GetString("FuncDetail_Compress", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Edit the text and images with ComPDFKit Content Editor. Give you the freedom to adjust the size, position, style, font, etc..
+        /// </summary>
+        internal static string FuncDetail_ContentEditor {
+            get {
+                return ResourceManager.GetString("FuncDetail_ContentEditor", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Convert PDF to PDF/A. ComPDFKit also supports converting PDF to/from Word, Excel, PPT, PNG, JPG, HTML, TXT, CSV, RTF, etc..
+        /// </summary>
+        internal static string FuncDetail_Conversion {
+            get {
+                return ResourceManager.GetString("FuncDetail_Conversion", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to 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..
+        /// </summary>
+        internal static string FuncDetail_DocCompare {
+            get {
+                return ResourceManager.GetString("FuncDetail_DocCompare", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Process PDF pages and files. Add, insert, replace, extract, reverse, move, copy, paste, rotate, delete, crop, scale, etc..
+        /// </summary>
+        internal static string FuncDetail_DocEditor {
+            get {
+                return ResourceManager.GetString("FuncDetail_DocEditor", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to 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..
+        /// </summary>
+        internal static string FuncDetail_Forms {
+            get {
+                return ResourceManager.GetString("FuncDetail_Forms", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Create and edit distance, perimeter, area, angle, diameter, radius, and volume measurement annotations. Support changing the scale and precision of measurement annotations..
+        /// </summary>
+        internal static string FuncDetail_Measurement {
+            get {
+                return ResourceManager.GetString("FuncDetail_Measurement", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Use redaction to remove sensitive images, text, and vector graphics, that can&apos;t be recovered after applying the redaction. Support customizing redaction appearance and choosing an area or searching for specific text to redact..
+        /// </summary>
+        internal static string FuncDetail_Redaction {
+            get {
+                return ResourceManager.GetString("FuncDetail_Redaction", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to 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..
+        /// </summary>
+        internal static string FuncDetail_Security {
+            get {
+                return ResourceManager.GetString("FuncDetail_Security", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to 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..
+        /// </summary>
+        internal static string FuncDetail_Signatures {
+            get {
+                return ResourceManager.GetString("FuncDetail_Signatures", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to View PDFs with tools like display modes, navigation, display themes, scrolling, zooming,  text searching, text reflow, split viewer, etc..
+        /// </summary>
+        internal static string FuncDetail_Viewer {
+            get {
+                return ResourceManager.GetString("FuncDetail_Viewer", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Create, insert, and remove text or image watermarks to brand your users&apos; work and discourage its unauthorized use..
+        /// </summary>
+        internal static string FuncDetail_Watermark {
+            get {
+                return ResourceManager.GetString("FuncDetail_Watermark", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Automatically Resize.
+        /// </summary>
+        internal static string Menu_AutoSize {
+            get {
+                return ResourceManager.GetString("Menu_AutoSize", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Copy.
+        /// </summary>
+        internal static string Menu_Copy {
+            get {
+                return ResourceManager.GetString("Menu_Copy", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Cut.
+        /// </summary>
+        internal static string Menu_Cut {
+            get {
+                return ResourceManager.GetString("Menu_Cut", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Delete.
+        /// </summary>
+        internal static string Menu_Delete {
+            get {
+                return ResourceManager.GetString("Menu_Delete", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Double Page Continuous.
+        /// </summary>
+        internal static string Menu_DoubleContinuous {
+            get {
+                return ResourceManager.GetString("Menu_DoubleContinuous", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Double Page.
+        /// </summary>
+        internal static string Menu_DoublePage {
+            get {
+                return ResourceManager.GetString("Menu_DoublePage", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Edit.
+        /// </summary>
+        internal static string Menu_Edit {
+            get {
+                return ResourceManager.GetString("Menu_Edit", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Highlight.
+        /// </summary>
+        internal static string Menu_Highlight {
+            get {
+                return ResourceManager.GetString("Menu_Highlight", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Play.
+        /// </summary>
+        internal static string Menu_Play {
+            get {
+                return ResourceManager.GetString("Menu_Play", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Actual Size.
+        /// </summary>
+        internal static string Menu_RealSize {
+            get {
+                return ResourceManager.GetString("Menu_RealSize", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Sign.
+        /// </summary>
+        internal static string Menu_Sign {
+            get {
+                return ResourceManager.GetString("Menu_Sign", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Single Page Continuous.
+        /// </summary>
+        internal static string Menu_SingleContinuous {
+            get {
+                return ResourceManager.GetString("Menu_SingleContinuous", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Single Page.
+        /// </summary>
+        internal static string Menu_SinglePage {
+            get {
+                return ResourceManager.GetString("Menu_SinglePage", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Squiggly.
+        /// </summary>
+        internal static string Menu_Squiggly {
+            get {
+                return ResourceManager.GetString("Menu_Squiggly", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Strikeout.
+        /// </summary>
+        internal static string Menu_Strikeout {
+            get {
+                return ResourceManager.GetString("Menu_Strikeout", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Underline.
+        /// </summary>
+        internal static string Menu_Underline {
+            get {
+                return ResourceManager.GetString("Menu_Underline", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Zoom In.
+        /// </summary>
+        internal static string Menu_ZoomIn {
+            get {
+                return ResourceManager.GetString("Menu_ZoomIn", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Zoom Out.
+        /// </summary>
+        internal static string Menu_ZoomOut {
+            get {
+                return ResourceManager.GetString("Menu_ZoomOut", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Page .
+        /// </summary>
+        internal static string Text_Page {
+            get {
+                return ResourceManager.GetString("Text_Page", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Open....
+        /// </summary>
+        internal static string ToolTip_Open {
+            get {
+                return ResourceManager.GetString("ToolTip_Open", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Redo.
+        /// </summary>
+        internal static string Tooltip_Redo {
+            get {
+                return ResourceManager.GetString("Tooltip_Redo", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Save.
+        /// </summary>
+        internal static string ToolTip_Save {
+            get {
+                return ResourceManager.GetString("ToolTip_Save", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Undo.
+        /// </summary>
+        internal static string Tooltip_Undo {
+            get {
+                return ResourceManager.GetString("Tooltip_Undo", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Fit Page.
+        /// </summary>
+        internal static string Zoom_FitPage {
+            get {
+                return ResourceManager.GetString("Zoom_FitPage", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Fit Width.
+        /// </summary>
+        internal static string Zoom_FitWidth {
+            get {
+                return ResourceManager.GetString("Zoom_FitWidth", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Actual Size.
+        /// </summary>
+        internal static string Zoom_Real {
+            get {
+                return ResourceManager.GetString("Zoom_Real", resourceCulture);
+            }
+        }
+    }
+}

+ 186 - 0
Demo/Examples/Compdfkit_Tools/Strings/Common.resx

@@ -0,0 +1,186 @@
+<?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="Func_Viewer" xml:space="preserve">
+        <value>Viewer</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="Func_Annotations" xml:space="preserve">
+        <value>Annotations</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="Func_Forms" xml:space="preserve">
+        <value>Forms</value>
+    </data>
+    <data name="Func_Signatures" xml:space="preserve">
+        <value>Signatures</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="Func_DocEditor" xml:space="preserve">
+        <value>Document Editor</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="Func_ContentEditor" xml:space="preserve">
+        <value>Content Editor</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="Func_Security" xml:space="preserve">
+        <value>Security</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="Func_Redaction" xml:space="preserve">
+        <value>Redaction</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="Func_Watermark" xml:space="preserve">
+        <value>Watermark</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_DocCompare" xml:space="preserve">
+        <value>Compare Documents</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="Func_Conversion" xml:space="preserve">
+        <value>Conversion</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="Func_Compress" xml:space="preserve">
+        <value>Compress</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="Func_Measurement" xml:space="preserve">
+        <value>Measurement</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="Tooltip_Undo" xml:space="preserve">
+        <value>Undo</value>
+    </data>
+    <data name="Tooltip_Redo" xml:space="preserve">
+        <value>Redo</value>
+    </data>
+    <data name="Text_Page" xml:space="preserve">
+        <value>Page </value>
+    </data>
+    <data name="Menu_Highlight" xml:space="preserve">
+        <value>Highlight</value>
+    </data>
+    <data name="Menu_Underline" xml:space="preserve">
+        <value>Underline</value>
+    </data>
+    <data name="Menu_Strikeout" xml:space="preserve">
+        <value>Strikeout</value>
+    </data>
+    <data name="Menu_Squiggly" xml:space="preserve">
+        <value>Squiggly</value>
+    </data>
+    <data name="Menu_AutoSize" xml:space="preserve">
+        <value>Automatically Resize</value>
+    </data>
+    <data name="Menu_RealSize" xml:space="preserve">
+        <value>Actual Size</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="Menu_SinglePage" xml:space="preserve">
+        <value>Single Page</value>
+    </data>
+    <data name="Menu_SingleContinuous" xml:space="preserve">
+        <value>Single Page Continuous</value>
+    </data>
+    <data name="Menu_DoublePage" xml:space="preserve">
+        <value>Double Page</value>
+    </data>
+    <data name="Menu_DoubleContinuous" xml:space="preserve">
+        <value>Double Page Continuous</value>
+    </data>
+    <data name="Zoom_Real" xml:space="preserve">
+        <value>Actual Size</value>
+    </data>
+    <data name="Zoom_FitWidth" xml:space="preserve">
+        <value>Fit Width</value>
+    </data>
+    <data name="Zoom_FitPage" xml:space="preserve">
+        <value>Fit Page</value>
+    </data>
+    <data name="Menu_Sign" xml:space="preserve">
+        <value>Sign</value>
+    </data>
+    <data name="Menu_Delete" xml:space="preserve">
+        <value>Delete</value>
+    </data>
+    <data name="Menu_Copy" xml:space="preserve">
+        <value>Copy</value>
+    </data>
+    <data name="Menu_Edit" xml:space="preserve">
+        <value>Edit</value>
+    </data>
+    <data name="Menu_Cut" xml:space="preserve">
+        <value>Cut</value>
+    </data>
+    <data name="Menu_Play" xml:space="preserve">
+        <value>Play</value>
+    </data>
+    <data name="ToolTip_Open" xml:space="preserve">
+        <value>Open...</value>
+    </data>
+    <data name="ToolTip_Save" xml:space="preserve">
+        <value>Save</value>
+    </data>
+    <data name="Button_Cancel" xml:space="preserve">
+        <value>Cancel</value>
+    </data>
+    <data name="Button_OK" xml:space="preserve">
+        <value>OK</value>
+    </data>
+    <data name="Button_Save" xml:space="preserve">
+        <value>Save</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>
+</root>

+ 179 - 0
Demo/Examples/Compdfkit_Tools/Strings/Common.zh.resx

@@ -0,0 +1,179 @@
+<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="Func_Viewer" xml:space="preserve">
+        <value>查看器</value>
+    </data>
+    <data name="FuncDetail_Viewer" xml:space="preserve">
+        <value>使用各种显示模式、PDF导航、主题、滚动、缩放、搜索、文本重排、分屏视图等工具查看PDF。</value>
+    </data>
+    <data name="Func_Annotations" xml:space="preserve">
+        <value>注释</value>
+    </data>
+    <data name="FuncDetail_Annotations" xml:space="preserve">
+        <value>使用便签、链接、文本、线、矩形、箭头、圆、高亮、下划线、波浪线、删除线、图章、手绘、签名、录音等在PDF上添加注释和标记。支持创建、删除、编辑、导入、导出以及展平PDF注释。</value>
+    </data>
+    <data name="Func_Forms" xml:space="preserve">
+        <value>表单</value>
+    </data>
+    <data name="Func_Signatures" xml:space="preserve">
+        <value>签名</value>
+    </data>
+    <data name="FuncDetail_Signatures" xml:space="preserve">
+        <value>用数字签名或电子签名签署PDF文件。可以选择绘制类、图片类,或输入签名的方式轻松签署文件。或使用您的数字ID安全地进行文档签署。</value>
+    </data>
+    <data name="Func_DocEditor" xml:space="preserve">
+        <value>文档编辑器</value>
+    </data>
+    <data name="FuncDetail_DocEditor" xml:space="preserve">
+        <value>处理PDF页面和文件。添加、插入、替换、提取、倒序、移动、复制、粘贴、旋转、删除、裁剪、缩放等。</value>
+    </data>
+    <data name="Func_ContentEditor" xml:space="preserve">
+        <value>内容编辑器</value>
+    </data>
+    <data name="FuncDetail_ContentEditor" xml:space="preserve">
+        <value>使用ComPDFKit内容编辑器编辑PDF文本和图片。您可以自由调整大小、位置、样式、字体等。</value>
+    </data>
+    <data name="Func_Security" xml:space="preserve">
+        <value>安全</value>
+    </data>
+    <data name="FuncDetail_Security" xml:space="preserve">
+        <value>支持AES-128、AES-256或RC4加密保护您的文档F。允许加密、解密、和自定义权限、页眉和页脚、背景、贝茨码等。</value>
+    </data>
+    <data name="Func_Redaction" xml:space="preserve">
+        <value>密文标记</value>
+    </data>
+    <data name="FuncDetail_Redaction" xml:space="preserve">
+        <value>使用密文标记功能删除敏感图像、文本和矢量图形等信息,一旦应用无法恢复被标记的数据。通过选择区域或搜索特定文本进行标记,支持编辑标记的样式。</value>
+    </data>
+    <data name="Func_Watermark" xml:space="preserve">
+        <value>水印</value>
+    </data>
+    <data name="FuncDetail_Watermark" xml:space="preserve">
+        <value>创建、插入和删除文字或图像水印,品牌化公司文件阻止未经授权的使用。</value>
+    </data>
+    <data name="Func_DocCompare" xml:space="preserve">
+        <value>文档对比</value>
+    </data>
+    <data name="FuncDetail_DocCompare" xml:space="preserve">
+        <value>允许通过内容对比和覆盖对比,对PDF文件和设计图纸进行比较。支持设置文件预览色进行对比、选择展示差异的方式等。</value>
+    </data>
+    <data name="Func_Conversion" xml:space="preserve">
+        <value>转档</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="Func_Compress" xml:space="preserve">
+        <value>压缩</value>
+    </data>
+    <data name="FuncDetail_Compress" xml:space="preserve">
+        <value>通过压缩来优化您的PDF文件,减小PDF文档大小,且无视觉质量损失。</value>
+    </data>
+    <data name="Func_Measurement" xml:space="preserve">
+        <value>测量</value>
+    </data>
+    <data name="FuncDetail_Measurement" xml:space="preserve">
+        <value>创建和编辑距离、周长、面积、角度、直径、半径和体积测量注释。且支持改变测量注释的比例和精度。</value>
+    </data>
+    <data name="Tooltip_Undo" xml:space="preserve">
+        <value>撤销</value>
+    </data>
+    <data name="Tooltip_Redo" xml:space="preserve">
+        <value>重做</value>
+    </data>
+    <data name="Text_Page" xml:space="preserve">
+        <value>页码 </value>
+    </data>
+    <data name="Menu_Highlight" xml:space="preserve">
+        <value>亮高</value>
+    </data>
+    <data name="Menu_Underline" xml:space="preserve">
+        <value>下划线</value>
+    </data>
+    <data name="Menu_Strikeout" xml:space="preserve">
+        <value>删除线</value>
+    </data>
+    <data name="Menu_Squiggly" xml:space="preserve">
+        <value>波浪线</value>
+    </data>
+    <data name="Menu_AutoSize" xml:space="preserve">
+        <value>自适应大小</value>
+    </data>
+    <data name="Menu_RealSize" 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="Menu_SinglePage" xml:space="preserve">
+        <value>单页</value>
+    </data>
+    <data name="Menu_SingleContinuous" xml:space="preserve">
+        <value>单页连续</value>
+    </data>
+    <data name="Menu_DoublePage" xml:space="preserve">
+        <value>双页</value>
+    </data>
+    <data name="Menu_DoubleContinuous" xml:space="preserve">
+        <value>双页连续</value>
+    </data>
+    <data name="Zoom_Real" xml:space="preserve">
+        <value>实际大小</value>
+    </data>
+    <data name="Zoom_FitWidth" xml:space="preserve">
+        <value>适合宽度</value>
+    </data>
+    <data name="Zoom_FitPage" xml:space="preserve">
+        <value>适合页面</value>
+    </data>
+    <data name="Menu_Sign" xml:space="preserve">
+        <value>签名</value>
+    </data>
+    <data name="Menu_Delete" xml:space="preserve">
+        <value>删除</value>
+    </data>
+    <data name="Menu_Copy" xml:space="preserve">
+        <value>复制</value>
+    </data>
+    <data name="Menu_Edit" xml:space="preserve">
+        <value>编辑</value>
+    </data>
+    <data name="Menu_Cut" xml:space="preserve">
+        <value>剪切</value>
+    </data>
+    <data name="Menu_Play" xml:space="preserve">
+        <value>播放</value>
+    </data>
+    <data name="ToolTip_Open" xml:space="preserve">
+        <value>打开文件</value>
+    </data>
+    <data name="ToolTip_Save" xml:space="preserve">
+        <value>保存</value>
+    </data>
+    <data name="Button_Cancel" xml:space="preserve">
+        <value>取消</value>
+    </data>
+    <data name="Button_OK" xml:space="preserve">
+        <value>确定</value>
+    </data>
+    <data name="Button_Save" xml:space="preserve">
+        <value>保存</value>
+    </data>
+    <data name="FuncDetail_Forms" xml:space="preserve">
+        <value>使用文本域、复选框、单选按钮、列表框、下拉菜单、按钮和签名等多种PDF表单域创建表单。支持创建、删除、编辑、填写、展平,导入或导出表单。</value>
+    </data>
+</root>

Разлика између датотеке није приказан због своје велике величине
+ 1052 - 0
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.Designer.cs


+ 351 - 0
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.resx

@@ -0,0 +1,351 @@
+<?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="Property_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 </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</value>
+    </data>
+    <data name="Check_Time" xml:space="preserve">
+        <value>Time</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_Defualt" 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>
+</root>

+ 341 - 0
Demo/Examples/Compdfkit_Tools/Strings/PropertyPanel.zh.resx

@@ -0,0 +1,341 @@
+<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="Property_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>日期</value>
+    </data>
+    <data name="Check_Time" xml:space="preserve">
+        <value>时间</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_Defualt" 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>
+</root>

+ 0 - 123
Demo/Examples/Compdfkit_Tools/Strings/Resources.resx

@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="Apple" xml:space="preserve">
-    <value>Apple🍎</value>
-  </data>
-</root>

+ 0 - 0
Demo/Examples/Compdfkit_Tools/Strings/Resources.zh-CN.Designer.cs


+ 0 - 123
Demo/Examples/Compdfkit_Tools/Strings/Resources.zh-CN.resx

@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="Apple" xml:space="preserve">
-    <value>苹果为什么</value>
-  </data>
-</root>

+ 62 - 0
Demo/Examples/Compdfkit_Tools/Strings/ToolBar.Designer.cs

@@ -0,0 +1,62 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Compdfkit_Tools.Strings.Common {
+    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", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class ToolBar {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal ToolBar() {
+        }
+        
+        /// <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.ToolBar", typeof(ToolBar).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;
+            }
+        }
+    }
+}

+ 120 - 0
Demo/Examples/Compdfkit_Tools/Strings/ToolBar.resx

@@ -0,0 +1,120 @@
+<?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="Tooltip_Note" xml:space="preserve">
+        <value>Note</value>
+    </data>
+    <data name="Tooltip_Highlight" xml:space="preserve">
+        <value>Highlight</value>
+    </data>
+    <data name="Tooltip_Underline" xml:space="preserve">
+        <value>Underline</value>
+    </data>
+    <data name="Tooltip_Strikeout" xml:space="preserve">
+        <value>Strikeout</value>
+    </data>
+    <data name="Tooltip_Squiggly" xml:space="preserve">
+        <value>Squiggly</value>
+    </data>
+    <data name="Tooltip_Ink" xml:space="preserve">
+        <value>Ink</value>
+    </data>
+    <data name="Tooltip_Circle" xml:space="preserve">
+        <value>Circle</value>
+    </data>
+    <data name="Tooltip_Square" xml:space="preserve">
+        <value>Square</value>
+    </data>
+    <data name="Tooltip_Arrow" xml:space="preserve">
+        <value>Arrow</value>
+    </data>
+    <data name="Tooltip_Line" xml:space="preserve">
+        <value>Line</value>
+    </data>
+    <data name="Tooltip_FreeText" xml:space="preserve">
+        <value>FreeText</value>
+    </data>
+    <data name="Tooltip_Sig" xml:space="preserve">
+        <value>Signatures</value>
+    </data>
+    <data name="Tooltip_Stamp" xml:space="preserve">
+        <value>Stamp</value>
+    </data>
+    <data name="Tooltip_Image" xml:space="preserve">
+        <value>Image</value>
+    </data>
+    <data name="Tooltip_Link" xml:space="preserve">
+        <value>Link</value>
+    </data>
+    <data name="Tooltip_Audio" xml:space="preserve">
+        <value>Audio</value>
+    </data>
+    <data name="Button_TextField" xml:space="preserve">
+        <value>Text Field</value>
+    </data>
+    <data name="Button_Chb" xml:space="preserve">
+        <value>Check Box</value>
+    </data>
+    <data name="Button_Rdo" xml:space="preserve">
+        <value>Radio Button</value>
+    </data>
+    <data name="Button_ListBox" xml:space="preserve">
+        <value>List Box</value>
+    </data>
+    <data name="Button_Cmb" xml:space="preserve">
+        <value>Combo Button</value>
+    </data>
+    <data name="Button_Btn" xml:space="preserve">
+        <value>Push Button</value>
+    </data>
+    <data name="Button_Sig" xml:space="preserve">
+        <value>Signatures</value>
+    </data>
+    <data name="Button_Text" xml:space="preserve">
+        <value>Add Text</value>
+    </data>
+    <data name="Button_Image" xml:space="preserve">
+        <value>Add Image</value>
+    </data>
+    <data name="Button_Insert" xml:space="preserve">
+        <value>Insert</value>
+    </data>
+    <data name="Button_Replace" xml:space="preserve">
+        <value>Replace</value>
+    </data>
+    <data name="Button_Extract" xml:space="preserve">
+        <value>Extract</value>
+    </data>
+    <data name="Button_Merge" xml:space="preserve">
+        <value>Merge</value>
+    </data>
+    <data name="Button_Split" xml:space="preserve">
+        <value>Split</value>
+    </data>
+    <data name="Button_Reverse" xml:space="preserve">
+        <value>Reverse</value>
+    </data>
+    <data name="Button_NewSig" xml:space="preserve">
+        <value>Add a Signature Field</value>
+    </data>
+    <data name="Button_VerifySig" xml:space="preserve">
+        <value>Verify the Signature</value>
+    </data>
+</root>

+ 113 - 0
Demo/Examples/Compdfkit_Tools/Strings/ToolBar.zh.resx

@@ -0,0 +1,113 @@
+<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="Tooltip_Note" xml:space="preserve">
+        <value>便签</value>
+    </data>
+    <data name="Tooltip_Highlight" xml:space="preserve">
+        <value>高亮</value>
+    </data>
+    <data name="Tooltip_Underline" xml:space="preserve">
+        <value>下划线</value>
+    </data>
+    <data name="Tooltip_Strikeout" xml:space="preserve">
+        <value>删除线</value>
+    </data>
+    <data name="Tooltip_Squiggly" xml:space="preserve">
+        <value>波浪线</value>
+    </data>
+    <data name="Tooltip_Ink" xml:space="preserve">
+        <value>手绘</value>
+    </data>
+    <data name="Tooltip_Circle" xml:space="preserve">
+        <value>圆</value>
+    </data>
+    <data name="Tooltip_Square" xml:space="preserve">
+        <value>矩形</value>
+    </data>
+    <data name="Tooltip_Arrow" xml:space="preserve">
+        <value>箭头</value>
+    </data>
+    <data name="Tooltip_Line" xml:space="preserve">
+        <value>线</value>
+    </data>
+    <data name="Tooltip_FreeText" xml:space="preserve">
+        <value>文本</value>
+    </data>
+    <data name="Tooltip_Sig" xml:space="preserve">
+        <value>签名</value>
+    </data>
+    <data name="Tooltip_Stamp" xml:space="preserve">
+        <value>图章</value>
+    </data>
+    <data name="Tooltip_Image" xml:space="preserve">
+        <value>图片</value>
+    </data>
+    <data name="Tooltip_Link" xml:space="preserve">
+        <value>链接</value>
+    </data>
+    <data name="Tooltip_Audio" xml:space="preserve">
+        <value>音频</value>
+    </data>
+    <data name="Button_TextField" xml:space="preserve">
+        <value>文本域</value>
+    </data>
+    <data name="Button_Chb" xml:space="preserve">
+        <value>复选框</value>
+    </data>
+    <data name="Button_Rdo" xml:space="preserve">
+        <value>单选按钮</value>
+    </data>
+    <data name="Button_ListBox" xml:space="preserve">
+        <value>列表框</value>
+    </data>
+    <data name="Button_Cmb" xml:space="preserve">
+        <value>下拉菜单</value>
+    </data>
+    <data name="Button_Btn" xml:space="preserve">
+        <value>按钮</value>
+    </data>
+    <data name="Button_Sig" xml:space="preserve">
+        <value>签名</value>
+    </data>
+    <data name="Button_Text" xml:space="preserve">
+        <value>添加文字</value>
+    </data>
+    <data name="Button_Image" xml:space="preserve">
+        <value>添加图片</value>
+    </data>
+    <data name="Button_Insert" xml:space="preserve">
+        <value>插入</value>
+    </data>
+    <data name="Button_Replace" xml:space="preserve">
+        <value>替换</value>
+    </data>
+    <data name="Button_Extract" xml:space="preserve">
+        <value>提取</value>
+    </data>
+    <data name="Button_Merge" xml:space="preserve">
+        <value>合并</value>
+    </data>
+    <data name="Button_Split" xml:space="preserve">
+        <value>拆分</value>
+    </data>
+    <data name="Button_Reverse" xml:space="preserve">
+        <value>倒叙</value>
+    </data>
+    <data name="Button_NewSig" xml:space="preserve">
+        <value>添加签名域</value>
+    </data>
+    <data name="Button_VerifySig" xml:space="preserve">
+        <value>验证签名</value>
+    </data>
+</root>

+ 19 - 1
Demo/Examples/PDFViewer/App.xaml.cs

@@ -10,6 +10,7 @@ using System.Resources;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Windows;
+using System.Windows.Data;
 using System.Xml;
 using ComPDFKit.NativeMethod;
 using Compdfkit_Tools.Helper;
@@ -25,6 +26,7 @@ namespace PDFViewer
         public static bool DefaultPDFLoaded = false;
         public Dictionary<string, string> Languages;
         public static FilePathList OpenedFilePathList = new FilePathList();
+        public static ResourceManager MainResourceManager = new ResourceManager("PDFViewer.Strings.SettingDialog", Assembly.GetExecutingAssembly());
 
         protected override void OnStartup(StartupEventArgs e)
         {
@@ -66,6 +68,22 @@ namespace PDFViewer
             FileHistoryHelper<PDFFileInfo>.Instance.SaveHistory();
         }
     }
-
+    
+    public class ResourceConverter : IValueConverter
+    {
+        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+        {
+            if (parameter == null || string.IsNullOrEmpty(parameter.ToString()))
+            {
+                return string.Empty;
+            }
+            return App.MainResourceManager.GetString(parameter.ToString());
+        }
+        
+        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+        {
+            throw new NotSupportedException();
+        }
+    }
 
 }

+ 12 - 0
Demo/Examples/PDFViewer/PDFViewer.csproj

@@ -70,6 +70,11 @@
     <Compile Include="SettingsDialog.xaml.cs">
       <DependentUpon>SettingsDialog.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Strings\SettingDialog.Designer.cs">
+      <DesignTime>True</DesignTime>
+      <AutoGen>True</AutoGen>
+      <DependentUpon>SettingDialog.resx</DependentUpon>
+    </Compile>
     <Page Include="MainPage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -112,6 +117,13 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <EmbeddedResource Include="Strings\SettingDialog.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>SettingDialog.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Strings\SettingDialog.zh.resx">
+      <DependentUpon>SettingDialog.resx</DependentUpon>
+    </EmbeddedResource>
     <None Include="packages.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>

+ 17 - 16
Demo/Examples/PDFViewer/SettingsDialog.xaml

@@ -15,6 +15,7 @@
             <ResourceDictionary.MergedDictionaries>
                 <ResourceDictionary Source="pack://application:,,,/Compdfkit_Tools;component/Asset/Styles/ComboBoxStyle.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
+            <local:ResourceConverter x:Key="ResourceConverter" />
             <DropShadowEffect x:Key="HoverThumbEffect" BlurRadius="5" ShadowDepth="0" Opacity="0.5" Color="RoyalBlue"/>
 
             <SolidColorBrush x:Key="SecundaryBackgroundColor" Color="#ffffff"></SolidColorBrush>
@@ -110,12 +111,12 @@
         </Grid.RowDefinitions>
         <StackPanel Margin="10,10,0,0">
             <Grid Margin="0,10,0,8" Height="32">
-                <TextBlock Text="Document Author" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Setting_Author, Converter={StaticResource ResourceConverter}}" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <TextBox x:Name="AuthorTxb" Padding="5,0,5,0" TextChanged="AuthorTxb_TextChanged"  HorizontalAlignment="Right" VerticalContentAlignment="Center" Width="130">
                 </TextBox>
             </Grid>
             <Grid Height="32">
-                <TextBlock Text="Language" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Setting_Language, Converter={StaticResource ResourceConverter}}" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <ComboBox x:Name="LanguageCmb" SelectionChanged="LanguageCmb_SelectionChanged" Style="{StaticResource ComboBoxStyle1}" HorizontalAlignment="Right" Width="130">
                     <ComboBoxItem></ComboBoxItem>
                     <ComboBoxItem>English</ComboBoxItem>
@@ -126,63 +127,63 @@
         <Border Grid.Row="1" BorderThickness="1" BorderBrush="#1A000000" Margin="0,0,0,10">
             <StackPanel  Margin="10">
                 <Grid Margin="0,0,0,8" Height="32">
-                    <TextBlock Text="Highlight Link area" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Text="{Binding  ConverterParameter=Setting_HighlightLinks, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                     <ToggleButton x:Name="HighlightLinkTog" Click="HighlightLinkTog_Click" Style="{StaticResource SliderSwitchToggleButtonStyle}" Height="32" HorizontalAlignment="Right"></ToggleButton>
                 </Grid>
                 <Grid Margin="0,0,0,8" Height="32">
-                    <TextBlock Text="Highlight Form area" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Text="{Binding  ConverterParameter=Setting_HighlightForms, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                     <ToggleButton x:Name="HighlightFormTog" Click="HighlightFormTog_Click" Style="{StaticResource SliderSwitchToggleButtonStyle}" Height="32" HorizontalAlignment="Right"></ToggleButton>
                 </Grid>
             </StackPanel>
         </Border>
-        <TextBlock Text="Global setting" Background="White" Grid.Row="1" Height="20" Width="90" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Top" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,-10,0,0"></TextBlock>
+        <TextBlock Text="{Binding  ConverterParameter=Title_GlobalSettings, Converter={StaticResource ResourceConverter}}" Background="White" Grid.Row="1" Height="20" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Top" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,-10,0,0"></TextBlock>
 
         <Border BorderBrush="#1A000000" BorderThickness="1"  Grid.Row="2" Grid.RowSpan="2"  Margin="0,10,0,10">
             <StackPanel  Margin="10">
                 <Grid Margin="0,0,0,8" Height="32">
-                    <TextBlock Text="Version" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                    <TextBlock Text="{Binding  ConverterParameter=Subtitle_Version, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                     <TextBlock HorizontalAlignment="Right"  VerticalAlignment="Center" Text="V1.11.0"></TextBlock>
                 </Grid>
             </StackPanel>
         </Border>
-        <TextBlock Text="SDK Information"  Grid.Row="2" Background="#ffffff" Height="20" Width="110" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,0,0,0"></TextBlock>
+        <TextBlock Text="{Binding  ConverterParameter=Title_SDKInfo, Converter={StaticResource ResourceConverter}}"  Grid.Row="2" Background="#ffffff" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="14" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,0,0,0"></TextBlock>
 
         <Border BorderBrush="#1A000000" BorderThickness="1"  Grid.Row="4"   Margin="0,10,0,10"> 
             <StackPanel Margin="10">
             <Grid Margin="0,0,0,8" Height="20">
-                <TextBlock Text="Website" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Subtitle_Website, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <Button Style="{StaticResource UnderlinedButtonStyle}" HorizontalAlignment="Right" Tag="https://www.compdf.com/" Content="https://www.compdf.com/"></Button>
             </Grid>
             <Grid Margin="0,0,0,8" Height="20">
-                <TextBlock Text="About ComPDFKit" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Subtitle_About, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <Button Style="{StaticResource UnderlinedButtonStyle}" Tag="https://www.compdf.com/company/about" Content="https://www.compdf.com/company/about" HorizontalAlignment="Right"></Button>
             </Grid>
             <Grid Margin="0,0,0,8" Height="20">
-                <TextBlock Text="Contact Sales" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Subtitle_Sales, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <Button Style="{StaticResource UnderlinedButtonStyle}" HorizontalAlignment="Right" Tag="https://www.compdf.com/contact-sales" Content="https://www.compdf.com/contact-sales"></Button>
             </Grid>
             <Grid Margin="0,0,0,8" Height="20">
-                <TextBlock Text="Email Address" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Subtitle_Email, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <Button Style="{StaticResource UnderlinedButtonStyle}" HorizontalAlignment="Right" Tag="mailto:support@compdf.com" Content="support@compdf.com"></Button>
             </Grid>
             <Grid Margin="0,0,0,8" Height="20">
-                <TextBlock Text="Technical Support" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
+                <TextBlock Text="{Binding  ConverterParameter=Subtitle_Support, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center"></TextBlock>
                 <Button Style="{StaticResource UnderlinedButtonStyle}" HorizontalAlignment="Right" Tag="https://www.compdf.com/support" Content="https://www.compdf.com/support"></Button>
             </Grid>
         </StackPanel>
         </Border>
-        <TextBlock Text="Company Information" FontSize="14" Grid.Row="4" Background="#ffffff" Height="20" Width="140" HorizontalAlignment="Left" VerticalAlignment="Top" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,0,0,8"></TextBlock>
+        <TextBlock Text="{Binding  ConverterParameter=Title_CompanyInfo, Converter={StaticResource ResourceConverter}}" FontSize="14" Grid.Row="4" Background="#ffffff" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" FontWeight="DemiBold" FontFamily="Microsoft YaHei" Margin="10,0,0,8"></TextBlock>
 
         <Grid Grid.Row="5" Margin="0,0,0,40">
             <Grid.RowDefinitions>
                 <RowDefinition Height="auto"></RowDefinition>
                 <RowDefinition></RowDefinition>
             </Grid.RowDefinitions>
-            <TextBlock Text="@ 2014-2023 PDF Technologies, Inc. All Rights Reserved." HorizontalAlignment="Center" Foreground="#999999" FontFamily="Microsoft YaHei"></TextBlock>
+            <TextBlock Text="{Binding  ConverterParameter=Link_CopyRight, Converter={StaticResource ResourceConverter}}" HorizontalAlignment="Center" Foreground="#999999" FontFamily="Microsoft YaHei"></TextBlock>
             <StackPanel HorizontalAlignment="Center" VerticalAlignment="Bottom" Grid.Row="2" Orientation="Horizontal">
-                <Button Style="{StaticResource UnderlinedButtonStyle}" Tag="https://www.compdf.com/privacy-policy/" Content="Privacy Policy"></Button>
+                <Button Style="{StaticResource UnderlinedButtonStyle}" Tag="https://www.compdf.com/privacy-policy/" Content="{Binding  ConverterParameter=Link_Policy, Converter={StaticResource ResourceConverter}}"></Button>
                 <Rectangle Width="1" Height="15" Fill="#1A000000" Margin="10,0,10,0"></Rectangle>
-                <Button Style="{StaticResource UnderlinedButtonStyle}" Tag="https://www.compdf.com/terms-of-service" Content="Terms of Service"></Button>
+                <Button Style="{StaticResource UnderlinedButtonStyle}" Tag="https://www.compdf.com/terms-of-service" Content="{Binding  ConverterParameter=Link_Service, Converter={StaticResource ResourceConverter}}"></Button>
             </StackPanel>
         </Grid>
     </Grid>

+ 2 - 2
Demo/Examples/PDFViewer/SettingsDialog.xaml.cs

@@ -66,8 +66,8 @@ namespace PDFViewer
             {
                 return;
             }
-            MessageBoxResult result = MessageBox.Show("You need to restart the application to apply the language change.\nDo you want to restart now?",
-                "Restart Application", 
+            MessageBoxResult result = MessageBox.Show(App.MainResourceManager.GetString("Tip_Restart"),
+                App.MainResourceManager.GetString("Tip_RestartTitle"), 
                 MessageBoxButton.YesNo,
                 MessageBoxImage.Question);
             if (result == MessageBoxResult.Yes)

+ 233 - 0
Demo/Examples/PDFViewer/Strings/SettingDialog.Designer.cs

@@ -0,0 +1,233 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace PDFViewer.Strings.SettingDialog {
+    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", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class SettingDialog {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal SettingDialog() {
+        }
+        
+        /// <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("PDFViewer.Strings.SettingDialog", typeof(SettingDialog).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;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to @ 2014-2023 PDF Technologies, Inc. All Rights Reserved..
+        /// </summary>
+        internal static string Link_CopyRight {
+            get {
+                return ResourceManager.GetString("Link_CopyRight", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Privacy Policy.
+        /// </summary>
+        internal static string Link_Policy {
+            get {
+                return ResourceManager.GetString("Link_Policy", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Service Terms.
+        /// </summary>
+        internal static string Link_Service {
+            get {
+                return ResourceManager.GetString("Link_Service", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to File Author.
+        /// </summary>
+        internal static string Setting_Author {
+            get {
+                return ResourceManager.GetString("Setting_Author", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Highlight Form Fields.
+        /// </summary>
+        internal static string Setting_HighlightForms {
+            get {
+                return ResourceManager.GetString("Setting_HighlightForms", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Highlight Links.
+        /// </summary>
+        internal static string Setting_HighlightLinks {
+            get {
+                return ResourceManager.GetString("Setting_HighlightLinks", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Language.
+        /// </summary>
+        internal static string Setting_Language {
+            get {
+                return ResourceManager.GetString("Setting_Language", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to About ComPDFKit.
+        /// </summary>
+        internal static string Subtitle_About {
+            get {
+                return ResourceManager.GetString("Subtitle_About", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Email Address.
+        /// </summary>
+        internal static string Subtitle_Email {
+            get {
+                return ResourceManager.GetString("Subtitle_Email", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Contact Sales.
+        /// </summary>
+        internal static string Subtitle_Sales {
+            get {
+                return ResourceManager.GetString("Subtitle_Sales", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Technical Support.
+        /// </summary>
+        internal static string Subtitle_Support {
+            get {
+                return ResourceManager.GetString("Subtitle_Support", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Version.
+        /// </summary>
+        internal static string Subtitle_Version {
+            get {
+                return ResourceManager.GetString("Subtitle_Version", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Website.
+        /// </summary>
+        internal static string Subtitle_Website {
+            get {
+                return ResourceManager.GetString("Subtitle_Website", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to You need to restart the application to apply the language change. Do you want to restart now?.
+        /// </summary>
+        internal static string Tip_Restart {
+            get {
+                return ResourceManager.GetString("Tip_Restart", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Restart Application.
+        /// </summary>
+        internal static string Tip_RestartTitle {
+            get {
+                return ResourceManager.GetString("Tip_RestartTitle", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Company Information.
+        /// </summary>
+        internal static string Title_CompanyInfo {
+            get {
+                return ResourceManager.GetString("Title_CompanyInfo", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Settings.
+        /// </summary>
+        internal static string Title_GlobalSettings {
+            get {
+                return ResourceManager.GetString("Title_GlobalSettings", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to SDK Information.
+        /// </summary>
+        internal static string Title_SDKInfo {
+            get {
+                return ResourceManager.GetString("Title_SDKInfo", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Settings.
+        /// </summary>
+        internal static string Title_Settings {
+            get {
+                return ResourceManager.GetString("Title_Settings", resourceCulture);
+            }
+        }
+    }
+}

+ 78 - 0
Demo/Examples/PDFViewer/Strings/SettingDialog.resx

@@ -0,0 +1,78 @@
+<?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="Title_Settings" xml:space="preserve">
+        <value>Settings</value>
+    </data>
+    <data name="Setting_Language" xml:space="preserve">
+        <value>Language</value>
+    </data>
+    <data name="Setting_Author" xml:space="preserve">
+        <value>File Author</value>
+    </data>
+    <data name="Setting_HighlightForms" xml:space="preserve">
+        <value>Highlight Form Fields</value>
+    </data>
+    <data name="Setting_HighlightLinks" xml:space="preserve">
+        <value>Highlight Links</value>
+    </data>
+    <data name="Title_SDKInfo" xml:space="preserve">
+        <value>SDK Information</value>
+    </data>
+    <data name="Subtitle_Version" xml:space="preserve">
+        <value>Version</value>
+    </data>
+    <data name="Title_CompanyInfo" xml:space="preserve">
+        <value>Company Information</value>
+    </data>
+    <data name="Subtitle_Website" xml:space="preserve">
+        <value>Website</value>
+    </data>
+    <data name="Subtitle_About" xml:space="preserve">
+        <value>About ComPDFKit</value>
+    </data>
+    <data name="Subtitle_Sales" xml:space="preserve">
+        <value>Contact Sales</value>
+    </data>
+    <data name="Subtitle_Email" xml:space="preserve">
+        <value>Email Address</value>
+    </data>
+    <data name="Subtitle_Support" xml:space="preserve">
+        <value>Technical Support</value>
+    </data>
+    <data name="Link_CopyRight" xml:space="preserve">
+        <value>@ 2014-2023 PDF Technologies, Inc. All Rights Reserved.</value>
+    </data>
+    <data name="Link_Policy" xml:space="preserve">
+        <value>Privacy Policy</value>
+    </data>
+    <data name="Link_Service" xml:space="preserve">
+        <value>Service Terms</value>
+    </data>
+    <data name="Title_GlobalSettings" xml:space="preserve">
+        <value>Settings</value>
+    </data>
+    <data name="Tip_Restart" xml:space="preserve">
+        <value>You need to restart the application to apply the language change. Do you want to restart now?</value>
+    </data>
+    <data name="Tip_RestartTitle" xml:space="preserve">
+        <value>Restart Application</value>
+    </data>
+</root>

+ 71 - 0
Demo/Examples/PDFViewer/Strings/SettingDialog.zh.resx

@@ -0,0 +1,71 @@
+<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="Title_Settings" xml:space="preserve">
+        <value>设置</value>
+    </data>
+    <data name="Setting_Language" xml:space="preserve">
+        <value>语言</value>
+    </data>
+    <data name="Setting_Author" xml:space="preserve">
+        <value>文档作者</value>
+    </data>
+    <data name="Setting_HighlightForms" xml:space="preserve">
+        <value>高亮表单域</value>
+    </data>
+    <data name="Setting_HighlightLinks" xml:space="preserve">
+        <value>高亮链接文字</value>
+    </data>
+    <data name="Title_SDKInfo" xml:space="preserve">
+        <value>SDK 信息</value>
+    </data>
+    <data name="Subtitle_Version" xml:space="preserve">
+        <value>版本</value>
+    </data>
+    <data name="Title_CompanyInfo" xml:space="preserve">
+        <value>公司信息</value>
+    </data>
+    <data name="Subtitle_Website" xml:space="preserve">
+        <value>官网</value>
+    </data>
+    <data name="Subtitle_About" xml:space="preserve">
+        <value>关于 ComPDFKit</value>
+    </data>
+    <data name="Subtitle_Sales" xml:space="preserve">
+        <value>联系销售</value>
+    </data>
+    <data name="Subtitle_Email" xml:space="preserve">
+        <value>邮箱地址</value>
+    </data>
+    <data name="Subtitle_Support" xml:space="preserve">
+        <value>技术支持</value>
+    </data>
+    <data name="Link_CopyRight" xml:space="preserve">
+        <value>@ 2014-2023 PDF Technologies, Inc. All Rights Reserved.</value>
+    </data>
+    <data name="Link_Policy" xml:space="preserve">
+        <value>隐私协议</value>
+    </data>
+    <data name="Link_Service" xml:space="preserve">
+        <value>服务条款</value>
+    </data>
+    <data name="Title_GlobalSettings" xml:space="preserve">
+        <value>设置</value>
+    </data>
+    <data name="Tip_Restart" xml:space="preserve">
+        <value>您需要重新启动应用程序以应用语言更改。是否立即重新启动?</value>
+    </data>
+    <data name="Tip_RestartTitle" xml:space="preserve">
+        <value>重新启动应用</value>
+    </data>
+</root>