999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

設備故障監測診斷平臺多語言技術研究

2012-03-17 07:20:28陳容紅江志農
電子設計工程 2012年11期
關鍵詞:定義程序資源

陳 京,陳容紅,江志農

(1.北京化工大學 診斷與自愈工程研究中心,北京 100029;2.北京電子科技職業學院 自動化工程學院,北京 100176)

隨著時代進步、國際化接軌,軟件多語言版本的需求日益增強,設備故障監測診斷平臺也同樣如此[1]。同時由于嵌入式環境的特殊性,各方面資源都受到一定限制,因此它對多語言技術具有一定的特殊需求。基于Json的多語言實現技術相對于傳統方案在速度、空間利用方面有所提高,同時利于拓展與修改,能滿足嵌入式多語言的需求,同時通過開發資源管理工具對多語言資源進行管理,釋放了開發人員的精力,使其能更集中于核心業務之中。目前該技術已應用于大型故障監測診斷平臺與手持式巡檢儀中。

1 多語言技術現狀及其缺陷

目前的程序多語言技術通過資源文件狀態大致可以分為以下3種:

1)資源內嵌式多語言技術;

2)資源文件二進制化;

3)資源文件文本化。

傳統的多語言程序多使用內嵌式多語言化技術。即將多種語言所需要使用的資源硬編碼到程序代碼中,程序啟動時通過某個參數來確定使用將哪一種資源展現給用戶。

內嵌式多語言技術具有資源加載速度快,占用資源較少的優點。但由于資源定義于程序當中,一旦資源發生變動,便需要重新編譯整個項目文件。這會大幅降低軟件開發進程,無法滿足當前日益增快的軟件迭代速度要求[2]。

基于這一點,較新的多語言實現技術將多語言資源從程序中提取出來,作為單獨的資源文件存在,即資源文件二進制化。這時的資源文件通常體現為Dll的形式。這種形式的資源文件同樣具有資源加載快、占用空間小的優點,同時由于資源文件與主程序相分離,資源方面的改動不會影響到主程序。但這種多語言化技術的資源仍存在資源變動難的問題,資源每次更新后仍需開發人員進行編譯發布,這種多語言實現技術通常是通過定義VC的純資源Dll并提供相應的管理接口來實現[3-4]。

目前最新的多語言技術則屬于資源文件文本化。即將資源文件完全與主程序剝離開來,以文本文件的形式存在,主程序通過中間的管理類來與資源文件進行交互,無法直接對資源文件進行讀取。這種方法相對于前兩種方法來說修改靈活,使用方便并且易于拓展和升級,但由于文本實現機制的不同,往往各種方式的性能、空間占用率等方面都存在很大差別。目前比較通用的是使用Xm l文件來對資源文件進行存儲。

Xm l(extensiblemarkup language)是一種用于標記電子文件使其具有結構性的標記語言,可以用于標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。

基于Xml的實現方案將字符串與對應的ID定義與Xml文件中,應用程序通過解析Xm l文件中的信息來獲取相應的字符串[5]。其大致思路與本文相同,但Xm l在效率上存在一定問題。Xml文件中存在很多用于解析的附加信息,而一般程序中的字符串量都很大。這些附加信息導致Xml資源文件變得臃腫,占用額外的空間并影響程序的解析速率。

2 Json多語言技術

2.1 Json交換格式

Json(JavaScript Object Notation)是一種輕量級的數據交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C,C++, C#,Java, JavaScript, Perl, Python 等)。 這些特 性 使Json成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。

Json中的對象通常可以分為兩種類型:鍵/值對與值的有序列表。鍵/值對在Json中的表達方式為:{“Key”:Value}。相對于更加直觀的表達式Key=Value,這種表達方式占有更多的空間,但當文件中存在很多鍵值對時,這種表達方式更易于理解,可讀性更強,而且相對與Xml來說,它可以用更小的空間來體現相當的含義[6]。

2.2 多語言方案

Json多語言技術是屬于資源文件文本化的一種多語言技術。因此程序與文本化資源之間需要一個接口來對資源進行讀取、切換語種等操作。這個接口需要將資源的變化與主程序隔離開來。使得修改資源文件時,主程序不會受到影響。同時,這個接口還需要具有良好的拓展性,便于添加新的語種文件。

基于此,可以采用將可用語種與相關資源路徑都定義于Json配置文件中,而將存取接口定義與資源管理Dll中的方案。資源管理Dll中所必須的接口有:獲取默認語種,設置默認語種,獲取多語言資源,設置多語言資源等。程序獲取多語言資源時,只需要與資源管理Dll交互,而不用關心當前的語種、資源文件的種類、路徑等信息。

而需要拓展時只需在配置文件中添加相關語種定義及對應資源即可。程序中與語言種類相關的資源通常有字符串、圖片、語音等,因此,配置文件一般內容如表1所示。

程序通過接口讀取配置文件中的默認語種種類,并尋找對應資源路徑,來初始化程序的界面顯示。同時程序獲取所有可用語種,并向用戶提供相應選項來達到實時切換語種的目的。

表1 配置字段Tab.1 Config fields

對于需要使用的資源,程序中定義的是資源的一個ID,程序通過這個ID與當前語種的資源路徑名來獲取對應的語種資源。相對與圖片、語音等資源,字符串的資源定義最為直接,他只需在Json文件中存儲與ID相對應的字符串資源,主程序就能通過解析Json文件得到所需的字符串。字符串資源文件所需字段如下:

1)字符串ID:與主程序中定義的字符串ID相對應。

2)字符串值:主程序所想要展現給用戶的最終字符串。不同語種統一ID對應的值表達的意義應相同。體現在Json文件中則是如下格式:

圖片資源與語音資源相對復雜,因為文本文件中無法直接存儲對應的語種資源。本文采取的解決方案時鍵值所對應的是資源所在的路徑。其資源定義字段為:

1)資源ID:和字符串類型一樣,與主程序中定義的ID保持一致。

2)資源路徑:主程序展現給用戶的最終圖片或語音文件的路徑。

體現在Json文件中,其格式如下:

2.3 資源庫維護程序

盡管Json文件定義清晰,利于理解,但仍然不是很貼切自然語言的使用方式,這對資源的維護帶來了一定的困難。

專門制作一款用于維護資源庫的輔助工具,按照預先定義好的協議將資源信息寫入Json文件中。這樣可以便利的添加與刪除資源,使非開發人員也能熟練的對資源文件進行操作,減小開發量。

輔助工具可以使用與主程序相同的接口庫對資源文件進行存取,而不必進行特意的開發。在界面展示上,輔助工具可以借助已有的表格工具,將Json內容轉換為csv格式,通過Excel進行顯示,方便快捷。

3 對比與實現

3.1 方案比較

由于資源文件內嵌式多語言技術與資源文件二進制化多語言技術均難以對需求的變更進行及時的響應,同時其拓展性也有很大的限制,本文未將其進行對比。本文進行對比的是同為資源文本化的Xml多語言化技術。

在一個程序中多語言資源最主要的部分就是字符串,因此本文主要針對字符串存取的3個方面對其進行的測試比較。

測試字符串均為 “TestString”,測試結果分別如表2、表3、表 4所示。

表2 字符串讀取速度Tab.2 Reading tim e

表3 字符串寫入速度Tab.3 W riting tim e

表4 資源文件占用空間大小Tab.4 File size

由測試結果可知,在存取速度上,Json多語言技術是Xml多語言技術的2.3倍左右,而Json文件的大小則為Xm l文件的1/2左右。Json多語言技術相對于Xm l技術來說具有很明顯的優勢,更符合嵌入式開發各種條件都受到限制的環境。

3.2 實現效果

通過實現WinCE系統下的手持式巡檢系統的多語言化,證明了該方案的可行性。

實現效果圖如圖1、圖2所示。

4 結 論

圖1 中文主界面Fig.1 Chinese interface

圖2 英文主界面Fig.2 English interface

國家交流日益頻繁,多語言技術發展難以避免。本文針對嵌入式軟件平臺的特殊性提出的基于Json的多語言實現技術。經過與傳統方案的對比,具有切實的可行性與操作性。同時開發對資源文件進行維護的拓展工具的維護方法,可以減小開發人員任務量,使其能專注于核心業務,具有實用性。

[1]宋秋貴,岳峰,石正海,等.一種應用于Unicode設計多語言實時切換應用程序的解決方案 [J].電腦開發與應用,2006,19(3):53-55.

SONGQiu-gui,YUE Feng,SHIIZheng-hai,etal.Solution for designing multilanguage real-time switchover application program with unicode[J].Computer Development& Applications,2006,19(3):53-55.

