一、概念
本地化就是使應用适合與本地區使用者習慣的過程。本地化涉及多方面内容,包括文字、貨币、日期和圖檔,甚至語音都需要本地化。
二、本地化分類
1、文本資訊本地化
文本資訊本地化占有很大的比例,其中包括應用名稱本地化、系統按鈕和資訊本地化以及靜态文本資訊本地化。
2、nib和故事闆檔案本地化
3、資源檔案本地化
三、下面我們就用genstrings和nslocalizedstring實作應用程式文本本地化。文本本地化就是使文本适合本地區使用者習慣的過程。例如當你的iphone或者ipad設定語言為簡體中文時,應用程式中的文本顯示的是中文,而當你的裝置設定語言為english時,那麼你的應用程式将會顯示英文。
第一步: 比如你設定一個按鈕顯示的文字實作本地化。原來你可能寫成
但是現在你需要設定成
其中nslocalizedstring是一個定義在nsbundle中的宏,其用途就是尋找目前系統語言對應的localizable.strings檔案中某一個key的值,其中btn_title就是key,按鈕顯示的内容就是該key的value.第二個參數是對這個鍵值對的注釋,再用genstrings工具生成localizable.strings檔案時會自動加上去。
第二步:生成strings檔案。
a、打開終端然後進入工程所在目錄。
b、建立兩個目錄,最好放在資源目錄下。
然後建立兩個檔案夾。這裡不能寫錯了,zh-hans指的是簡體中文,en是英文。
c、然後生成localizable.string檔案
-o <檔案夾>作用是制定生成的localizable.strings檔案放置的目錄。
*.m作用是掃描所有的.m檔案。
d、然後把生成的兩個檔案夾從工程中拖到xcode打開的項目中的resource目錄下。
e、最後再localizable.strings檔案中,修改key對應的内容就可以了。
注:你可以自己設定裝置的語言來檢測一下是否成功。如果不成功随時評論提出。