一、概念
本地化就是使應用適合與本地區使用者習慣的過程。本地化涉及多方面內容,包括文字、貨幣、日期和,甚至語音都需要本地化。
二、本地化分類
1、文字資訊本地化
文字資訊本地化占有很大的比例,其中包括應用名稱本地化、系統按鈕和資訊本地化以及靜態文字資訊本地化。
2、nib和故事板檔案本地化
3、資源檔案本地化
三、下面我們就用genstrings和nslocalizedstring實現應用程式文字本地化。文字本地化就是使文字適合本地區使用者習慣的過程。例如當你的iphone或者ipad設定語言為簡體中文時,應用程式中的文字顯示的是中文,而當你的裝置設定語言為english時,那麼你的應用程式將會顯示英文。
第一步: 比如你設定乙個按鈕顯示的文字實現本地化。原來你可能寫成
[self.testbtn settitle:@"我的按鈕
" forstate:uicontrolstatenormal];
但是現在你需要設定成
[self.testbtn settitle:nslocalizedstring(@"btn_title
", nil) forstate:uicontrolstatenormal];
其中nslocalizedstring是乙個定義在nsbundle中的巨集,其用途就是尋找當前系統語言對應的localizable.strings檔案中某乙個key的值,其中btn_title就是key,按鈕顯示的內容就是該key的value.第二個引數是對這個鍵值對的注釋,再用genstrings工具生成localizable.strings檔案時會自動加上去。
第二步:生成strings檔案。
a、開啟終端然後進入工程所在目錄。
b、新建兩個目錄,最好放在資源目錄下。
然後建立兩個資料夾。這裡不能寫錯了,zh-hans指的是簡體中文,en是英文。
mkdir zh-hans.lprojmkdir en.lproj
c、然後生成localizable.string檔案
genstrings -o zh-hans.lproj *.mgenstrings -o en.lproj *.m
-o 《資料夾》作用是制定生成的localizable.strings檔案放置的目錄。
*.m作用是掃瞄所有的.m檔案。
d、然後把生成的兩個資料夾從工程中拖到xcode開啟的專案中的resource目錄下。
e、最後再localizable.strings檔案中,修改key對應的內容就可以了。
本地化 日誌本地化
目錄 概要執行時日誌 國際化與本地化 定義你的本地化日誌資訊mymsg enum package org.skzr.logging basename charset utf 8 value org.skzr.logging.msglocallog public enum mymsg 定義國際化檔案o...
本地化SilverLight應用程式(多語言支援)
原文 利用資源檔案 resources file 使silverlight支援多語言。1.建立乙個silverlight應用程式。3.新增string型別的資源,這裡新增 usernamestring user name。設定access modeifer為public。5.為這個資源檔案新增同樣的...
C Winform程式本地化應用
1.建立乙個winform應用程式 windowsformslocalizationtest 2.在主窗體屬性欄裡,把localizable屬性設定成 true 3.新增兩個button button1 text button1 button2 id btnconfirm text confirm ...