diff --git a/Source/Modules/LangModelRelated/mgrLangModel.swift b/Source/Modules/LangModelRelated/mgrLangModel.swift index cfdf2dae..dc03d731 100644 --- a/Source/Modules/LangModelRelated/mgrLangModel.swift +++ b/Source/Modules/LangModelRelated/mgrLangModel.swift @@ -51,8 +51,25 @@ class mgrLangModel: NSObject { } public static func loadDataModels() { - if !gLangModelCHT.isCNSDataLoaded() { - gLangModelCHT.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + DispatchQueue.global(qos: .userInitiated).async { + if !gLangModelCHT.isCNSDataLoaded() { + gLangModelCHT.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + } + if !gLangModelCHT.isMiscDataLoaded() { + gLangModelCHT.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) + } + if !gLangModelCHT.isSymbolDataLoaded() { + gLangModelCHT.loadSymbolData(path: getBundleDataPath("data-symbols")) + } + if !gLangModelCHS.isCNSDataLoaded() { + gLangModelCHS.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + } + if !gLangModelCHS.isMiscDataLoaded() { + gLangModelCHS.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) + } + if !gLangModelCHS.isSymbolDataLoaded() { + gLangModelCHS.loadSymbolData(path: getBundleDataPath("data-symbols")) + } } if !gLangModelCHT.isDataModelLoaded() { NotifierController.notify( @@ -67,17 +84,6 @@ class mgrLangModel: NSObject { ) ) } - if !gLangModelCHT.isMiscDataLoaded() { - gLangModelCHT.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) - } - if !gLangModelCHT.isSymbolDataLoaded() { - gLangModelCHT.loadSymbolData(path: getBundleDataPath("data-symbols")) - } - - // ----------------- - if !gLangModelCHS.isCNSDataLoaded() { - gLangModelCHS.loadCNSData(path: getBundleDataPath("char-kanji-cns")) - } if !gLangModelCHS.isDataModelLoaded() { NotifierController.notify( message: String( @@ -91,24 +97,20 @@ class mgrLangModel: NSObject { ) ) } - if !gLangModelCHS.isMiscDataLoaded() { - gLangModelCHS.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) - } - if !gLangModelCHS.isSymbolDataLoaded() { - gLangModelCHS.loadSymbolData(path: getBundleDataPath("data-symbols")) - } } public static func loadDataModel(_ mode: InputMode) { if mode == InputMode.imeModeCHS { - if !gLangModelCHS.isMiscDataLoaded() { - gLangModelCHS.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) - } - if !gLangModelCHS.isSymbolDataLoaded() { - gLangModelCHS.loadSymbolData(path: getBundleDataPath("data-symbols")) - } - if !gLangModelCHS.isCNSDataLoaded() { - gLangModelCHS.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + DispatchQueue.global(qos: .userInitiated).async { + if !gLangModelCHS.isMiscDataLoaded() { + gLangModelCHS.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) + } + if !gLangModelCHS.isSymbolDataLoaded() { + gLangModelCHS.loadSymbolData(path: getBundleDataPath("data-symbols")) + } + if !gLangModelCHS.isCNSDataLoaded() { + gLangModelCHS.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + } } if !gLangModelCHS.isDataModelLoaded() { NotifierController.notify( @@ -124,14 +126,16 @@ class mgrLangModel: NSObject { ) } } else if mode == InputMode.imeModeCHT { - if !gLangModelCHT.isMiscDataLoaded() { - gLangModelCHT.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) - } - if !gLangModelCHT.isSymbolDataLoaded() { - gLangModelCHT.loadSymbolData(path: getBundleDataPath("data-symbols")) - } - if !gLangModelCHT.isCNSDataLoaded() { - gLangModelCHT.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + DispatchQueue.global(qos: .userInitiated).async { + if !gLangModelCHT.isMiscDataLoaded() { + gLangModelCHT.loadMiscData(path: getBundleDataPath("data-zhuyinwen")) + } + if !gLangModelCHT.isSymbolDataLoaded() { + gLangModelCHT.loadSymbolData(path: getBundleDataPath("data-symbols")) + } + if !gLangModelCHT.isCNSDataLoaded() { + gLangModelCHT.loadCNSData(path: getBundleDataPath("char-kanji-cns")) + } } if !gLangModelCHT.isDataModelLoaded() { NotifierController.notify(