本文介紹iOS國際化包含如下幾種:spa
應用名稱,文字,圖片和xibcode
首先在工程裏添加支持的語言,這裏用了English和中文blog
而後建立兩個.strings類型的文件,文件名分別爲InfoPlist和Localizable,其中第一個能夠爲任何一個名字,隨你高興圖片
選中以前建立的兩個.strings文件,而後在右邊的屬性設置點擊Localizable,選中一個語言,而後再把其餘你想要的語言勾選上,這時候你的.strings文件就有多個選項了,能夠在不一樣的選項中添加不一樣的鍵值對來設置在不一樣語言系統下的值。string
而後咱們能夠寫代碼了,在這個裏咱們能夠實現應用名稱、文字和圖片的國際化it
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上左不一樣的事情,就能夠實現國際化。io
總結:我我的以爲,iOS國際化的整體思想就是,每種語言都分別給出一個值,而後當系統切換時,在選中不一樣的值class