新聞中心

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

        基于Symbian OS的本地化技術研究

        作者: 時間:2012-03-23 來源:網絡 收藏

        (3)inc文件夾中包含的是定義程序骨架類的.h頭文件,和實現本地化所定義的.loc和.lXX文件。

        (4)src文件夾中包含的是.cpp源文件,實現.h中定義的類。聯編時各文件之間具體的關系如圖2所示

        3.2 應用程序框架類的關系

        與編寫普通的VC MFC程序一樣,必須熟悉程序中各個類之間的關系。每一個應用程序必須定義4個對象:

        l Application類定義了應用程序的屬性如UID、標題并創建一個新的文檔。是應用程序的主入口,它也將應用程序相關信息傳遞回框架。應用程序類并不涉及應用程序的數據和算法。

        l Document類描述應用程序的數據模型。對一個基于文件的應用程序,它存儲和刷新應用程序的數據,響應AppUI類產生對一個文檔編輯的請求。

        l AppUI是主要的用戶接口類,它是大量框架所發出通知的接受者,例如用戶的按鍵或者重要的系統事件。AppUI將處理事件本身,或者在適當地情況下,將這些事件傳遞給它所擁有的視圖,達到處理的目的。

        l View類用于在屏幕上顯示應用程序數據并允許用戶與之交互。對一個復雜的程序可能有多種方法顯示其數據,因此包含多個視圖類。它們之間的關系如圖3所示。

        可以簡單地歸納為:Application類創建一個文檔,文檔類創建AppUI,AppUI類創建視圖。從圖3我們可以看到應用程序還包括一個model類,model類用于封裝應用程序數據和它的算法,給程序的其他部分提供良好的API。

        3.3 實現應用程序的本地化機制

        為詳細說明實現應用程序本地化的內部機制,我們以上面的HelloWorldLoc工程為例,只針對為實現這種機制的.rss文件,.rsg文件,.loc文件,.lXX文件進行分析。在圖2當中,我們看到.l01、.l02、.l03和.loc這類文件。.lXX文件中定義了不同的語言,比如HelloWorldLoc.l01中把要顯示的文本定義成英文,HelloWorldLoc.l02中定義成了法語,而 HelloWorldLoc.l03中定義成了德語。通過編譯發布,可以很方便實現應用程序和資源的本地化,在真機顯示相對應的語言。例如在 HelloWorldLoc.l01文件中可以定義英文文本:

        #define ELanguage ELangEnglish // Caption language

        #define qtn_app_caption_string "HelloWorldLoc"

        #define qtn_app_short_caption_string "HelloWL"

        #define LABEL_TEXT "Hello World!"

        而在HelloWorldLoc.l02中定義法語文本:

        #define ELanguage ELangFrench // Caption language

        #define qtn_app_caption_string "BonjourLoc"

        #define qtn_app_short_caption_string "BonjourL"

        #define LABEL_TEXT "Bonjour Monde!"



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大英县| 于都县| 德昌县| 宝清县| 玉龙| 邛崃市| 长治市| 湘潭市| 蕉岭县| 扎兰屯市| 那坡县| 酒泉市| 武邑县| 台南市| 怀来县| 榆树市| 鄂尔多斯市| 丹寨县| 沐川县| 连平县| 东安县| 浙江省| 柳林县| 延安市| 通山县| 资溪县| 务川| 平舆县| 张家川| 连江县| 台北县| 漳浦县| 酉阳| 嵊州市| 巴中市| 陇川县| 遵化市| 商丘市| 湘乡市| 泾阳县| 宁陕县|