ios 实现app语言切换,不跟随系统
来源:互联网 发布:centos ftp开启文件夹 编辑:程序博客网 时间:2024/05/22 06:31
实现的功能是第一次app打开跟随系统语言, 其他则显示用户选择的语言,直接上代码:
.h文件
#import <Foundation/Foundation.h>@interface MyLocalString : NSObject+(MyLocalString *)sharedInstance;-(NSString *)MyLocalStringForKey:(NSString *)key;-(void)setMyLanguage:(NSString *)language;@end
.m文件
#import "MyLocalString.h"static MyLocalString* localString=nil;NSBundle *languageBundle=nil;@implementation MyLocalString+(MyLocalString*)sharedInstance{ static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate,^{ localString = [[MyLocalStringalloc]init]; NSUserDefaults *def=[NSUserDefaults standardUserDefaults]; NSString *language=[def valueForKey:@"userLanguage"]; NSString *currentString=nil; if (language.length==0) { NSArray *languageArr=[def valueForKey:@"AppleLanguages"]; currentString=[languageArr objectAtIndex:0]; [def setValue:currentString forKey:@"userLanguage"]; [def synchronize]; }else { currentString=language; } NSString *path = [[NSBundle mainBundle] pathForResource:currentString ofType:@"lproj"]; // "zh", "fr"等 languageBundle=[NSBundle bundleWithPath:path]; }); return localString;}-(NSString *)MyLocalStringForKey:(NSString *)key{ return [languageBundle localizedStringForKey:key value:@"" table:nil];}-(void)setMyLanguage:(NSString *)language{ NSUserDefaults *def=[NSUserDefaults standardUserDefaults]; [def setValue:language forKey:@"userLanguage"]; [def synchronize]; NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]; languageBundle=[NSBundle bundleWithPath:path];}@end
0 0
- ios 实现app语言切换,不跟随系统
- iOS应用内部切换语言,不跟随系统
- iOS应用内部切换语言,不跟随系统
- iOS应用内部切换语言,不跟随系统
- iOS应用内部切换语言,不跟随系统
- iOS国际化---不跟随系统语言
- iOS开发之应用内快速切换语言包(不跟随系统语言,不用重启)
- iOS应用程序实现内部多语言国际化,不跟随系统语言改变的步骤
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
- android跟随系统切换语言
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言 .
- iOS 应用程序内部国际化,不跟随系统语言
- iOS 应用程序内部国际化,不跟随系统语言
- Android_BaseAdapter基础延伸_141026
- IOCP 第二篇
- [leetcode] wordBreak II
- Cocos2d-X直接使用OpenGL接口
- 粒子编辑器
- ios 实现app语言切换,不跟随系统
- 360诉腾讯垄断案今宣判:“3Q大战”互诉料将画句号
- Android Volley完全解析(一),初识Volley的基本用法
- 5奇数魔方阵
- Xmind2013激活
- 正则表达式-1.原理理解
- Android Volley完全解析(二),使用Volley加载网络图片
- POJ1797 Heavy Transportation 【Dijkstra】
- hdu-1720