iOS開發------程式實現國際化Localizable
研究AssertsLibaray.framework以及Photos.framework這兩個原生靜態庫的時候,相簿的組名需要用到國際化來標示一下,雖然系統提供了組名的國際化,但是稍微的瞭解了一下國際化還是有必要的。就在這裡就稍作記錄作為參考。語言國際化就是為不同的語言做的適配,就像iPhone一樣,根據不同的語言會將文字變成相應的語言。以下的操作的編譯器為Xcode 7.3
內容國際化
1、建立字串國際化檔案(Strings File)
2、將檔案的名字改為Localizable
,這裡需要注意一個問題,必須是這個名字,不然系統在找適配檔案的時候會找不到檔案,其次尾碼名不需要打,不然會建立了一個叫做Localizable.strings.strings
的檔案,這樣也是在找適配檔案的時候找不到檔案,樓主之前就是犯了這個錯誤,下面的會出現名字的問題,共勉.
3、選中.strings檔案,可以從右側的屬性欄看到相關屬性以及操作,點擊標出的Localize
按鈕,進行建立
4、在彈框中點擊Localize
選項確認
5、在項目中找到PROJECT -> Info -> Localizations
點擊左下角的+
號就可以添加各種適配的語言.這裡只添加了本身的英文以及簡體中文 ,添加完畢,之前的.strings檔案左邊會出現小箭頭,表示下面已經有適配語言的檔案。
6、檔案右側的屬性欄原本是Localize
按鈕的地方就成為了選擇適配語言的檔案選項,將自己適配的語言進行勾選:
7、在各自的回應檔中,按照"key" = "value"
的形式進行適配就可以了:
//適配中文://這是在Localizable.strings( Chinese(Simplified) )中,對中文進行適配"Hello" = "你好啊";
//適配英文//這是在Localizable.strings( English )中,對英文進行適配"Hello" = "Hello";
8、適配在代碼中用法如下:
//進行本地語言國際化適配//Objective-Cself.lblText.text = NSLocalizedString(@"Hello", @"")//SwiftlblText.text! = NSLocalizedString("Hello", comment: "")
將iPhone語言進行設定切換運行就可以進行適配,顯示如下,完成了相關內容對英文以及中文的適配:
項目名稱國際化
步驟與上面的內容是一樣的,只說幾個不同點
1、檔案名稱字叫做InfoPlist(.strings)
2、內容的形式為CFBundleDisplayName = ""
樓主在相應檔案裡面下寫法如下:
//適配中文://這是在InfoPlist.strings( Chinese(Simplified) )中,對中文進行適配CFBundleDisplayName = "嶽";
//適配英文//這是在InfoPlist.strings( English )中,對英文進行適配CFBundleDisplayName = "EnName";
效果如下: