研究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-C
self.lblText.text = NSLocalizedString(@"Hello", @"")
//Swift
lblText.text! = NSLocalizedString("Hello", comment: "")
將iPhone語言進行設置切換運行就可以進行適配,顯示如下,完成了相關內容對英文以及中文的適配:
步驟與上面的內容是一樣的,只說幾個不同點
1、文件名字叫做InfoPlist(.strings)
2、內容的形式為CFBundleDisplayName = ""
樓主在相應文件裡面下寫法如下:
//適配中文:
//這是在InfoPlist.strings( Chinese(Simplified) )中,對中文進行適配
CFBundleDisplayName = "岳";
//適配英文
//這是在InfoPlist.strings( English )中,對英文進行適配
CFBundleDisplayName = "EnName";
效果如下: