iOS多語言設定

來源:互聯網
上載者:User

標籤: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多語言設定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.