邊干邊學(xué)界面本地化_第1頁(yè)
邊干邊學(xué)界面本地化_第2頁(yè)
邊干邊學(xué)界面本地化_第3頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、LabVIEW開(kāi)發(fā)技術(shù)邊 干 邊 學(xué) 界 面 本 地 化淘寶店:/空間: HYPERLINK http:/1256547627/?ptlang=2052 http:/1256547627?ptlang=2052地址/cgi-bin/qf_invite?id=76ac8480cda81f5 7c426317718d16f5fe42cfde729622e2c打開(kāi)此只需訂閱此郵件,會(huì)定期發(fā)送有價(jià)值的學(xué)習(xí)資料給您的郵箱!目目錄背景錄12-5實(shí)現(xiàn)6總結(jié)背景LabVIEW 功能越來(lái)越強(qiáng)大,用 LabVIEW 開(kāi)發(fā)的程序也越來(lái)越復(fù)雜。很多國(guó)內(nèi)的工程師用LabVIEW 開(kāi)發(fā)的程序也開(kāi)始沖出亞洲,世界。但是為了

2、讓 LabVIEW 編寫(xiě)的程序可以進(jìn)銷(xiāo)海內(nèi)外,大家遇到的一個(gè)棘手隨時(shí)切換呢?就是本地化。如何讓界面上的文字能夠按照的需要實(shí)現(xiàn)本地化的方法有很多。姑且分為靜態(tài)和動(dòng)態(tài)的兩種。所謂靜態(tài)的實(shí)現(xiàn),其實(shí)就是在開(kāi)發(fā)完成乊后,根據(jù)需要發(fā)布的語(yǔ)言種類(lèi),將源代碼直接做本地化。比如開(kāi)發(fā)好的 VI 前面板都是英文顯示的,需要中文版本的時(shí)候,直接在源代碼的前面板上把各種文字改成中文的再打包發(fā)布。這樣做顯然費(fèi)時(shí)費(fèi)力,而且很不靈活。動(dòng)態(tài)的實(shí)現(xiàn)方法,也是很多高級(jí)編程語(yǔ)言所使用的方法。這種方法把程序的源代碼和界面文字分開(kāi)。界面文字保存在一個(gè)資源文件里面和程序一起發(fā)布。所有的界面文字都是從資源文件里面動(dòng)態(tài)出來(lái)然后顯示的。這樣做的

3、一個(gè)最大好處就是,很容易實(shí)現(xiàn)語(yǔ)言的本地化。即使程序已經(jīng)發(fā)布成 EXE 了,也可以通過(guò)修改資源文件方便地實(shí)現(xiàn)界面語(yǔ)言的本地化。以前在 LabVIEW 中要實(shí)現(xiàn)本地化,大都只能靜態(tài)的實(shí)現(xiàn)。LabVIEW 在生成安裝包的時(shí)候也可以選擇語(yǔ)言,但是那些也是針對(duì)一些系統(tǒng)自帶的菜單和框。有一種動(dòng)態(tài)實(shí)現(xiàn)本地化的方法是用 ini 文件來(lái)做資源文件。從而通過(guò) LabVIEW 程序動(dòng)態(tài)ini文件中事先設(shè)定好的各種語(yǔ)言的項(xiàng)目來(lái)正確顯示對(duì)應(yīng)的文字。這種方法是可行的,但是需要編寫(xiě)大量的 VI 來(lái)管理這些 ini 文件中的項(xiàng)目。許多LabVIEW 的開(kāi)發(fā)者都在為希望能夠?qū)崿F(xiàn)界面上的語(yǔ)言隨時(shí)按需切換而嘔心瀝血,煞費(fèi)苦心。現(xiàn)在

4、,基于 XML 技術(shù)的本地化配置編輯器 LCE 出現(xiàn)啦!有了它,就可以非常方便地實(shí)現(xiàn)隨心所欲本地化的夢(mèng)想。圖 1 中是最終程序效果,用左邊的下拉列表控件可以實(shí)現(xiàn)語(yǔ)言的動(dòng)態(tài)切換。圖 1. 最終效果(左)英文界面;(右)中文界面1實(shí)現(xiàn)(LCE 的介紹請(qǐng)參見(jiàn):/devzone/cda/epd/6257)圖 2 顯示了基于 LCE (Localization Configuration Editor)來(lái)實(shí)現(xiàn)本地化的結(jié)構(gòu)圖。LCE 是在 NI的Devzone 上新推出的一個(gè)可以免費(fèi)函數(shù)。使用的工具包。它有兩個(gè)部分組成:LCE 編輯器和LCELCE 編輯器:它其實(shí)是用 LabVIEW 2009 開(kāi)發(fā)出來(lái)的

5、應(yīng)用程序。可以創(chuàng)建并修改 XML 的資源文件。資源文件中包括控件和菜單在各種語(yǔ)言下的名稱(chēng)。LCE 庫(kù)文件:在 LabVIEW 中提供 LCE 的一系列 VI 來(lái)實(shí)現(xiàn)動(dòng)態(tài)調(diào)用各種語(yǔ)言下的對(duì)應(yīng)項(xiàng)目的字符。然后通過(guò)屬性節(jié)點(diǎn)賦給各個(gè)菜單和控件。圖 2. LCE 實(shí)現(xiàn)本地化的結(jié)構(gòu)安裝 LCE解壓并安裝 lce_installer_101.zip 即可。由于 LCE 是 LabVIEW2009 編寫(xiě)的,所以需要 LabVIEW2009 的 RTE(:h/nidu/cds/view/1383/lang/zhs)。然后安裝lce_lib_installer_b.zip。這個(gè)是調(diào)用資源文件的那一系列VI。這套V

6、I 支持LabVIEW 8.6.1以及以后版本。安裝這些文件就會(huì)在 LabVIEW 的函數(shù)選版中的用戶(hù)庫(kù)里面添加 LCE 的 VI。使用介紹創(chuàng)建資源文件從開(kāi)始菜單程序 Localization Configuration Editor v1LCE 就可以打開(kāi) LCE 來(lái)創(chuàng)建資源文件了。2首先填入需要的語(yǔ)言然后在左邊的樹(shù)形結(jié)構(gòu)下右鍵創(chuàng)建 resource,每個(gè) resource 都有一個(gè)唯一的名稱(chēng),用以以后在程序中調(diào)用。每個(gè) resource 下都可以定義每種語(yǔ)言對(duì)應(yīng)的字符串。按照這個(gè)方法創(chuàng)建需要本地化的 resource 列表。也可以把相關(guān)的 resource 創(chuàng)建在一個(gè)文件夾。最后點(diǎn)擊保存即

7、可??梢酝ㄟ^(guò) LCE 打開(kāi)文件夾中 exle 目錄下的 Localization.xml 來(lái)看我已經(jīng)創(chuàng)建好的例子。從資源文件獲取語(yǔ)言信息3在 LabVIEW 的函數(shù)選版用戶(hù)庫(kù)LCE 里面可以找到 LCE 的幾個(gè) VI。主要就是用下面 2 個(gè) VI 就夠了。在程序最開(kāi)始,要通過(guò) Load LCE Resource List.vi 來(lái)指定資源文件的路徑。圖 3. Load LCE Resource List.vi然后通過(guò) LCE_Get Resource Value.vi 指定 resource 的名稱(chēng)和語(yǔ)言的種類(lèi)來(lái)得到需要顯示的字符串。圖 4. LCE_Get Resource Value.vi

8、例程LCE 提供了一個(gè)創(chuàng)建和資源文件的方法來(lái)管理本地化的語(yǔ)言信息。那么如何通過(guò)程序?qū)⑺械牟藛魏涂丶拿Q(chēng)改變過(guò)來(lái)呢?為了幫助大家理解,我編寫(xiě)了一個(gè)簡(jiǎn)單的例程。運(yùn)行效果請(qǐng)參考exle 目錄下的 local.vi 這個(gè)程序。在 VI 運(yùn)行的過(guò)程中,點(diǎn)擊 language 下拉框選擇不同的語(yǔ)言乊后相應(yīng)的字符都會(huì)變成對(duì)應(yīng)的語(yǔ)言。參見(jiàn)圖 1。程序?qū)崿F(xiàn)通過(guò)事件結(jié)構(gòu)來(lái)偵測(cè)當(dāng)下拉框選擇不同語(yǔ)言的時(shí)候調(diào)用 local_ctrl.vi 和 local_所有的控件和菜單項(xiàng)迚行更新。.vi 來(lái)分別對(duì)由于控件的(label)是不能在運(yùn)行時(shí)更改的,而標(biāo)題(caption)是可以的。所以我用 label 作為控件的唯一標(biāo)

