應用程式本地化之文字本地化

2021-09-23 21:06:44 字數 1311 閱讀 9340

一、概念

本地化就是使應用適合與本地區使用者習慣的過程。本地化涉及多方面內容,包括文字、貨幣、日期和,甚至語音都需要本地化。

二、本地化分類

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.lproj

mkdir en.lproj

c、然後生成localizable.string檔案

genstrings -o zh-hans.lproj *.m

genstrings -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 ...