iOS实现多语言,
首先选择new file,然后选择Strings File,创建.strings文件
然后在选择Project-》info-》Localizations 选择支持的语言,具体如下图
然后在相关的.strings中添加"testname" = "textname";这样的简直对,
在代码通过如下方法获取
NSArray *languages = [NSLocale preferredLanguages];
NSLog(@"languages=========%@\n", [languages objectAtIndex:0]);
NSString *languageStr = @"";
if([ [languages objectAtIndex:0] rangeOfString:@"zh-Hans"].location != NSNotFound)
{
languageStr = @"zh-Hans";
}
else if([[languages objectAtIndex:0] rangeOfString:@"zh-Hant"].location != NSNotFound)
{
languageStr = @"zh-Hant";
}
else
{
//字符串查找
if([[languages objectAtIndex:0] rangeOfString:@"-"].location != NSNotFound) {
//除了中文以外的其他语言统一处理@"ru_RU" @"ko_KR"取前面一部分
NSArray *ary = [[languages objectAtIndex:0] componentsSeparatedByString:@"-"];
if(ary.count > 1) {
NSString *str = ary[0];
languageStr = str;
}
}
}
NSLog(@"languageStr=========%@\n",languageStr);
NSString *path = [[NSBundle mainBundle] pathForResource: languageStr ofType:@"lproj" ];
NSBundle *bundle = [NSBundle bundleWithPath:path];
NSString *str = NSLocalizedStringFromTableInBundle(@"testname",@"Test", bundle, nil);
方法获取相应的
图片的多语言,方法有两种
第一种直接将图片放在,工程目录下,通过如下方法实现多语言
另外一种方法是通过xcassets管理的方法实现多语言,就是通过判断当前语言,然后设置相应的图片
如下
相信很多同学还想知道如何实现app name的多语言吧
接下来就讲如何实现app应用名字的多语言
新建.strings文件,讲其命名为InfoPlist.Strings文件,然后在InfoPlist.Strings里面添加,相应的多语言key "CFBundleDisplayName" = "helloTest";
启动应用程序时,就会根据设置的多语言来相应的app Name
以上就是iOS实现多语言,相关的代码下载地址如下
https://download.youkuaiyun.com/download/bianhuanshizhe/11112883