iOS多語言設置

最近公司作的項目須要向國外推廣,所以app須要添加相應的語言設置,爲此整理記錄下多語言設置的過程。若有不對的地方,歡迎各位大神指正。下面就詳細介紹下設置的過程:app

一、基本設置測試

第一步:首先在 項目工程-PTROJECT-Info中添加須要支持的語言spa

 

如上點擊「+」號會彈出提供的語言列表,咱們選擇項目須要支持的語言就能夠了3d

第二步:建立Localizable.strings(⚠️:該文件名不要隨意更改)做爲多語言資源對應的詞典,存儲多語言code

 

建立好後,接下來須要繼續作以下操做:blog

(1)選中Localizable.strings文件,點擊右側欄對應的Localize...資源

 

(2)在Localization裏添加所要支持的語言,並勾選string

第三步,通過以上幾步,前期的基本設置完成了,能夠在Localizable.strings裏設置所須要的語言了。以下所示it

第四步,設置好對應的語言後,就能夠去使用了。那麼能夠按如下方式去使用io

NSString * tempStr = NSLocalizedString(@"test_label", nil); 

⚠️:

以上是對應的建立以Localizable爲名字的文件調用方式。若是設置的是自定義的名字,如test.strings,調用的方式爲:

NSLocalizedStringFromTable("name", "test", nil);

二、StoryBoard和Xib設置

storyBoard和xib設置同Localizable.strings相似。點那個咱們建立Localizable.strings對應的語言文件時,系統自動的生成了app中現有storyBoard對應的系統文件。對於後加的文件,咱們能夠選中文件,點擊右側的Localize...並勾選對應的語言便可。

好比在storyBoard和xib中有一個Label,它對以會有一個Object ID了。咱們能夠經過這個ID來設置對應的語言文本

   

不過這個建議是全部的UI界面都設置完成後,再去設置多語言。固然能夠經過對控件拖線,在代碼實現中設置多語言

三、應用名等相關權限多語言設置

應用名等設置與上面的幾個多語言設置的步驟是基本一致的,只是在建立strings文件的時候文件名要爲InfoPlist。

這裏以中文爲例,設置app名稱:"CFBundleDisplayName" = "測試";

四、判斷系統的語言

NSArray *languages = [NSLocale preferredLanguages];

NSString *currentLanguage = [languages objectAtIndex:0];

NSLog(@"%@", currentLanguage);

⚠️:經過[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]]設置app語言後,必定要記得從新設置window的rootViewController

好了,以上就是iOS多語言的相關內容

相關文章
相關標籤/搜索