標籤:err idt 檔案的 MTA width oftype mtab 介面 添加
最近公司做的項目需要向國外推廣,因此app需要添加相應的語言設定,為此整理記錄下多語言設定的過程。如有不對的地方,歡迎各位大神指正。下面就詳細介紹下設定的過程:
1、基本設定
第一步:首先在 項目工程-PTROJECT-Info中添加需要支援的語言
如上點擊“+”號會彈出提供的語言列表,我們選擇項目需要支援的語言就可以了
第二步:建立Localizable.strings(??:該檔案名稱不要隨意更改)作為多語言資源對應的詞典,儲存多語言
建立好後,接下來需要繼續做如下操作:
(1)選中Localizable.strings檔案,點擊右側欄對應的Localize...
(2)在Localization裡添加所要支援的語言,並勾選
第三步,經過以上幾步,前期的基本設定完成了,可以在Localizable.strings裡設定所需要的語言了。如下所示
第四步,設定好對應的語言後,就可以去使用了。那麼可以按以下方式去使用
NSString * tempStr = NSLocalizedString(@"test_label", nil);
??:
以上是對應的建立以Localizable為名字的檔案調用方式。如果設定的是自訂的名字,如test.strings,調用的方式為:
NSLocalizedStringFromTable("name", "test", nil);
2、StoryBoard和Xib設定
storyBoard和xib設定同Localizable.strings類似。點那個我們建立Localizable.strings對應的語言檔案時,系統自動的產生了app中現有storyBoard對應的系統檔案。對於後加的檔案,我們可以選中檔案,點擊右側的Localize...並勾選對應的語言即可。
比如在storyBoard和xib中有一個Label,它對以會有一個Object ID了。我們可以通過這個ID來設定對應的語言文本
不過這個建議是所有的UI介面都設定完成後,再去設定多語言。當然可以通過對控制項拖線,在代碼實現中設定多語言
3、應用程式名稱等相關許可權多語言設定
應用程式名稱等設定與上面的幾個多語言設定的步驟是基本一致的,只是在建立strings檔案的時候檔案名稱要為InfoPlist。
這裡以中文為例,設定app名稱:"CFBundleDisplayName" = "測試";
4、判斷系統的語言
NSArray *languages = [NSLocale preferredLanguages];NSString *currentLanguage = [languages objectAtIndex:0];NSLog(@"%@", currentLanguage);
??:通過[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]]設定app語言後,一定要記得重新設定window的rootViewController
好了,以上就是iOS多語言的相關內容
iOS多語言設定