有的时候产品里需要涉及到多语言,所以需要国际化的设置,现在就记录一下,首先如果要国际化需要到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