Cocos2d-x 3.2 can't set traditional Chinese? change the engine

1. Add ZH_HK to LanguageType of CCCommon.h

2. CCApplication::getCurrentLanguage 中添加(有iOS,mac,CCApplication)[iOS9之前用的方法]
     else if ([languageCode isEqualToString:@"zh-Hant"]){
        ret = LanguageType::ZH_HK;
    }

NSString* languageCode = [languages objectAtIndex:0]; 替换:
//    NSString *currentLanguage = [languages objectAtIndex:0];
//
//    // get the current language code.(such as English is "en", Chinese is "zh" and so on)
//    NSDictionary* temp = [NSLocale componentsFromLocaleIdentifier:currentLanguage];
//    NSString * languageCode = [temp objectForKey:NSLocaleLanguageCode];

if ([languageCode isEqualToString:@"zh”])改为if([languageCode isEqualToString:@"zh-Hans"])


iOS9 has more Chinese pits, and some modifications should be made accordingly:

The following code needs to be modified

    NSString *currentLanguage = [languages objectAtIndex:0];

    // get the current language code.(such as English is "en", Chinese is "zh" and so on)
    NSDictionary* temp = [NSLocale componentsFromLocaleIdentifier:currentLanguage];
    NSString * languageCode = [temp objectForKey:NSLocaleLanguageCode];

if ([languageCode isEqualToString:@"zh”])
{
    ret = LanguageType::CHINESE;
}
else if ([languageCode isEqualToString:@"en"])
Modified to the following code:

NSString* languageCode = [languages objectAtIndex:0];

LanguageType ret = LanguageType::ENGLISH;
BOOL isZH = NO;
if ([languageCode hasPrefix:@"zh-Hans"])
{
ret = LanguageType::CHINESE;
isZH = YES;
}
else if ([languageCode hasPrefix:@"zh-Hant"]
|| [languageCode isEqualToString:@"zh-HK"]
|| [languageCode isEqualToString:@"zh-TW"])
{
ret = LanguageType :: ZH_HK;
isZH = YES;
}


if (isZH == NO) {
// get the current language code.(such as English is "en", Chinese is "zh" and so on)
NSDictionary* temp = [NSLocale componentsFromLocaleIdentifier:languageCode];
languageCode = [temp objectForKey:NSLocaleLanguageCode];
}

if ([languageCode isEqualToString:@"en"])


Add the following to getCurrentLanguage of CCApplication.cpp of android
     if (0 == strcmp("zh-Hant", pLanguageName))
    {
        ret = LanguageType::ZH_HK;

    }



3. Add cc.LANGUAGE_ZH_HK
=15 to Cocos2dConstants.lua

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326613969&siteId=291194637