iOS中实现多语言

iOS实现多语言,

首先选择new file,然后选择Strings File,创建.strings文件

然后在选择Project-》info-》Localizations 选择支持的语言,具体如下图iOS中实现多语言_第1张图片

然后在相关的.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);
   方法获取相应的

图片的多语言,方法有两种

第一种直接将图片放在,工程目录下,通过如下方法实现多语言

iOS中实现多语言_第2张图片

另外一种方法是通过xcassets管理的方法实现多语言,就是通过判断当前语言,然后设置相应的图片

如下

iOS中实现多语言_第3张图片

相信很多同学还想知道如何实现app name的多语言吧

接下来就讲如何实现app应用名字的多语言

新建.strings文件,讲其命名为InfoPlist.Strings文件,然后在InfoPlist.Strings里面添加,相应的多语言key "CFBundleDisplayName" = "helloTest";

启动应用程序时,就会根据设置的多语言来相应的app Name

以上就是iOS实现多语言,相关的代码下载地址如下

https://download.csdn.net/download/bianhuanshizhe/11112883

 

你可能感兴趣的:(iOS)