Lazy loads language models.
This commit is contained in:
parent
c3d953c618
commit
2c0a12f43f
|
@ -153,7 +153,6 @@ class AppDelegate: NSObject, NSApplicationDelegate, NonModalAlertWindowControlle
|
||||||
|
|
||||||
func applicationDidFinishLaunching(_ notification: Notification) {
|
func applicationDidFinishLaunching(_ notification: Notification) {
|
||||||
LanguageModelManager.setupDataModelValueConverter()
|
LanguageModelManager.setupDataModelValueConverter()
|
||||||
LanguageModelManager.loadDataModels()
|
|
||||||
LanguageModelManager.loadUserPhrases()
|
LanguageModelManager.loadUserPhrases()
|
||||||
LanguageModelManager.loadUserPhraseReplacement()
|
LanguageModelManager.loadUserPhraseReplacement()
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,7 @@ class McBopomofoInputMethodController: IMKInputController {
|
||||||
|
|
||||||
override func setValue(_ value: Any!, forTag tag: Int, client: Any!) {
|
override func setValue(_ value: Any!, forTag tag: Int, client: Any!) {
|
||||||
let newInputMode = InputMode(rawValue: value as? String ?? InputMode.bopomofo.rawValue)
|
let newInputMode = InputMode(rawValue: value as? String ?? InputMode.bopomofo.rawValue)
|
||||||
|
LanguageModelManager.loadDataModel(newInputMode)
|
||||||
if keyHandler.inputMode != newInputMode {
|
if keyHandler.inputMode != newInputMode {
|
||||||
UserDefaults.standard.synchronize()
|
UserDefaults.standard.synchronize()
|
||||||
// Remember to override the keyboard layout again -- treat this as an activate event.
|
// Remember to override the keyboard layout again -- treat this as an activate event.
|
||||||
|
|
|
@ -22,12 +22,14 @@
|
||||||
// OTHER DEALINGS IN THE SOFTWARE.
|
// OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "KeyHandler.h"
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface LanguageModelManager : NSObject
|
@interface LanguageModelManager : NSObject
|
||||||
|
|
||||||
+ (void)loadDataModels;
|
+ (void)loadDataModels;
|
||||||
|
+ (void)loadDataModel:(InputMode)mode;
|
||||||
+ (void)loadUserPhrases;
|
+ (void)loadUserPhrases;
|
||||||
+ (void)loadUserPhraseReplacement;
|
+ (void)loadUserPhraseReplacement;
|
||||||
+ (void)setupDataModelValueConverter;
|
+ (void)setupDataModelValueConverter;
|
||||||
|
|
|
@ -60,6 +60,16 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, McBopomo
|
||||||
LTLoadLanguageModelFile(@"data-plain-bpmf", gLanguageModelPlainBopomofo);
|
LTLoadLanguageModelFile(@"data-plain-bpmf", gLanguageModelPlainBopomofo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (void)loadDataModel:(InputMode)mode
|
||||||
|
{
|
||||||
|
if ([mode isEqualToString:InputModeBopomofo]) {
|
||||||
|
LTLoadLanguageModelFile(@"data", gLanguageModelMcBopomofo);
|
||||||
|
}
|
||||||
|
if ([mode isEqualToString:InputModePlainBopomofo]) {
|
||||||
|
LTLoadLanguageModelFile(@"data-plain-bpmf", gLanguageModelPlainBopomofo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+ (void)loadUserPhrases
|
+ (void)loadUserPhrases
|
||||||
{
|
{
|
||||||
gLanguageModelMcBopomofo.loadUserPhrases([[self userPhrasesDataPathMcBopomofo] UTF8String], [[self excludedPhrasesDataPathMcBopomofo] UTF8String]);
|
gLanguageModelMcBopomofo.loadUserPhrases([[self userPhrasesDataPathMcBopomofo] UTF8String], [[self excludedPhrasesDataPathMcBopomofo] UTF8String]);
|
||||||
|
|
Loading…
Reference in New Issue