在本號(hào)LabVIEW實(shí)現(xiàn)多語(yǔ)言界面(高級(jí)篇)文章里有下面一段話:
每個(gè)控件都有l(wèi)abel和caption,label用來(lái)標(biāo)識(shí)這個(gè)控件,caption用來(lái)給這個(gè)控件定義一些有意義的描述。例如某個(gè)數(shù)值空間,label可以是numPrice,caption可以是“Price”或者“價(jià)格”,在代碼里對(duì)該控件的讀取/寫入或者其它操作都是通過(guò)numPrice這個(gè)label關(guān)聯(lián)到該控件的,label一旦確定后基本就不再更改,caption則是可以修改的。
我們可以在設(shè)計(jì)VI的時(shí)候,隱藏掉label,顯示caption。以caption的內(nèi)容作為界面元素,這樣我們可以通過(guò)代碼修改各個(gè)控件的caption實(shí)現(xiàn)多語(yǔ)言切換。
這個(gè)方法比較繁瑣,但是優(yōu)點(diǎn)很明顯,它可以任何時(shí)候進(jìn)行語(yǔ)言切換,而且不影響軟件里的任務(wù)執(zhí)行。 本篇介紹一個(gè)工具——JKI Simple Localization——為我們提供基于上面這個(gè)原理、快速實(shí)現(xiàn)不同語(yǔ)言切換的方法,快速同時(shí)修改所有控件的caption等字符串。非常方便和實(shí)用,特別介紹給大家。
首先,打開VI Pacakge Manager(VIPM),搜索JKI Simple Localization,選中,安裝,安裝的時(shí)候VIPM會(huì)自動(dòng)提示安裝相關(guān)的其它工具包,許可協(xié)議都點(diǎn)確認(rèn)。
安裝好之后會(huì)給出這樣一個(gè)提示。
我們打開User Event Generation.vi這個(gè)示例程序,另存為一下。把各個(gè)控件的label取消顯示,把各個(gè)控件的Caption顯示出來(lái)。
單擊Tools->JKI Simple Localization->Localize This VI...,彈出一個(gè)對(duì)話框,選擇或者輸入一個(gè)界面字典文件(.json)文件名稱。
假設(shè)我們輸入localizationFile.json文件名,保存到和User Event Generation.vi同一個(gè)路徑下。 localizationFile.json是一個(gè)字典文件,它把VI里控件需要以不同語(yǔ)言描述的內(nèi)容與label做了關(guān)聯(lián)(下圖中的“Key”),用文本編輯器打開后根據(jù)要使用的語(yǔ)言修改好,這個(gè)字典文件就可以用來(lái)實(shí)現(xiàn)不同語(yǔ)言的切換了。下圖里我們?cè)O(shè)置了英語(yǔ)和中文兩種語(yǔ)言。
JKI Simple Localization工具包提供的VI函數(shù),在函數(shù)面板里JKI Tools->JKI Simple Localization分類下可以看到。
修改User Event Generation.vi如下:
這樣,我們就可以使用JKI Simple Localization工具包提供的VI來(lái)進(jìn)行不同語(yǔ)言切換了,效果請(qǐng)看下面這個(gè)GIF。
簡(jiǎn)述一下這個(gè)方法的優(yōu)點(diǎn):
1)效率高,操作簡(jiǎn)便,通過(guò)字典統(tǒng)一完成多個(gè)內(nèi)容的本地化修改。
2)提供了根據(jù)字典文件設(shè)置程序語(yǔ)言的函數(shù)庫(kù)。
3)提供了獲取本地默認(rèn)語(yǔ)言和時(shí)間等信息的函數(shù)庫(kù)。
4)可通過(guò)加載不同字典文件,結(jié)合VI函數(shù)修改任意指定VI的界面語(yǔ)言。
5)不影響VI當(dāng)前執(zhí)行。
這個(gè)方法的主要步驟:
1)定義字典文件。
2)加載字典文件。
3)注冊(cè)要修改界面語(yǔ)言的VI。
4)修改VI的界面語(yǔ)言。
以上除了第一步通過(guò)菜單和文本編輯工具完成,其它都通過(guò)工具包提供的VI函數(shù)完成。
最后,JKI Simple Localization,大家記住,這是一個(gè)實(shí)現(xiàn)軟件界面本地化的好工具。
審核編輯:劉清
-
LabVIEW
+關(guān)注
關(guān)注
1974文章
3655瀏覽量
324076
原文標(biāo)題:LabView實(shí)現(xiàn)多語(yǔ)言界面(終極篇)
文章出處:【微信號(hào):傳感測(cè)控物聯(lián)網(wǎng),微信公眾號(hào):傳感測(cè)控物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論