MJRefresh文件夾內,NSBundle+MJRefresh.m 里面有一段注釋:
//(iOS獲取的語言字符串比較不穩定)目前框架只處理en、zh-Hans、zh-Hant三種情況,其他按照系統默認處理
這個不是重點,重點是它在這個方法里面:+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
{//把if條件注釋掉,因為 應用內部可以隨時切換語言。
}
+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
{
staticNSBundle *bundle = nil;
//注釋掉判斷 因為應用內部可以隨時切換語言
//if (bundle == nil) {
#if 1
//獲取切換所選擇的語言
NSString *language = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"jhAppLanguage"];
#else
//(iOS獲取的語言字符串比較不穩定)目前框架只處理en、zh-Hans、zh-Hant三種情況,其他按照系統默認處理
NSString *language = [NSLocale PReferredLanguages].firstObject;
#endif
if ([languagehasprefix:@"en"]) {
language =@"en";
} elseif ([language hasPrefix:@"zh"]) {
if ([languagerangeOfString:@"Hans"].location !=NSNotFound) {
language =@"zh-Hans"; //簡體中文
} else { // zh-Hant/zh-HK/zh-TW
language =@"zh-Hant"; //繁體中文
}
} else {
language =@"en";
}
//從MJRefresh.bundle中查找資源
bundle = [NSBundlebundleWithPath:[[NSBundlemj_refreshBundle] pathForResource:languageofType:@"lproj"]];
//}
value = [bundle localizedStringForKey:key value:valuetable:nil];
return [[NSBundlemainBundle] localizedStringForKey:keyvalue:value table:nil];
}
新聞熱點
疑難解答