忽然發現在xcode4。5裡不會新增本地化字串了,localication的加號點開必須選擇資源檔案(首次新增是空的,無功而返),隨後搜尋到好文**而告知:
名稱本地化參考
1)選中工程,在info中的localizations按+號,為infoplist.strings和storyboard建立本地化。
2)在infoplist.strings(english)新增 "cfbundledisplayname"= "testlocalization";
在infoplist.strings(chinese)新增 "cfbundledisplayname"= "本地化測試";
3)執行後結果如下
device為英文環境時
device為中文環境時
說明:參考[1]中蘋果文件中info.plist的 lshaslocalizeddisplayname要設定為yes,但是測試發現不設定也可以。
字串&xib&資源的本地化參考
1.使用文字的本地化
1)在工程檔案中右擊,」new file「,選擇string file,建立 localizable.strings 檔案。
1.1)如果用nslocalizedstring 那麼一定要使用localizable.strings 檔名,
因為#define nslocalizedstring(key, comment) \
[[nsbundle mainbundle] localizedstringforkey:(key) value:@"" table:nil]
其中table傳的值為nil,就是預設table,而系統預設table就是localizable.strings 此檔案。
如果修改為其他檔名,比如***.strings,那麼應該使用 nslocalizedstringfromtable(
@"key"
,@"***"
,nil
);來本地化。***沒有字尾.strings
1.2)如果需要使用其他目錄的本地化檔案,有可能你不想根據手機的語言來判斷使用哪種本地化,而希望自己用開關控制。
此時,可以使用nslocalizedstringfromtableinbundle ,這時你需要根據目標目錄建立nsbundle,另外bundle其實就是乙個目錄。
2)為 localizable.strings 建立中文的本地化
3)在localizable.strings(chinese)中修改title 和key欄位,修改裝置的語言為」中文「,執行後結果如下
2.xib資源的本地化
3資源的本地化
然後在en.lproj和zh-hans.lproj使用同名但不同內容的即可。
Xcode 4 5 中的新語法
xcode 4.5 開始,增加了如下新語法,可以讓我們提高 編寫效率,減少擊鍵次數。不過,這需要ios 4.3 的支援。1 陣列 從 xcode 4.5 開始,你可以這樣使用下標來訪問陣列 id object array 5 等於 id object array objectatindex 5 下標...
xcode4 4實現本地化
貌似xcode4.4實現本地化與網上搜的之前版本xcode的有所不同。這裡只說4.4上怎麼做 首先是nslocalizedstring 這是乙個巨集,本質上是呼叫了函式 locakizedstrigforkey 這樣,這個巨集做的其實就是在當前bundle中查詢資源檔名localizable.str...
linux中的本地化
linux中顯示亂碼了怎麼辦?這時候需要設定對本地化。知其然還要知其所以然,下面一步步來為你截開linux中的本地化的神秘面紗。原文 小宇的部落格 locale翻譯過來是本地的意思。linux中的locale工具能夠輸出當前本地化資訊,或者輸出所有支援的本地化 編碼資訊。在linux中執行local...