[2]翼斌.Windows平臺下應用軟件多語言支持 [J].計算機工程,2004,30(1):163-164.

JIBin.Applicationmulti-lingual supporton windows platform[J].Computer Engineering,2004,30(1):163-164.

[3]唐勇,李秀龍,陳晶,等.多語言用戶界面的研究與實現[J].計算機應用研究,2002,4(1):112-113.

TANG Yong,LIXiu-long,CHEN Jing,et al.The study of the technology of multi-language user interface[J].Application Research of Computers,2002,4(1):112-113.

[4]蔣衍君.電力監控軟件多語言支持 [J].電力自動化設備,2008(3):91-95 JIANG Yan-jun.Multi-language support of power SCADA software[J].Electric Power Automation Equipment,2008(3):91-95.

[5]王鋒,魏曉麗,江開耀.基于XML的C#多語言界面實現[J].計算機工程與設計,2008,29(15):4073-4074.WANG Feng,WEIXiao-li,JIANG Kai-yao.Implemention of multi-language interface on C#based on XML[J].Computer Engineering and Design,2008,29(15):4073-4074.

[6]高靜,段會川.JSON的數據傳輸效率研究[J].計算機工程與設計,2011,23(7):2267-2270.

GAO Jing,DUAN Hui-chuan.Research on data transmission efficiency of JSON[J].Computer Engineering and Design,2011,23(7):2267-2270.

猜你喜歡
定義程序資源
基礎教育資源展示
一樣的資源,不一樣的收獲
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
資源回收
“程序猿”的生活什么樣
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 中文字幕亚洲精品2页| 欧美成人a∨视频免费观看| 国产网友愉拍精品| 精品人妻一区二区三区蜜桃AⅤ| 欧美a在线视频| 三上悠亚精品二区在线观看| 国产成人啪视频一区二区三区| 亚洲欧美自拍中文| 国产高清不卡| 国产日韩欧美在线视频免费观看| 久久精品66| 国产福利在线观看精品| 亚洲首页在线观看| 伊人天堂网| 亚洲91精品视频| 9啪在线视频| 国产欧美日韩在线一区| 超薄丝袜足j国产在线视频| 亚洲高清在线播放| 找国产毛片看| 欧美日韩在线亚洲国产人| 精品国产Av电影无码久久久| 国产农村1级毛片| 波多野结衣视频网站| AV不卡在线永久免费观看| 国产成人欧美| 色男人的天堂久久综合| 影音先锋亚洲无码| 欧美精品综合视频一区二区| 成人国产精品一级毛片天堂 | 国产精品久久自在自2021| 亚洲色中色| 免费欧美一级| 久久99久久无码毛片一区二区| 国产va在线| 免费不卡在线观看av| 最新痴汉在线无码AV| 91久久夜色精品国产网站| 极品性荡少妇一区二区色欲 | 91探花国产综合在线精品| 性欧美精品xxxx| 国产精品v欧美| 色九九视频| 伊人天堂网| 亚洲人成色在线观看| 在线看免费无码av天堂的| 91福利免费视频| 国产91小视频在线观看| 在线精品亚洲国产| 国产福利免费在线观看| 少妇人妻无码首页| 欧美第九页| 91麻豆精品国产高清在线| 久久青草热| 国产办公室秘书无码精品| 熟女成人国产精品视频| 国产乱人伦精品一区二区| 日韩大片免费观看视频播放| 天天做天天爱夜夜爽毛片毛片| 97人人做人人爽香蕉精品| 免费A级毛片无码无遮挡| 亚洲最新在线| 三上悠亚在线精品二区| 国产视频欧美| 国产91色| 午夜啪啪网| 欧美一区二区丝袜高跟鞋| 91麻豆国产在线| 91精品aⅴ无码中文字字幕蜜桃| 精品小视频在线观看| 超级碰免费视频91| 无码内射中文字幕岛国片 | 欧美日韩国产高清一区二区三区| 色呦呦手机在线精品| 亚洲A∨无码精品午夜在线观看| 99久久精品免费看国产免费软件 | 欧美成人免费午夜全| 99久久精品国产自免费| 精品無碼一區在線觀看 | 亚洲AV色香蕉一区二区| 成人噜噜噜视频在线观看| 五月婷婷亚洲综合|