<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Symbian OS的本地化技術(shù)研究

基于Symbian OS的本地化技術(shù)研究

作者: 時(shí)間:2012-03-23 來(lái)源:網(wǎng)絡(luò ) 收藏

同樣道理,在HelloWorldLoc.l03中可以定義德語(yǔ)文本。

在HelloWorldLoc.loc文件中根據本地化需求包含相應的.lXX文件,例如包含定義英文字符串的HelloWorldLoc.l01文件。

#include "HelloWorldLoc.l01"

在.rss文件中包含HelloWorldLoc.loc文件,可以引用.lXX中的本地化資源。

#include “HelloWorldLoc.loc”

RESOURCE TBUF r_label_text{ buf = LABEL_TEXT;}

假如這里引用的LABEL_TEXT是HelloWorldLoc.l01中定義的英文文本:

#define LABEL_TEXT "Hello World!"

那么在Carbide C++集成開(kāi)發(fā)環(huán)境下,資源編譯器rcomp.exe對包含本地化資源的HelloWorldLoc.rss文件編譯后,輸出一個(gè)二進(jìn)制資源文件 HelloWorldLoc.rsc和一個(gè)HelloWorldLoc.rsg頭文件。HelloWorldLoc.rsg頭文件中利用#define定義符號名R_LABEL_TEXT來(lái)引用本地化資源。如下定義:

#define R_LABEL_TEXT 0x2aa81006

在顯示數據的View類(lèi)的.cpp源文件中,包含HelloWorldLoc.rsg頭文件,通過(guò)引用R_LABEL_TEXT就可以顯示它所標識的"Hello World!"字符串。

3.4 實(shí)現應用程序的漢化技術(shù)

對于英語(yǔ)、法語(yǔ)、德語(yǔ)這些拉丁字符集均是通過(guò)Unicode標準進(jìn)行編碼,Symbian OS內置了Unicode編碼,所以通過(guò)改變.loc文件中所包含的.lXX文件,可以很方便的生成不同語(yǔ)言文本的應用程序。在Symbian OS的epoc32Includee32std.h頭文件中我們可以看到定義了這些語(yǔ)言標識碼,每種支持的語(yǔ)言都具有兩位數字的標識碼。例如英語(yǔ)是 01,法語(yǔ)是02,德語(yǔ)是03:

enum TLanguage

{ELangEnglish = 1, /** UK English. */

ELangFrench = 2, /** French. */

……

ELangHongKongChinese = 30, /** Hong Kong Chinese. */

ELangPrcChinese = 31, /** Peoples Republic of Chinas Chinese. */

……

}

在上面定義的標識代碼中,我們可以看到對漢語(yǔ)的標識代碼也有所定義,分別是30和31。但我們并不能簡(jiǎn)單地在.lXX文件中定義中文文本。中文文本屬于非拉丁語(yǔ)系,對于非拉丁語(yǔ)言,文本的本地化要復雜一些。對于生產(chǎn)使用漢語(yǔ)、日語(yǔ)、朝鮮語(yǔ)等的應用程序,Symbian OS和 SDK確實(shí)提供了一些支持,但我們需要做一些額外的工作。要解決漢字問(wèn)題,必須轉換我們的漢字編碼。下面是實(shí)現中文本地化的具體實(shí)現方法,稱(chēng)之為靜態(tài)方法。

首先,在.lXX文件中定義: #define LABEL_TEXT “字符串_中文”

然后將這個(gè).lXX文件用WORD或記事本轉換成UTF8編碼。這里要注意,有時(shí)在轉換時(shí),會(huì )在轉換生成后的文件頭部添加上一個(gè)文本編輯器無(wú)法看到的標志字符,需要用edit編輯器將其打開(kāi),刪除標志字符,否則編譯將會(huì )出錯。在.loc文件中包含.lXX文件:#include ".lXX"。在.RSS文件中定義字符串:RESOURCE TBUF r_label_text{buf=LABEL_TEXT;}

同時(shí)在.RSS文件頭添加一行代碼:CHARACTER_SET UTF8。在.cpp文件中,包含.rsg頭文件,通過(guò)引用R_LABEL_TEXT就可以顯示它所標識的"字符串_中文"字符串。

四、 Symbian OS在我國的發(fā)展前景

隨著(zhù)Symbian OS對本地化的進(jìn)一步支持,基于Symbain OS的我國國產(chǎn)智能手機軟件必將有所大力普及。作為一種面向未來(lái)無(wú)線(xiàn)通信的操作系統,一方面由于它所具有的強大功能,另一方面有世界各大移動(dòng)設備商(包括其股東)的支持,還有像Intel、TI、IBM等各大公司都陸續宣布和Symbian公司合作開(kāi)發(fā)無(wú)線(xiàn)通信設備軟件應用程序,Symbian OS在我國國內將具有良好的發(fā)展前景。

參考文獻

[1].Leigh Edwards Richard Barker,EMCC軟件公司.應用程序開(kāi)發(fā).北京.人民郵電出版社.2005年7月第1版.P29;

[2].何偉,楊宗德,張兵.Symbian OS的手機開(kāi)發(fā)與應用.北京.人民郵電出版社.2006年8月第1版.P141;

[3].方銀旺, 趙問(wèn)道,李 欣.Symbian操作系統及其應用程序開(kāi)發(fā).計算機工程.2003年第29卷第1期.P277;

[4].王咸鋒,賴(lài)斯全,吳隸章.基于NOKIA S60來(lái)電歸屬地查詢(xún)系統的設計與實(shí)現.微計算機信息,2006:8-3,205-206;


上一頁(yè) 1 2 3 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>