应用内可随时切换语言时,MJRefresh下拉文字的处理
来源:互联网 发布:金融数据挖掘工程师 编辑:程序博客网 时间:2024/04/30 17:30
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];
}
- 应用内可随时切换语言时,MJRefresh下拉文字的处理
- 应用内可随时切换语言时,MJRefresh下拉文字的处理
- 应用内切换语言
- Android 应用内切换语言
- android 应用内切换语言
- android 应用内切换语言
- android 应用内语言切换
- android 应用内切换语言
- android 应用内切换语言
- Android多语言,应用内切换语言
- 关于Android应用内多语言切换的问题
- Android应用内切换应用语言
- Android应用内语言切换实现
- Android应用内语言切换实现
- 安卓应用内切换语言
- Android应用内语言切换实现
- Android应用内即时切换语言
- 安卓国际化,应用内切换语言
- 连接样式的三种方法
- Unity Unity和Android通讯(Android嵌入到Unity中)
- Java VM Options
- 《Android 开发工程师面试指南》
- 25岁前必读的25本书
- 应用内可随时切换语言时,MJRefresh下拉文字的处理
- as3双击屏幕全屏
- PlayFramework 1 输出所有 WS.url() 访问的 URL
- 关于恢复万象OL的C盘系统后,重装万象OL后MSDE服务不能启动的解决
- 292. Nim Game | 抓石子游戏
- [BZOJ3053]The Closest M Points(kd-tree+堆)
- Linux(Centos)下Java JDK安装
- laravel框架使用git clone时遇到的问题
- 如何在linux系统中用微信开发者工具进行调试