Xcode4 5中本地化問題

2021-06-11 20:57:26 字數 2791 閱讀 1313

忽然發現在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...