iphone App的國際化

2021-06-07 19:06:36 字數 2058 閱讀 6976

通過以下函式來

讀取localizable.strings檔案時,會自動選擇與手機系統語言相匹配的localizable語言版本。這樣就實現了系統語言與軟體語言匹配的國際化功能。

這就是使用localizable實現程式國際化的基本思想。

#define nslocalizedstring(key, comment) \

[[nsbundle mainbundle] localizedstringforkey:(key) value:@"" table:nil]

#define nslocalizedstringfromtable(key, tbl, comment) \

[[nsbundle mainbundle] localizedstringforkey:(key) value:@"" table:(tbl)]

#define nslocalizedstringfromtableinbundle(key, tbl, bundle, comment) \

[bundle localizedstringforkey:(key) value:@"" table:(tbl)]

#define nslocalizedstringwithdefaultvalue(key, tbl, bundle, val, comment) \

[bundle localizedstringforkey:(key) value:(val) table:(tbl)]

具體做法大致如下:1.建立localizable.strings檔案右鍵-》new file-》resource-》string file

建立名字為localizable.strings的檔案:

2.增加不同語言版本的localizable.strings檔案

選中localizable.strings檔案,看localizable對應的xcode最右邊的視窗中的show the file inspector視窗:

選擇localization項的+號,新增你自己想要的語言版本:

可以通過+,-號增加語言的版本,對應的localizable.strings會自動生成:

ok,至此就已經完成建立多語言版本的localizable的工作。

3.在localizable檔案中寫入不同版本的語言

右鍵,add row,可以新增map形式的資料了。

新增資料如下:

localizable.strings(english)新增資訊:

localizable.strings(chinese)新增資訊:

當你在程式中使用指定函式呼叫時,就會自動匹配系統語言,輸出不同結果:

nsstring*strhello = nslocalizedstring(@"hello", @"");

nslog(strhello);

如果系統語言是英文,會輸出:hello

如果系統語言是中文,會輸出:你好!

國際化的過程大致如此。

軟體國際化值頁面國際化

國際化 軟體的國際化 軟體開發時,要使它能同時應對世界不同地區和國家的訪問,並針對不同地區和國家的訪問,提供相應的 符合來訪者閱讀習慣的頁面或資料。國際化又稱為 i18n internationalization 對於軟體中的選單欄 導航條 錯誤提示資訊,狀態資訊等這些固定不變的文字資訊,可以把它們...

外掛程式國際化

外掛程式國際化 在我們的應用中,難免會遇到國際化的問題,eclipse rcp給我們提供了很好的方案,甚至可以在後期批處理完成,但如果是其它外掛程式未提供我們需要的語言版呢?我們可以如何為它們提供語言包呢?乙個簡單的例子,你用messagedialog開啟對話方塊時,按鈕一般時 ok,cancel,...

資源國際化

properties 檔案裡的資源必須經過編碼,不能出現中問,日文等。且必須是ascii 碼。jdk 中bin 資料夾下的native2ascii.exe 可以把資源轉換為ascii 碼。在命令提示符中輸入 native2ascii encoding utf 8 sourcefile targetf...