本文介绍iOS国际化包含以下几种:
应用名称,文字,图片和xib
首先在工程里添加支持的语言,这里用了English和中文
然后创建两个.strings类型的文件,文件名分别为InfoPlist和Localizable,其中第一个可以为任何一个名字,随你高兴
选中之前创建的两个.strings文件,然后在右边的属性设置点击Localizable,选中一个语言,然后再把其他你想要的语言勾选上,这时候你的.strings文件就有多个选项了,可以在不同的选项中添加不同的键值对来设置在不同语言系统下的值。
然后我们可以写代码了,在这个里我们可以实现应用名称、文字和图片的国际化
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 // Do any additional setup after loading the view, typically from a nib. 4 5 // label 6 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, self.view.frame.size.width - 100, 50)]; 7 label.backgroundColor = [UIColor orangeColor]; 8 [self.view addSubview:label]; 9 label.text = NSLocalizedString(@"yinhao", ""); 10 11 12 // imageView 13 UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 200, self.view.frame.size.width - 100, self.view.frame.size.width - 100)]; 14 [self.view addSubview:imageView]; 15 imageView.image = [UIImage imageNamed:NSLocalizedString(@"imageName", "")]; 16 }
对于xib和上面差不多,也很简单,就是选中xib,在右边的设置中也有一个Localizable可以点击,点击了之后的设置和上面的方法一样,然后在不同的xib上左不同的事情,就可以实现国际化。
总结:我个人觉得,iOS国际化的总体思想就是,每种语言都分别给出一个值,然后当系统切换时,在选中不同的值