本文主要講根據用戶當前的移動設備的語言自動將咱們的 app 切換爲對應語言.app
主要步驟:spa
1.本地化應用程序名稱;.net
2.本地化字符串;3d
3.本地化圖片;code
4.本地化其餘文件.blog
1.本地化應用程序名稱圖片
首先須要如今 info.plist 文件裏面添加一個字段: Application has localized display name 設置爲 YES.字符串
a. 爲應用程序添加本地化支持語言文件: get
b.新建一個名爲 InfoAPP.strings 的文件:string
在項目中按 command+N 鍵呼出新建文件界面: 選擇 iOS 下的 Resource裏面的 strings file:
點擊 Next: 輸入文件名稱
c. 建立完成以後選擇建立好的 InfoApp.strings 文件, 進行以下配置:
在Xcode 的編輯界面裏面輸入如下內容:(全部對應的語言支持都要輸入以下內容)
CFBundleDisplayName = "應用名稱";
以下例子:
保存! 這一步就配置好了本地化的應用程序名稱.
2. 配置本地化字符串:
同上建立一個 strings 文件, 不過此時文件名字最好使用 Localizable.strings.
同上對這個文件進行配置, 須要在 Localizable.strings 文件中加以下內容:
"須要本地化的字符串" = "本地化以後的字符串"; 例如: "welcome" = "welcome"; (英文) "welcome" = "歡迎";(簡體中文) "welcome" = "歡迎";(繁體中文) "welcome" = "ウェルカム"; (日文)
在代碼中使用的時候, 需呀使用: NSLocalizedString(@"welcome", nil)獲取本地化以後的字符串;
例如:
UILabel *label = [[UILabel alloc] initWithFrame:(CGRect){0, 0 , 300, 50}]; label.backgroundColor = [UIColor cyanColor]; label.textColor = [UIColor blackColor]; label.center = self.view.center; [self.view addSubview:label]; label.text = NSLocalizedString(@"welcome", nil); // 設置本地化以後的字符串
注意: 若是文件不是使用 Localizable.strings 命名的話,使用的時候須要修改一下使用方法. 如 若使用的是 hello.strings 做爲文件名, 使用的時候要使用:
NSLocalizedStringFromTable(@"welcome", @"hello", nil);
3. 本地化圖片:
這裏分爲兩種方法, 第一種使用上面本地化字符串的方式配置文件名, 經過 NSLocalizedString(@"文件名稱", nil)來獲取相應的本地化以後的文件名稱;
第二種方式, 須要將文件放到項目中, 不能放到 Assets.xcassets 這個文件夾之下, 點擊你要本地化的圖片進行配置:
這樣咱們在文中直接使用正常的圖片名稱就能夠了.
如:
UIImage *image = [UIImage imageNamed:@"ssss.jpg"]; // 獲取圖片 CGSize size = image.size; CGFloat width = self.view.bounds.size.width; CGFloat height = size.height/size.width * width; UIImageView *imageView = [[UIImageView alloc] initWithFrame:(CGRect){0, 50, width, height}]; imageView.image = image; [self.view addSubview:imageView];
4. 本地化其餘文件和本地化圖片相似.
但願對你們能有所幫助, 本文部分參考自http://blog.csdn.net/wangqiuyun/article/details/7875442, 感謝該博主提供的幫助!