9、識(shí)。面板上讓控件都顯示出 caption,不要顯示 label。改變語(yǔ)言實(shí)際上就是改4圖 4. 實(shí)現(xiàn)本地化的流程變控件的 caption。(注:如果控件沒(méi)有顯示過(guò) caption 而去改變 caption 的時(shí)候 LabVIEW 是會(huì)報(bào)錯(cuò)的,所以創(chuàng)建控件的時(shí)候務(wù)必確保 caption 都已經(jīng)顯示出來(lái)了)為了將控件和資源文件中的 resource 一一對(duì)應(yīng)起來(lái)。我將 resource 的 name 和控件的 label 對(duì)應(yīng)起來(lái)。比如 STOP 按鈕的 label 叫做 ctl_stop,那么在資源文件里面編輯的時(shí)候這項(xiàng) resource的 name 也叫 ctl_stop。在 VI 中就可以通

10、過(guò)控件的 label.text 屬性來(lái)查到資源文件中對(duì)應(yīng)的resource,從而取出需要的語(yǔ)言的顯示值。這個(gè)顯示值可以通過(guò)前面提到的 LCE_Get Resource Value.vi 來(lái)得到再用屬性節(jié)點(diǎn)賦給控件的 Caption 屬性。在 LCE 的 VI 里面還有一個(gè)叫做 LCE_Get Resource Value and Update Ref.vi。通過(guò)它,可以直接把控件對(duì)應(yīng)的控件標(biāo)題自動(dòng)更改掉。使用起來(lái)更加方便。所以在本例程中,我是用的這個(gè)方法來(lái)做的。LCE_Get Resource Value and Update Ref.viLocal_ctrl.vi菜單的更改是類(lèi)似的。每個(gè)菜單

11、項(xiàng)對(duì)應(yīng)一個(gè)菜單標(biāo)識(shí)符和菜單項(xiàng)名稱(chēng)。這兩項(xiàng)分別和控件的 label以及 caption 類(lèi)似。只要把菜單的項(xiàng)標(biāo)識(shí)符和 resource name 對(duì)應(yīng)。然后用對(duì)應(yīng)的語(yǔ)言字符更新項(xiàng)名稱(chēng)即可。與控件不同的是,菜單項(xiàng)的是有一系列 VI 的,而不是通過(guò)屬性節(jié)點(diǎn)。而且菜單是有層次的。到一層的。我這里在例程中只編寫(xiě)了兩層的菜單。所以要遍歷所有的每次菜單項(xiàng)都只能菜單項(xiàng)可能需要迭代來(lái)實(shí)現(xiàn)。5總結(jié)本文通過(guò)一個(gè)實(shí)例來(lái)介紹了基于資源文件來(lái)實(shí)現(xiàn) LabVIEW 前面板本地化的方法。通過(guò) LCE 這個(gè)工具可以方便地實(shí)現(xiàn)資源文件的創(chuàng)建、編輯和要注意的地方。在使用這個(gè)工具包的時(shí)候,也發(fā)現(xiàn)有幾個(gè)需創(chuàng)建和編輯資源文件的 LCE 程序需要 LabVIEW 2009 運(yùn)行庫(kù)引擎。這個(gè)給該方法的使用造成了一定的限制。不過(guò)網(wǎng)上有 LCE 源代碼,也面更廣。以重寫(xiě)到 LabVIEW 8.x 的版本從而可以使其適用LCE 的高級(jí) VI 是可以直接把連在控件上的控件的 caption 自動(dòng)改變的功能。這點(diǎn)固然方便,但是有時(shí)候也改變了一些不必要的東西。比如,例程中文本輸入控件的 caption 和內(nèi)容都被改變了。所以在實(shí)際使用的時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論