我们公司只做了简体,繁体,英文国际化 需求是如果没有国际化的语言默认显示英语。
#define CURR_LANG ([[NSLocale preferredLanguages] objectAtIndex:0])
NSString *localizedString = NSLocalizedString(translation_key, nil);
NSString *localeStr = CURR_LANG;
NSString *lauguageString;
// 切割字符串因为大陆版,港版,美版 所标示的字符串不通,比如行货切换为简体中文为:zh-Hant ,美版为zh-Hant-US所以的切割判断。
NSArray *lauguageArr = [localeStr componentsSeparatedByString:@”-“];
if (lauguageArr.count > 1) {
NSString *lauStr = [lauguageArr[0] stringByAppendingString:@”-“];
lauguageString = [lauStr stringByAppendingString:lauguageArr[1]];
} else {
lauguageString = localeStr;
}
// 由于繁体分为台湾繁体,香港繁体,繁体中文,所以要各自判断。
if (![lauguageString isEqualToString:@”en”] && ![lauguageString isEqualToString:@”zh-Hant”] && ![lauguageString isEqualToString:@”zh-Hans”] && ![lauguageString isEqualToString:@”zh-HK”] && ![lauguageString isEqualToString:@”zh-TW”]) {
NSString *path = [[NSBundle mainBundle] pathForResource:@”en” ofType:@”lproj”];
NSBundle *languageBundle = [NSBundle bundleWithPath:path];
localizedString= [languageBundle localizedStringForKey:translation_key value:@”” table:nil];
有不对的地方,请大神指教,刚做这个需求,可能有写地方还不完善,请大家见谅。

本文介绍了一种针对不同地区语言(如简体中文、繁体中文、英语等)的应用处理方法,特别是如何通过代码实现语言切换及当目标语言未被支持时默认使用英语的策略。

1万+

被折叠的 条评论
为什么被折叠?



