diff --git a/Source/Modules/IMEModules/IME.swift b/Source/Modules/IMEModules/IME.swift index 09b769eb..9afa12fe 100644 --- a/Source/Modules/IMEModules/IME.swift +++ b/Source/Modules/IMEModules/IME.swift @@ -67,9 +67,9 @@ public class IME: NSObject { // mgrLangModel 的 loadUserPhrases 等函數在自動讀取 dataFolderPath 時, // 如果發現自訂目錄不可用,則會自動抹去自訂目錄設定、改採預設目錄。 // 所以這裡不需要特別處理。 - mgrLangModel.loadUserAssociatedPhrases() + mgrLangModel.loadUserAssociatesData() mgrLangModel.loadUserPhraseReplacement() - mgrLangModel.loadUserPhrases() + mgrLangModel.loadUserPhrasesData() if !userOnly { // mgrLangModel.loadDataModels() } diff --git a/Source/Modules/IMEModules/ctlInputMethod_Menu.swift b/Source/Modules/IMEModules/ctlInputMethod_Menu.swift index eb08908b..82236031 100644 --- a/Source/Modules/IMEModules/ctlInputMethod_Menu.swift +++ b/Source/Modules/IMEModules/ctlInputMethod_Menu.swift @@ -135,7 +135,7 @@ extension ctlInputMethod { if optionKeyPressed || !mgrPrefs.shouldAutoReloadUserDataFiles { menu.addItem( withTitle: NSLocalizedString("Reload User Phrases", comment: ""), - action: #selector(reloadUserPhrases(_:)), keyEquivalent: "" + action: #selector(reloadUserPhrasesData(_:)), keyEquivalent: "" ) } @@ -346,7 +346,7 @@ extension ctlInputMethod { } } - @objc func reloadUserPhrases(_: Any?) { + @objc func reloadUserPhrasesData(_: Any?) { IME.initLangModels(userOnly: true) } diff --git a/Source/Modules/LangModelRelated/LMInstantiator.swift b/Source/Modules/LangModelRelated/LMInstantiator.swift index 31b2e80c..529a11e3 100644 --- a/Source/Modules/LangModelRelated/LMInstantiator.swift +++ b/Source/Modules/LangModelRelated/LMInstantiator.swift @@ -32,9 +32,11 @@ import Foundation // 簡體中文模式與繁體中文模式共用全字庫擴展模組,故單獨處理。 // 塞在 LMInstantiator 內的話,每個模式都會讀入一份全字庫,會多佔用 100MB 記憶體。 private var lmCNS = vChewing.LMCoreEX( - reverse: true, consolidate: false, defaultScore: -11.0, forceDefaultScore: false) + reverse: true, consolidate: false, defaultScore: -11.0, forceDefaultScore: false +) private var lmSymbols = vChewing.LMCoreEX( - reverse: true, consolidate: false, defaultScore: -13.0, forceDefaultScore: false) + reverse: true, consolidate: false, defaultScore: -13.0, forceDefaultScore: false +) extension vChewing { /// LMInstantiator is a facade for managing a set of models including @@ -76,18 +78,23 @@ extension vChewing { /// Reverse 的話,第一欄是注音,第二欄是對應的漢字,第三欄是可能的權重。 /// 不 Reverse 的話,第一欄是漢字,第二欄是對應的注音,第三欄是可能的權重。 var lmCore = LMCoreEX( - reverse: false, consolidate: false, defaultScore: -9.9, forceDefaultScore: false) + reverse: false, consolidate: false, defaultScore: -9.9, forceDefaultScore: false + ) var lmMisc = LMCoreEX( - reverse: true, consolidate: false, defaultScore: -1.0, forceDefaultScore: false) + reverse: true, consolidate: false, defaultScore: -1.0, forceDefaultScore: false + ) // 聲明使用者語言模組。 // 使用者語言模組使用多執行緒的話,可能會導致一些問題。有時間再仔細排查看看。 var lmUserPhrases = LMCoreEX( - reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true) + reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true + ) var lmFiltered = LMCoreEX( - reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true) + reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true + ) var lmUserSymbols = LMCoreEX( - reverse: true, consolidate: true, defaultScore: -12.0, forceDefaultScore: true) + reverse: true, consolidate: true, defaultScore: -12.0, forceDefaultScore: true + ) var lmReplacements = LMReplacments() var lmAssociates = LMAssociates() @@ -96,7 +103,7 @@ extension vChewing { // 以下這些函數命名暫時保持原樣,等弒神行動徹底結束了再調整。 - public func isDataModelLoaded() -> Bool { lmCore.isLoaded() } + public func isLanguageModelLoaded() -> Bool { lmCore.isLoaded() } public func loadLanguageModel(path: String) { if FileManager.default.isReadableFile(atPath: path) { lmCore.open(path) @@ -136,7 +143,7 @@ extension vChewing { } } - public func loadUserPhrases(path: String, filterPath: String) { + public func loadUserPhrasesData(path: String, filterPath: String) { if FileManager.default.isReadableFile(atPath: path) { lmUserPhrases.close() lmUserPhrases.open(path) @@ -163,7 +170,7 @@ extension vChewing { } } - public func loadUserAssociatedPhrases(path: String) { + public func loadUserAssociatesData(path: String) { if FileManager.default.isReadableFile(atPath: path) { lmAssociates.close() lmAssociates.open(path) @@ -173,7 +180,7 @@ extension vChewing { } } - public func loadPhraseReplacementMap(path: String) { + public func loadReplacementsData(path: String) { if FileManager.default.isReadableFile(atPath: path) { lmReplacements.close() lmReplacements.open(path) diff --git a/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift b/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift index 3cce9a45..989a7625 100644 --- a/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift +++ b/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift @@ -99,7 +99,6 @@ extension vChewing { public func hasValuesFor(key: String) -> Bool { rangeMap[key] != nil } - } } diff --git a/Source/Modules/LangModelRelated/mgrLangModel.swift b/Source/Modules/LangModelRelated/mgrLangModel.swift index 0f941952..b72c0441 100644 --- a/Source/Modules/LangModelRelated/mgrLangModel.swift +++ b/Source/Modules/LangModelRelated/mgrLangModel.swift @@ -69,7 +69,7 @@ class mgrLangModel: NSObject { if !gLangModelCHS.isSymbolDataLoaded() { gLangModelCHS.loadSymbolData(path: getBundleDataPath("data-symbols")) } - if !gLangModelCHT.isDataModelLoaded() { + if !gLangModelCHT.isLanguageModelLoaded() { NotifierController.notify( message: String( format: "%@", NSLocalizedString("Loading CHT Core Dict...", comment: "") @@ -82,7 +82,7 @@ class mgrLangModel: NSObject { ) ) } - if !gLangModelCHS.isDataModelLoaded() { + if !gLangModelCHS.isLanguageModelLoaded() { NotifierController.notify( message: String( format: "%@", NSLocalizedString("Loading CHS Core Dict...", comment: "") @@ -108,7 +108,7 @@ class mgrLangModel: NSObject { if !gLangModelCHS.isCNSDataLoaded() { gLangModelCHS.loadCNSData(path: getBundleDataPath("char-kanji-cns")) } - if !gLangModelCHS.isDataModelLoaded() { + if !gLangModelCHS.isLanguageModelLoaded() { NotifierController.notify( message: String( format: "%@", NSLocalizedString("Loading CHS Core Dict...", comment: "") @@ -131,7 +131,7 @@ class mgrLangModel: NSObject { if !gLangModelCHT.isCNSDataLoaded() { gLangModelCHT.loadCNSData(path: getBundleDataPath("char-kanji-cns")) } - if !gLangModelCHT.isDataModelLoaded() { + if !gLangModelCHT.isLanguageModelLoaded() { NotifierController.notify( message: String( format: "%@", NSLocalizedString("Loading CHT Core Dict...", comment: "") @@ -147,12 +147,12 @@ class mgrLangModel: NSObject { } } - public static func loadUserPhrases() { - gLangModelCHT.loadUserPhrases( + public static func loadUserPhrasesData() { + gLangModelCHT.loadUserPhrasesData( path: userPhrasesDataPath(InputMode.imeModeCHT), filterPath: excludedPhrasesDataPath(InputMode.imeModeCHT) ) - gLangModelCHS.loadUserPhrases( + gLangModelCHS.loadUserPhrasesData( path: userPhrasesDataPath(InputMode.imeModeCHS), filterPath: excludedPhrasesDataPath(InputMode.imeModeCHS) ) @@ -160,20 +160,20 @@ class mgrLangModel: NSObject { gLangModelCHS.loadUserSymbolData(path: userSymbolDataPath(InputMode.imeModeCHS)) } - public static func loadUserAssociatedPhrases() { - gLangModelCHT.loadUserAssociatedPhrases( + public static func loadUserAssociatesData() { + gLangModelCHT.loadUserAssociatesData( path: mgrLangModel.userAssociatedPhrasesDataPath(InputMode.imeModeCHT) ) - gLangModelCHS.loadUserAssociatedPhrases( + gLangModelCHS.loadUserAssociatesData( path: mgrLangModel.userAssociatedPhrasesDataPath(InputMode.imeModeCHS) ) } public static func loadUserPhraseReplacement() { - gLangModelCHT.loadPhraseReplacementMap( + gLangModelCHT.loadReplacementsData( path: mgrLangModel.phraseReplacementDataPath(InputMode.imeModeCHT) ) - gLangModelCHS.loadPhraseReplacementMap( + gLangModelCHS.loadReplacementsData( path: mgrLangModel.phraseReplacementDataPath(InputMode.imeModeCHS) ) } @@ -424,7 +424,7 @@ class mgrLangModel: NSObject { // We use FSEventStream to monitor possible changes of the user phrase folder, hence the // lack of the needs of manually load data here unless FSEventStream is disabled by user. if !mgrPrefs.shouldAutoReloadUserDataFiles { - loadUserPhrases() + loadUserPhrasesData() } return true }