浏览代码

【2025】【多语】多语切换适配

lizhe 1 周之前
父节点
当前提交
8832e3b13c
共有 33 个文件被更改,包括 216 次插入161 次删除
  1. 3 3
      PDF Office/PDF Master/Class/PDFTools/AddPassword/KMSecurityWindowController.xib
  2. 2 2
      PDF Office/PDF Master/Class/PDFTools/AddPassword/View/KMSecurityContentView.xib
  3. 24 0
      PDF Office/PDF Master/Class/PDFTools/Convert/NewController/Common/Base/KMConvertBaseView.swift
  4. 3 3
      PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactConfirmWindowController.xib
  5. 6 0
      PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.swift
  6. 3 3
      PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.xib
  7. 4 0
      PDF Office/PDF Master/KMClass/Convert/Base/KMConvertBaseWindowController.swift
  8. 8 1
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertCSVSettingView.swift
  9. 14 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertExcelSettingView.swift
  10. 6 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertHtmlSettingView.swift
  11. 4 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertImageSettingView.swift
  12. 11 2
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertJsonSettingView.swift
  13. 6 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertOCRSettingItemView.swift
  14. 25 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertPageRangeSettingItemView.swift
  15. 8 0
      PDF Office/PDF Master/KMClass/Convert/View/KMConvertWordSettingView.swift
  16. 5 1
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertCSVWindowController.swift
  17. 5 1
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertExcelWindowController.swift
  18. 5 2
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertHtmlWindowController.swift
  19. 5 2
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertImageWindowController.swift
  20. 5 2
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertJsonWindowController.swift
  21. 15 12
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertPPTsWindowController.swift
  22. 5 2
      PDF Office/PDF Master/KMClass/Convert/Window/KMConvertWordWindowController.swift
  23. 2 2
      PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/KMRedactToolbarController.xib
  24. 5 1
      PDF Office/PDF Master/KMClass/NewBatch/View/BatchCollectionView/KMBatchCollectionView.swift
  25. 7 0
      PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/KMBatchProcessingView.swift
  26. 2 2
      PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/KMBatchProcessingView.xib
  27. 11 11
      PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/SelectedFiles/KMBatchSelectedFilesView.swift
  28. 2 0
      PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ConvertPDF/KMBatchConvertPDFView.swift
  29. 1 0
      PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ImageToPDF/KMBatchImageToPDFView.swift
  30. 2 2
      PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ImageToPDF/KMBatchImageToPDFView.xib
  31. 5 0
      PDF Office/PDF Master/KMClass/NewBatch/View/Setting/OCR/KMBatchOCRView.swift
  32. 6 0
      PDF Office/PDF Master/KMClass/NewBatch/View/Setting/Security/KMBatchSecurityView.swift
  33. 1 107
      PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/AddPassword/KMSecurityWindowController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -18,7 +18,7 @@
             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="1127" y="544" width="480" height="344"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <value key="minSize" type="size" width="480" height="344"/>
             <value key="maxSize" type="size" width="480" height="344"/>
             <view key="contentView" id="se5-gp-TjO">

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/AddPassword/View/KMSecurityContentView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

+ 24 - 0
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/Common/Base/KMConvertBaseView.swift

@@ -9,6 +9,11 @@ import Cocoa
 
 // 转档视图基类
 class KMConvertBaseView: NSView, NibLoadable {
+    deinit {
+        KMPrint(self.className + " deinit.")
+        
+        self.removeNotifations()
+    }
     
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)
@@ -34,8 +39,27 @@ class KMConvertBaseView: NSView, NibLoadable {
         
         self.initSubViews()
         self.initDefaultVlaue()
+        self.addNotifations()
+    }
+    
+    private func addNotifations() {
+        self.removeNotifations()
+        
+        updateUIThemeColor()
+        NotificationCenter.default.addObserver(self, selector: #selector(updateUIThemeColor), name: APPAppearanceChangedNotificationName, object: nil)
+        
+        updateUILanguage()
+        NotificationCenter.default.addObserver(self, selector: #selector(updateUILanguage), name: APPLanguageChangedNotificationName, object: nil)
+    }
+    
+    private func removeNotifations() {
+        NotificationCenter.default.removeObserver(self)
     }
     
+    @objc func updateUIThemeColor() {}
+    
+    @objc func updateUILanguage() {}
+    
     func initDefaultVlaue() {}
     func initSubViews() {}
     

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactConfirmWindowController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -22,7 +22,7 @@
             <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="196" y="240" width="358" height="246"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <value key="minSize" type="size" width="358" height="246"/>
             <value key="maxSize" type="size" width="358" height="246"/>
             <value key="minFullScreenContentSize" type="size" width="358" height="246"/>

+ 6 - 0
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.swift

@@ -189,8 +189,14 @@ class KMRedactPropertiesWindowController: KMNBaseWindowController {
         subLabel.stringValue = KMLocalizedString("Mark Color")
         
         okButton.properties.buttonText = KMLocalizedString("OK")
+        okButton.reloadData()
         cancelButton.properties.buttonText = KMLocalizedString("Cancel")
+        cancelButton.reloadData()
         makePropertiesButton.properties.buttonText = KMLocalizedString("Make Properties Default")
+        makePropertiesButton.reloadData()
+        
+        overlayTextarea.properties.placeholderString = KMLocalizedString("Enter text...")
+        overlayTextarea.reloadData()
         
         okWidthButton.constant = okButton.properties.propertyInfo.viewWidth
         cancelWidthButton.constant = cancelButton.properties.propertyInfo.viewWidth

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/Redact/Window/KMRedactPropertiesWindowController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -39,7 +39,7 @@
             <windowStyleMask key="styleMask" titled="YES" fullSizeContentView="YES"/>
             <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
             <rect key="contentRect" x="1164" y="250" width="554" height="862"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
             <value key="minSize" type="size" width="360" height="406"/>
             <view key="contentView" id="se5-gp-TjO">
                 <rect key="frame" x="0.0" y="0.0" width="356" height="470"/>

+ 4 - 0
PDF Office/PDF Master/KMClass/Convert/Base/KMConvertBaseWindowController.swift

@@ -95,6 +95,10 @@ class KMConvertBaseWindowController: KMNBaseWindowController {
         KMMainThreadExecute {
             self.batchButton_?.properties.buttonText = KMLocalizedString("Batch")
             self.batchButton_?.reloadData()
+            self.cancelButton_?.properties.buttonText = KMLocalizedString("Cancel")
+            self.cancelButton_?.reloadData()
+            self.convertButton_?.properties.buttonText = KMLocalizedString("Convert")
+            self.convertButton_?.reloadData()
         }
     }
     

+ 8 - 1
PDF Office/PDF Master/KMClass/Convert/View/KMConvertCSVSettingView.swift

@@ -40,7 +40,6 @@ class KMConvertCSVSettingView: KMConvertSettingView {
     override func initSubViews() {
         super.initSubViews()
         
-        self.titleLabel.stringValue = KMLocalizedString("CSV Settings")
         self.titleLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-medium")
         self.titleLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
         
@@ -68,6 +67,14 @@ class KMConvertCSVSettingView: KMConvertSettingView {
  
     }
     
+    override func updateUILanguage() {
+        creatSheetForEachTableButton.properties.text = KMLocalizedString("Create Sheet for each Table")
+        creatSheetForEachTableButton.reloadData()
+        creatSingleSheetForFileButton.properties.text = KMLocalizedString("Create single Sheet for File")
+        creatSingleSheetForFileButton.reloadData()
+        self.titleLabel.stringValue = KMLocalizedString("Settings")
+    }
+    
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         

+ 14 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertExcelSettingView.swift

@@ -173,6 +173,20 @@ class KMConvertExcelSettingView: KMConvertSettingView {
         self.tableFormatBox.fillColor = .clear
     }
     
+    override func updateUILanguage() {
+        tableFormatSelect_.properties.text = KMLocalizedString("Create Sheet for each Table", comment: "")
+        tableFormatSelect_.reloadData()
+        excelSettingTitleLabel.stringValue = KMLocalizedString("Excel Worksheet Settings", comment: "")
+        sheetSelect_.properties.text = KMLocalizedString("Create Sheet for each Page", comment: "")
+        sheetSelect_.reloadData()
+        allContentRadio_.properties.text = KMLocalizedString("All Content", comment: "")
+        allContentRadio_.reloadData()
+        onlyTableRadio_.properties.text = KMLocalizedString("Only Table", comment: "")
+        onlyTableRadio_.reloadData()
+        onlyTextRadio_.properties.text = KMLocalizedString("Only Text", comment: "")
+        onlyTextRadio_.reloadData()
+    }
+    
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         

+ 6 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertHtmlSettingView.swift

@@ -86,6 +86,12 @@ class KMConvertHtmlSettingView: KMConvertSettingView {
         self.pageRangeBox.borderWidth = 0
     }
     
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Page Options", comment: "")
+        pageSelect_.properties.text = KMLocalizedString("Single Page", comment: "")
+        pageSelect_.reloadData()
+    }
+    
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         

+ 4 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertImageSettingView.swift

@@ -109,6 +109,10 @@ class KMConvertImageSettingView: KMConvertSettingView {
         self.formatBox.fillColor = .clear
     }
     
+    override func updateUILanguage() {
+        self.fileTypeTitleLabel.stringValue = KMLocalizedString("Format", comment: "")
+    }
+    
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         

+ 11 - 2
PDF Office/PDF Master/KMClass/Convert/View/KMConvertJsonSettingView.swift

@@ -42,7 +42,7 @@ class KMConvertJsonSettingView: KMConvertSettingView {
                                                                state: .normal,
                                                                isDisabled: false,
                                                                showhelp: false,
-                                                               text: KMLocalizedString("Extract Text", comment: ""),
+                                                               text: KMLocalizedString("Extract text content", comment: ""),
                                                                checkboxType: .normal)
         extractTextRadio.setTarget(self, action: #selector(radioAction))
         
@@ -50,7 +50,7 @@ class KMConvertJsonSettingView: KMConvertSettingView {
                                                                state: .normal,
                                                                isDisabled: false,
                                                                showhelp: false,
-                                                               text: KMLocalizedString("Extract Tables", comment: ""),
+                                                               text: KMLocalizedString("Extract tables", comment: ""),
                                                                checkboxType: .normal)
         extactTableRadio.setTarget(self, action: #selector(radioAction))
         
@@ -77,6 +77,15 @@ class KMConvertJsonSettingView: KMConvertSettingView {
         }
     }
     
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Json Worksheet Settings", comment: "")
+        extractTextRadio.properties.text = KMLocalizedString("Extract text content", comment: "")
+        extractTextRadio.reloadData()
+        extactTableRadio.properties.text = KMLocalizedString("Extract tables", comment: "")
+        extactTableRadio.reloadData()
+        
+    }
+    
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         

+ 6 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertOCRSettingItemView.swift

@@ -167,6 +167,12 @@ class KMConvertOCRSettingItemView: KMConvertBaseView {
         
     }
     
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Text Recognition Settings", comment: "")
+        self.checkView_.properties.text = KMLocalizedString("Recognize text if needed", comment: "")
+        self.checkView_.reloadData()
+    }
+    
     @objc func checkBoxAction(sender: NSButton) {
 #if VERSION_DMG
         KMResourceDownloadManager.manager.needDownloadOCRResource(complete: { [weak self] result in

+ 25 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertPageRangeSettingItemView.swift

@@ -81,6 +81,31 @@ class KMConvertPageRangeSettingItemView: KMConvertBaseView {
         self.titleLabel.textColor = NSColor.km_init(hex: "#616469")
         self.titleLabel.font = .SFProTextSemiboldFont(12)
     }
+    
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Page Range", comment: "")
+        
+        let strings = [KMTools.pageRangeTypeString(pageRange: .all),
+                       KMTools.pageRangeTypeString(pageRange: .current),
+                       KMTools.pageRangeTypeString(pageRange: .odd),
+                       KMTools.pageRangeTypeString(pageRange: .even),
+                       KMTools.pageRangeTypeString(pageRange: .custom)]
+        var menuItemArr: [ComponentMenuitemProperty] = []
+        for str in strings {
+            let itemProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false,
+                                                                                    itemSelected: false,
+                                                                                    isDisabled: false,
+                                                                                    keyEquivalent: nil,
+                                                                                    text: str)
+            menuItemArr.append(itemProperty)
+        }
+
+        var selectIndex = max(pageRangeView_.indexOfSelect(), 0)
+        
+        pageRangeView_.updateMenuItemsArr(menuItemArr)
+        pageRangeView_.properties.text = strings[selectIndex]
+        pageRangeView_.reloadData()
+    }
 }
 
 extension KMConvertPageRangeSettingItemView: KMSelectPopButtonDelegate {

+ 8 - 0
PDF Office/PDF Master/KMClass/Convert/View/KMConvertWordSettingView.swift

@@ -83,6 +83,14 @@ class KMConvertWordSettingView: KMConvertSettingView {
         self.pageRangeItemView?.isHidden = self.isBatch
     }
     
+    override func updateUILanguage() {
+        saveFlowTextRadio.properties.text = KMLocalizedString("Retain Flowing Text")
+        saveFlowTextRadio.reloadData()
+        savePageLayoutRadio.properties.text = KMLocalizedString("Retain Flowing Text")
+        savePageLayoutRadio.reloadData()
+        pageSettingTitleLabel.stringValue = KMLocalizedString("Layout Settings")
+    }
+    
     @objc func saveFlowTextRadioAction(sender: AnyObject) {
         self._flowTextAction()
     }

+ 5 - 1
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertCSVWindowController.swift

@@ -21,7 +21,6 @@ class KMConvertCSVWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        self.titleLabel.stringValue = KMLocalizedString("PDF to CSV", comment: "")
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -32,6 +31,11 @@ class KMConvertCSVWindowController: KMConvertBaseWindowController {
         return KMPDFConvertCSV()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To CSV", comment: "")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 5 - 1
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertExcelWindowController.swift

@@ -16,7 +16,6 @@ class KMConvertExcelWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        self.titleLabel.stringValue = KMLocalizedString("PDF to Excel", comment: "")
 
         self.setupContentHeight(height: 391+32)
     }
@@ -29,6 +28,11 @@ class KMConvertExcelWindowController: KMConvertBaseWindowController {
         return KMPDFConvertExcel()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To Excel", comment: "")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 5 - 2
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertHtmlWindowController.swift

@@ -15,8 +15,6 @@ class KMConvertHtmlWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        
-        self.titleLabel.stringValue = KMLocalizedString("PDF to HTML", comment: "")
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -27,6 +25,11 @@ class KMConvertHtmlWindowController: KMConvertBaseWindowController {
         return KMPDFConvertHTML()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To HTML", comment: "")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 5 - 2
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertImageWindowController.swift

@@ -10,8 +10,6 @@ class KMConvertImageWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        
-        self.titleLabel.stringValue = KMLocalizedString("PDF to Image", comment: "")
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -30,6 +28,11 @@ class KMConvertImageWindowController: KMConvertBaseWindowController {
         return super.fileExtension
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To Image")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         let settingView: KMConvertImageSettingView = self.settingView as! KMConvertImageSettingView
         

+ 5 - 2
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertJsonWindowController.swift

@@ -14,8 +14,6 @@ class KMConvertJsonWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        
-        self.titleLabel.stringValue = KMLocalizedString("PDF to Json", comment: "")
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -26,6 +24,11 @@ class KMConvertJsonWindowController: KMConvertBaseWindowController {
         return KMPDFConvertJson()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To Json", comment: "")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 15 - 12
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertPPTsWindowController.swift

@@ -27,18 +27,6 @@ class KMConvertPPTsWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        
-        if (self.subType == 1) {
-            self.titleLabel.stringValue = KMLocalizedString("PDF to PPT", comment: "")
-        } else if (self.subType == 2) {
-            self.titleLabel.stringValue = KMLocalizedString("PDF to RTF", comment: "")
-        } else if (self.subType == 3) {
-            self.titleLabel.stringValue = KMLocalizedString("PDF to HTML", comment: "")
-        } else if (self.subType == 4) {
-            self.titleLabel.stringValue = KMLocalizedString("PDF to Text", comment: "")
-        } else if subType == 5 {
-            self.titleLabel.stringValue = KMLocalizedString("PDF to CSV", comment: "")
-        }
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -60,6 +48,21 @@ class KMConvertPPTsWindowController: KMConvertBaseWindowController {
         return super.initConvert()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        if (self.subType == 1) {
+            self.titleLabel.stringValue = KMLocalizedString("To PPT", comment: "")
+        } else if (self.subType == 2) {
+            self.titleLabel.stringValue = KMLocalizedString("To RTF", comment: "")
+        } else if (self.subType == 3) {
+            self.titleLabel.stringValue = KMLocalizedString("To HTML", comment: "")
+        } else if (self.subType == 4) {
+            self.titleLabel.stringValue = KMLocalizedString("To Text", comment: "")
+        } else if subType == 5 {
+            self.titleLabel.stringValue = KMLocalizedString("To CSV", comment: "")
+        }
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 5 - 2
PDF Office/PDF Master/KMClass/Convert/Window/KMConvertWordWindowController.swift

@@ -18,8 +18,6 @@ class KMConvertWordWindowController: KMConvertBaseWindowController {
     
     override func initContentView() {
         super.initContentView()
-        
-        self.titleLabel.stringValue = KMLocalizedString("PDF to Word", comment: "")
     }
     
     override func initSettingView() -> KMConvertSettingView? {
@@ -30,6 +28,11 @@ class KMConvertWordWindowController: KMConvertBaseWindowController {
         return KMPDFConvertWord()
     }
     
+    override func updateUILanguage() {
+        super.updateUILanguage()
+        self.titleLabel.stringValue = KMLocalizedString("To Word", comment: "")
+    }
+    
     override func convertModelAppendParams(convert: KMPDFConvert) {
         super.convertModelAppendParams(convert: convert)
         

+ 2 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/KMRedactToolbarController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

+ 5 - 1
PDF Office/PDF Master/KMClass/NewBatch/View/BatchCollectionView/KMBatchCollectionView.swift

@@ -69,7 +69,11 @@ class KMBatchCollectionView: BaseXibView {
     }
     
     func reloadData() {
-        
+        self.collectionView.reloadData()
+    }
+    
+    override func updateUILanguage() {
+        self.reloadData()
     }
 }
 

+ 7 - 0
PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/KMBatchProcessingView.swift

@@ -136,6 +136,13 @@ class KMBatchProcessingView: BaseXibView {
         self.tableView.reloadData()
     }
     
+    override func updateUILanguage() {
+        self.reloadData()
+        
+        addFilesButton.properties.buttonText = KMLocalizedString("Add Files")
+        addFilesButton.reloadData()
+    }
+    
     func showGroupView() {
         
         var viewHeight: CGFloat = 8

+ 2 - 2
PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/KMBatchProcessingView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

+ 11 - 11
PDF Office/PDF Master/KMClass/NewBatch/View/KMBatchProcessingView/SelectedFiles/KMBatchSelectedFilesView.swift

@@ -37,17 +37,8 @@ class KMBatchSelectedFilesView: BaseXibView {
         
         self.subtitleLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorPicture/empty-textSecondary")
         self.subtitleLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-regular")
-        
-        
-        self.titleLabel.stringValue = KMLocalizedString("Select Files", comment: "")
-        self.subtitleLabel.stringValue = KMLocalizedString("Drop files here or Click Add Files at upper left corner. You can drag files to reorder as you need.", comment: "")
-        
-        let title = KMLocalizedString("Drop files here or Click Add Files at upper left corner. You can drag files to reorder as you need.", comment: "")
-        let paragraphStyle = NSMutableParagraphStyle()
-        paragraphStyle.lineHeightMultiple = 1.32
-        paragraphStyle.alignment = .center
-        self.subtitleLabel.attributedStringValue = NSMutableAttributedString(string: title, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle, .foregroundColor : NSColor.km_init(hex: "#94989C"), NSAttributedString.Key.font: NSFont.SFProTextRegularFont(12)])
-        
+           
+
         self.box.moveCallback = { [unowned self] mouseEntered, mouseBox in
             if mouseEntered {
                 self.imageButton.image = NSImage(named: "icon_empty_add_hov")
@@ -64,6 +55,15 @@ class KMBatchSelectedFilesView: BaseXibView {
             }
         }
     }
+    
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Select Files", comment: "")
+        let title = KMLocalizedString("Drop files here or Click Add Files at upper left corner. You can drag files to reorder as you need.", comment: "")
+        let paragraphStyle = NSMutableParagraphStyle()
+        paragraphStyle.lineHeightMultiple = 1.32
+        paragraphStyle.alignment = .center
+        self.subtitleLabel.attributedStringValue = NSMutableAttributedString(string: title, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle, .foregroundColor : NSColor.km_init(hex: "#94989C"), NSAttributedString.Key.font: NSFont.SFProTextRegularFont(12)])
+    }
 }
 
 protocol KMBatchSelectedFilesViewAction {}

+ 2 - 0
PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ConvertPDF/KMBatchConvertPDFView.swift

@@ -142,6 +142,8 @@ class KMBatchConvertPDFView: KMBatchSettingItemView {
     override func updateUILanguage() {
         self.titleLabel.stringValue = KMLocalizedString("Convert")
         self.formatLabel.stringValue = KMLocalizedString("Formats:")
+        self.convertButton.properties.buttonText = KMLocalizedString("Apply")
+        self.cancelButton.properties.buttonText = KMLocalizedString("Cancel")
     }
     
     override func reloadData() {

+ 1 - 0
PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ImageToPDF/KMBatchImageToPDFView.swift

@@ -75,6 +75,7 @@ class KMBatchImageToPDFView: KMBatchSettingItemView {
         self.extractTextButton.reloadData()
         
         self.applyButton.properties.buttonText = KMLocalizedString("Apply")
+        self.applyButton.reloadData()
         
     }
     

+ 2 - 2
PDF Office/PDF Master/KMClass/NewBatch/View/Setting/ImageToPDF/KMBatchImageToPDFView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

+ 5 - 0
PDF Office/PDF Master/KMClass/NewBatch/View/Setting/OCR/KMBatchOCRView.swift

@@ -100,6 +100,11 @@ class KMBatchOCRView: KMBatchSettingItemView {
         applyButton.reloadData()
     }
     
+    override func updateUILanguage() {
+        applyButton.properties.buttonText = KMLocalizedString(("Save as PDF"))
+        cancelButton.properties.buttonText = KMLocalizedString("Cancel")
+    }
+    
     override func bacthProcessingNotification() {
         self.ocrPageView.isDisabled = self.isDisable
         self.applyButton.properties.isDisabled = self.isDisable

+ 6 - 0
PDF Office/PDF Master/KMClass/NewBatch/View/Setting/Security/KMBatchSecurityView.swift

@@ -51,6 +51,12 @@ class KMBatchSecurityView: KMBatchSettingItemView {
         }
     }
     
+    override func updateUILanguage() {
+        self.titleLabel.stringValue = KMLocalizedString("Encrypt")
+        self.encryptButton.properties.buttonText = KMLocalizedString("Apply")
+        self.encryptButton.reloadData()
+    }
+    
     override func bacthProcessingNotification() {
         self.securityContentView.isDisable = self.isDisable
         self.encryptButton.properties.isDisabled = self.isDisable

+ 1 - 107
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -2220,36 +2220,6 @@
             endingLineNumber = "334"
             landmarkName = "animationDidStop(_:finished:)"
             landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "E2F91B9F-5316-4C5C-9175-5C35BD39831C - ed78eaf88748fc67"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMAdsWebView.buttonItemClicked_Close(Any) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/AD/KMAdsWebView.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "334"
-                  endingLineNumber = "334">
-               </Location>
-               <Location
-                  uuid = "E2F91B9F-5316-4C5C-9175-5C35BD39831C - ed78eaf88748fc67"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMAdsWebView.buttonItemClicked_Close(Any) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/AD/KMAdsWebView.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "334"
-                  endingLineNumber = "334">
-               </Location>
-            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -2330,36 +2300,6 @@
             endingLineNumber = "238"
             landmarkName = "commandDispatch(_:)"
             landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "19635542-575C-4FC6-A9C4-10B83FD80C0F - edbfeb7d51eb4d78"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMBrowserWindowController.commandDispatch(Any) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "238"
-                  endingLineNumber = "238">
-               </Location>
-               <Location
-                  uuid = "19635542-575C-4FC6-A9C4-10B83FD80C0F - edbfeb7d51eb4b06"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMBrowserWindowController.commandDispatch(Any) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/ChromiumTabs/KMBrowserWindowController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "252"
-                  endingLineNumber = "252">
-               </Location>
-            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -2574,36 +2514,6 @@
             endingLineNumber = "1013"
             landmarkName = "printOperation(withSettings:)"
             landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "1B44CB86-7C07-4216-880F-8C757C41A71B - aa2566fc42245d34"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainDocument._removeSavePanelOfFormatPopupItems(__C.NSSavePanel) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/Document/KMMainDocument.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1013"
-                  endingLineNumber = "1013">
-               </Location>
-               <Location
-                  uuid = "1B44CB86-7C07-4216-880F-8C757C41A71B - aa2566fc42245d34"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainDocument._removeSavePanelOfFormatPopupItems(__C.NSSavePanel) -&gt; ()"
-                  moduleName = "PDF Reader Pro.debug.dylib"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/Document/KMMainDocument.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1013"
-                  endingLineNumber = "1013">
-               </Location>
-            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -4673,7 +4583,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "514"
             endingLineNumber = "514"
-            landmarkName = "-setAnnotationType:"
+            landmarkName = "-currentSelectionRect"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -6155,22 +6065,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "3C0E030B-51BD-41A4-8C06-E8B274CAB778"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFWindowController/PDFListView/CPDFListView.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "643"
-            endingLineNumber = "643"
-            landmarkName = "-setShowFormFieldName:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent