今天遇到个需求需要判断字符串是否需要翻译,那我们就需要用字符串语言类型和系统类型判断
获取字符串的语言类型
//需要检测的字符串 NSString *string = @"你好"; CFStringRef langCStr = CFStringTokenizerCopyBestStringLanguage((CFStringRef)string, CFRangeMake(0, string.length)); //强转为NSString NSString *languageStr = (__bridge NSString *)langCStr;
获取系统语言类型
//获取当前系统语言 +(NSString *)getCurrentLanguage{ NSArray *languages = [NSLocale preferredLanguages]; if(languages == nil){ return nil; }else{ if([languages count] == 0){ return nil; }else{ NSString *currentLanguage = [languages objectAtIndex:0]; // NSLog(@"%@",currentLanguage); return currentLanguage; } } }
然后我们就可以比较当前语言和字符串语言类型是否一样
但注意一点,中文常用有四种
zh-Hans 简体中文
zh-CN 普通中文
zh-TW *中文
zh-Hant 繁体中文