电子说
在本号LabVIEW实现多语言界面(高级篇)文章里有下面一段话:
每个控件都有label和caption,label用来标识这个控件,caption用来给这个控件定义一些有意义的描述。例如某个数值空间,label可以是numPrice,caption可以是“Price”或者“价格”,在代码里对该控件的读取/写入或者其它操作都是通过numPrice这个label关联到该控件的,label一旦确定后基本就不再更改,caption则是可以修改的。
我们可以在设计VI的时候,隐藏掉label,显示caption。以caption的内容作为界面元素,这样我们可以通过代码修改各个控件的caption实现多语言切换。
这个方法比较繁琐,但是优点很明显,它可以任何时候进行语言切换,而且不影响软件里的任务执行。 本篇介绍一个工具——JKI Simple Localization——为我们提供基于上面这个原理、快速实现不同语言切换的方法,快速同时修改所有控件的caption等字符串。非常方便和实用,特别介绍给大家。
首先,打开VI Pacakge Manager(VIPM),搜索JKI Simple Localization,选中,安装,安装的时候VIPM会自动提示安装相关的其它工具包,许可协议都点确认。
安装好之后会给出这样一个提示。
我们打开User Event Generation.vi这个示例程序,另存为一下。把各个控件的label取消显示,把各个控件的Caption显示出来。
单击Tools->JKI Simple Localization->Localize This VI...,弹出一个对话框,选择或者输入一个界面字典文件(.json)文件名称。
假设我们输入localizationFile.json文件名,保存到和User Event Generation.vi同一个路径下。 localizationFile.json是一个字典文件,它把VI里控件需要以不同语言描述的内容与label做了关联(下图中的“Key”),用文本编辑器打开后根据要使用的语言修改好,这个字典文件就可以用来实现不同语言的切换了。下图里我们设置了英语和中文两种语言。
JKI Simple Localization工具包提供的VI函数,在函数面板里JKI Tools->JKI Simple Localization分类下可以看到。
修改User Event Generation.vi如下:
这样,我们就可以使用JKI Simple Localization工具包提供的VI来进行不同语言切换了,效果请看下面这个GIF。
简述一下这个方法的优点:
1)效率高,操作简便,通过字典统一完成多个内容的本地化修改。
2)提供了根据字典文件设置程序语言的函数库。
3)提供了获取本地默认语言和时间等信息的函数库。
4)可通过加载不同字典文件,结合VI函数修改任意指定VI的界面语言。
5)不影响VI当前执行。
这个方法的主要步骤:
1)定义字典文件。
2)加载字典文件。
3)注册要修改界面语言的VI。
4)修改VI的界面语言。
以上除了第一步通过菜单和文本编辑工具完成,其它都通过工具包提供的VI函数完成。
最后,JKI Simple Localization,大家记住,这是一个实现软件界面本地化的好工具。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !