• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

    在HelloWorldLoc.loc文件中根據(jù)本地化需求包含相應(yīng)的.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++集成開發(fā)環(huán)境下,資源編譯器rcomp.exe對包含本地化資源的HelloWorldLoc.rss文件編譯后,輸出一個二進制資源文件 HelloWorldLoc.rsc和一個HelloWorldLoc.rsg頭文件。HelloWorldLoc.rsg頭文件中利用#define定義符號名R_LABEL_TEXT來引用本地化資源。如下定義:

    #define R_LABEL_TEXT 0x2aa81006

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

    3.4 實現(xiàn)應(yīng)用程序的漢化技術(shù)

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

    enum TLanguage

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

    ELangFrench = 2, /** French. */

    ……

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

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

    ……

    }

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

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

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

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

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

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

    參考文獻

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

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

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

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


    上一頁 1 2 3 下一頁

    評論


    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 平舆县| 洞头县| 霍林郭勒市| 临颍县| 大邑县| 安康市| 桐柏县| 海晏县| 莫力| 庄河市| 武定县| 手游| 唐海县| 丹阳市| 偃师市| 郎溪县| 开封市| 梅河口市| 汾阳市| 剑川县| 洛扎县| 耒阳市| 额济纳旗| 淳化县| 老河口市| 淳化县| 肇东市| 崇明县| 长乐市| 繁昌县| 双江| 水富县| 九龙坡区| 辰溪县| 太仆寺旗| 武川县| 施秉县| 张北县| 嘉祥县| 祁东县| 益阳市|