Xcode全局搜索這個類方法,根據(jù)應(yīng)用當(dāng)前語言的本地標(biāo)識,在對應(yīng)的位置設(shè)置語言。
Podfile中寫出對應(yīng)版本號 :pod 'MJRefresh', '~> 3.7.5'
+ (NSString *)mj_localizedStringForKey:(NSString *)key value:(NSString *)value
{
static NSBundle *bundle = nil;
//注釋掉判斷 因為應(yīng)用內(nèi)部可以隨時切換語言
//if (bundle == nil) {
#if 1
//獲取切換所選擇的語言
NSString *language = [[NSUserDefaults standardUserDefaults] objectForKey:@"DE_LANGUAGE"];
#else
// //(iOS獲取的語言字符串比較不穩(wěn)定)目前框架只處理en、zh-Hans、zh-Hant三種情況,其他按照系統(tǒng)默認(rèn)處理
// NSString *language = [NSLocale preferredLanguages].firstObject;
#endif
if ([language hasPrefix:@"en"]) {
language = @"en";
} else if ([language hasPrefix:@"zh"]) {
if ([language rangeOfString:@"Hans"].location !=NSNotFound) {
language =@"zh-Hans"; //簡體中文
} else { // zh-Hant\zh-HK\zh-TW
language =@"zh-Hant"; //繁體中文
}
} else {
language =@"en";
}
//從MJRefresh.bundle中查找資源
bundle = [NSBundle bundleWithPath:[[NSBundle mj_refreshBundle] pathForResource:language ofType:@"lproj"]];
//}
value = [bundle localizedStringForKey:key value:value table:nil];
return [[NSBundle mainBundle] localizedStringForKey:key value:value table:nil];
}