ios开发应用内实现多语言自由切换 (转)
2013-12-03 16:33
701 查看
参考:http://blog.csdn.net/yang8456211/article/details/12031667
1.原理。
查看NSLocalizedString(@"abc",nil);的定义。
?
然后思考,为什么这个定义会定位到当前系统默认的语言对应的strings文件呢?
如果这点想通了,那问题就迎刃而解了不是?
2.具体解析
重定义NSLocalizedstring。
?
不用解释了吧?查找对应的strings文件。
3.用法
?
4.切换
点击中英文切换按钮时,
?
程序还要再做进一步的界面相关的处理,如是tabbar则重新初始化等等
1.原理。
查看NSLocalizedString(@"abc",nil);的定义。
?
12 | #define NSLocalizedString(key,comment) \ [[ NSBundle mainBundle] localizedStringForKey:(key) value:@ "" table: nil ] |
如果这点想通了,那问题就迎刃而解了不是?
2.具体解析
重定义NSLocalizedstring。
?
123 | #define AppLanguage @"appLanguage" #define CustomLocalizedString(key,comment) \ [[ NSBundle bundleWithPath:[[ NSBundle mainBundle] pathForResource:[ NSString stringWithFormat:@ "%@" ,[[ NSUserDefaults standardUserDefaults] objectForKey:@ "appLanguage" ]] ofType:@ "lproj" ]] localizedStringForKey:(key) value:@ "" table: nil ] |
3.用法
?
1234 | if (![[ NSUserDefaults standardUserDefaults]objectForKey:AppLanguage]) { [[ NSUserDefaults standardUserDefaults] setObject:@ "zh-Hans" forKey:AppLanguage]; } label.text= CustomLocalizedString(@ "sub_menu_download" , nil ); //@"离线下载"; |
点击中英文切换按钮时,
?
12345678 | NSString *currentLanguage = [[ NSUserDefaults standardUserDefaults]objectForKey:AppLanguage]; if ([currentLanguage isEqualToString: @ "en" ]) { [[ NSUserDefaults standardUserDefaults] setObject:@ "zh-Hans" forKey:AppLanguage]; } else { [[ NSUserDefaults standardUserDefaults] setObject:@ "en" forKey:AppLanguage]; } [[ NSUserDefaults standardUserDefaults] synchronize]; |
相关文章推荐
- ios iphone ipad 开发应用内实现多语言自由切换 超级好用
- ios开发应用内实现多语言自由切换
- ios开发应用内实现多语言自由切换 三
- [Cocoa]_[初级]_[Cocoa开发应用实现多语言之间自由切换]
- ios 应用多语言自由切换实现
- iphone ipad 开发应用内实现多语言自由切换
- ios 应用多语言自由切换实现
- [iOS]怎么在iOS开发中切换显示语言实现国际化
- iOS开发--应用国际化,应用内切换语言
- iOS实现应用内切换语言及字体大小(模仿微信)
- iOS 开发中实现国际化语言切换
- iOS开发Xcode中切换显示语言实现国际化
- [iOS]如何在iOS开发中切换显示语言实现国际化
- [iOS]怎样在iOS开发中切换显示语言实现国际化
- iOS开发之应用内快速切换语言包(不跟随系统语言,不用重启)
- iOS实现应用内切换本地化语言的方法实例
- IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)
- [iOS]如何在iOS开发中切换显示语言实现国际化
- Android开发应用内多国语言切换
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局