iOS中app国际化的学习记录

来源:互联网 发布:统计数据 观测数据 编辑:程序博客网 时间:2024/05/17 08:40

有的时候产品里需要涉及到多语言,所以需要国际化的设置,现在就记录一下,首先如果要国际化需要到PROJECT下选择info里的Localizations,点击+号,这样可以增加国际化的语言版本


设置好了以后,你的InfoPlist.strings下面就会多出来2个文件



之后,你就可以在这里设置一些相关的信息

例如,程序名称

//Simplified:CFBundleDisplayName="中文app";//English:CFBundleDisplayName="en-app";

在模拟器切换语言的方法是:设置-通用-多语言环境-语言


本地化内容:

New File… -->Resource-->Strings File,很多教程说文件的名字必须是Localizable.strings否则无法识别,其实并不是,这里我们用另一个方法,把名字设置成MyLocalization.strings

 


然后在对应的MyLocalization.strings的中英文环境里设置想要的字段,用NSLocalizedStringFromTable方法取出想要的文字

//china"key" = "中文内容";//en"key" = "en";


UILabel *label = [[UILabel alloc] init];    label.frame = CGRectMake(20, 40, 250, 60);    label.text = NSLocalizedStringFromTable (@"key",@"MyLocalization", nil);    [self.view addSubview:label];        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(20, 100, 250, 60)];        //判断当前语言类型    NSArray *languages = [NSLocale preferredLanguages];    //得到语言类型    NSString *currentLanguage = [languages objectAtIndex:0];        if([currentLanguage isEqualToString:@"en"])    {        view.backgroundColor = [UIColor yellowColor];    }else{        view.backgroundColor = [UIColor redColor];    }    [self.view addSubview:view];

如果想要不同的语言环境对应不同的图片也是可以设置的,大致如之前我们所设置,添加语言环境,会看到


如果想换那个图片,只需要右键点击,showFinder,进去替换成名字一样的图片就可以了啊,哈哈~~


源码:国际化demo

0 0
原创粉丝点击