mgrLangModel // Implementing UserSymbolLM support.
This commit is contained in:
parent
fd541b422d
commit
1323828f96
|
@ -40,6 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
+ (NSString *)specifyBundleDataPath:(NSString *)filename;
|
+ (NSString *)specifyBundleDataPath:(NSString *)filename;
|
||||||
+ (NSString *)userPhrasesDataPath:(InputMode)mode;
|
+ (NSString *)userPhrasesDataPath:(InputMode)mode;
|
||||||
|
+ (NSString *)userSymbolDataPath:(InputMode)mode;
|
||||||
+ (NSString *)userAssociatedPhrasesDataPath:(InputMode)mode;
|
+ (NSString *)userAssociatedPhrasesDataPath:(InputMode)mode;
|
||||||
+ (NSString *)excludedPhrasesDataPath:(InputMode)mode;
|
+ (NSString *)excludedPhrasesDataPath:(InputMode)mode;
|
||||||
+ (NSString *)phraseReplacementDataPath:(InputMode)mode;
|
+ (NSString *)phraseReplacementDataPath:(InputMode)mode;
|
||||||
|
|
|
@ -34,6 +34,7 @@ static NSString *const kUserDataTemplateName = @"template-data";
|
||||||
static NSString *const kUserAssDataTemplateName = @"template-data";
|
static NSString *const kUserAssDataTemplateName = @"template-data";
|
||||||
static NSString *const kExcludedPhrasesvChewingTemplateName = @"template-exclude-phrases";
|
static NSString *const kExcludedPhrasesvChewingTemplateName = @"template-exclude-phrases";
|
||||||
static NSString *const kPhraseReplacementTemplateName = @"template-phrases-replacement";
|
static NSString *const kPhraseReplacementTemplateName = @"template-phrases-replacement";
|
||||||
|
static NSString *const kUserSymbolDataTemplateName = @"template-user-symbol-data";
|
||||||
static NSString *const kTemplateExtension = @".txt";
|
static NSString *const kTemplateExtension = @".txt";
|
||||||
|
|
||||||
@implementation mgrLangModel
|
@implementation mgrLangModel
|
||||||
|
@ -117,6 +118,8 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, vChewing
|
||||||
{
|
{
|
||||||
gLangModelCHT.loadUserPhrases([[self userPhrasesDataPath:imeModeCHT] UTF8String], [[self excludedPhrasesDataPath:imeModeCHT] UTF8String]);
|
gLangModelCHT.loadUserPhrases([[self userPhrasesDataPath:imeModeCHT] UTF8String], [[self excludedPhrasesDataPath:imeModeCHT] UTF8String]);
|
||||||
gLangModelCHS.loadUserPhrases([[self userPhrasesDataPath:imeModeCHS] UTF8String], [[self excludedPhrasesDataPath:imeModeCHS] UTF8String]);
|
gLangModelCHS.loadUserPhrases([[self userPhrasesDataPath:imeModeCHS] UTF8String], [[self excludedPhrasesDataPath:imeModeCHS] UTF8String]);
|
||||||
|
gLangModelCHT.loadUserSymbolData([[self userSymbolDataPath:imeModeCHT] UTF8String]);
|
||||||
|
gLangModelCHS.loadUserSymbolData([[self userSymbolDataPath:imeModeCHS] UTF8String]);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (void)loadUserAssociatedPhrases
|
+ (void)loadUserAssociatedPhrases
|
||||||
|
@ -205,33 +208,17 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, vChewing
|
||||||
|
|
||||||
+ (BOOL)checkIfUserLanguageModelFilesExist
|
+ (BOOL)checkIfUserLanguageModelFilesExist
|
||||||
{
|
{
|
||||||
if (![self checkIfUserDataFolderExists]) {
|
if (![self checkIfUserDataFolderExists]) return NO;
|
||||||
return NO;
|
if (![self ensureFileExists:[self userPhrasesDataPath:imeModeCHS] populateWithTemplate:kUserDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
}
|
if (![self ensureFileExists:[self userPhrasesDataPath:imeModeCHT] populateWithTemplate:kUserDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
if (![self ensureFileExists:[self userPhrasesDataPath:imeModeCHS] populateWithTemplate:kUserDataTemplateName extension:kTemplateExtension]) {
|
if (![self ensureFileExists:[self userAssociatedPhrasesDataPath:imeModeCHS] populateWithTemplate:kUserAssDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
return NO;
|
if (![self ensureFileExists:[self userAssociatedPhrasesDataPath:imeModeCHT] populateWithTemplate:kUserAssDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
}
|
if (![self ensureFileExists:[self excludedPhrasesDataPath:imeModeCHS] populateWithTemplate:kExcludedPhrasesvChewingTemplateName extension:kTemplateExtension]) return NO;
|
||||||
if (![self ensureFileExists:[self userPhrasesDataPath:imeModeCHT] populateWithTemplate:kUserDataTemplateName extension:kTemplateExtension]) {
|
if (![self ensureFileExists:[self excludedPhrasesDataPath:imeModeCHT] populateWithTemplate:kExcludedPhrasesvChewingTemplateName extension:kTemplateExtension]) return NO;
|
||||||
return NO;
|
if (![self ensureFileExists:[self phraseReplacementDataPath:imeModeCHS] populateWithTemplate:kPhraseReplacementTemplateName extension:kTemplateExtension]) return NO;
|
||||||
}
|
if (![self ensureFileExists:[self phraseReplacementDataPath:imeModeCHT] populateWithTemplate:kPhraseReplacementTemplateName extension:kTemplateExtension]) return NO;
|
||||||
if (![self ensureFileExists:[self userAssociatedPhrasesDataPath:imeModeCHS] populateWithTemplate:kUserAssDataTemplateName extension:kTemplateExtension]) {
|
if (![self ensureFileExists:[self userSymbolDataPath:imeModeCHT] populateWithTemplate:kUserSymbolDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
return NO;
|
if (![self ensureFileExists:[self userSymbolDataPath:imeModeCHS] populateWithTemplate:kUserSymbolDataTemplateName extension:kTemplateExtension]) return NO;
|
||||||
}
|
|
||||||
if (![self ensureFileExists:[self userAssociatedPhrasesDataPath:imeModeCHT] populateWithTemplate:kUserAssDataTemplateName extension:kTemplateExtension]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (![self ensureFileExists:[self excludedPhrasesDataPath:imeModeCHS] populateWithTemplate:kExcludedPhrasesvChewingTemplateName extension:kTemplateExtension]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (![self ensureFileExists:[self excludedPhrasesDataPath:imeModeCHT] populateWithTemplate:kExcludedPhrasesvChewingTemplateName extension:kTemplateExtension]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (![self ensureFileExists:[self phraseReplacementDataPath:imeModeCHS] populateWithTemplate:kPhraseReplacementTemplateName extension:kTemplateExtension]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
if (![self ensureFileExists:[self phraseReplacementDataPath:imeModeCHT] populateWithTemplate:kPhraseReplacementTemplateName extension:kTemplateExtension]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,6 +308,12 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, vChewing
|
||||||
return [[self dataFolderPath] stringByAppendingPathComponent:fileName];
|
return [[self dataFolderPath] stringByAppendingPathComponent:fileName];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (NSString *)userSymbolDataPath:(InputMode)mode;
|
||||||
|
{
|
||||||
|
NSString *fileName = [mode isEqualToString:imeModeCHT] ? @"usersymbolphrases-cht.txt" : @"usersymbolphrases-chs.txt";
|
||||||
|
return [[self dataFolderPath] stringByAppendingPathComponent:fileName];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSString *)userAssociatedPhrasesDataPath:(InputMode)mode;
|
+ (NSString *)userAssociatedPhrasesDataPath:(InputMode)mode;
|
||||||
{
|
{
|
||||||
NSString *fileName = [mode isEqualToString:imeModeCHT] ? @"associatedPhrases-cht.txt" : @"associatedPhrases-chs.txt";
|
NSString *fileName = [mode isEqualToString:imeModeCHT] ? @"associatedPhrases-cht.txt" : @"associatedPhrases-chs.txt";
|
||||||
|
|
Loading…
Reference in New Issue