QT语言家支持多种语言功能,在QGC中也很好的使用了该功能,下面对该功能是一些理解进行整理。
首先在QGC使用语言家功能中分为qml文件和.c文件,两种略有不同。
在.c文件中使用tr()将需要翻译的内容进行包裹
在qml文件中使用qsTr()进行包裹
下面以新建qml文件进行举例
新建qml文件,新建以后需要在qgroundcontrol.qrc中手动修改(可以不改)。如下图所示添加文件后手动重命名修改添加上文件的路径,然后在别名出添加文件名称。好像不该也不影响使用,为了和QGC保持一致强迫症改了一下。
在qml中添加需要翻译的内容
qml文件添加完成后,编译QGC项目,编译完成后此时QGC对应的前端显示应该是英文的。
使用预言家更新
更新完成后打开qgc_zh_CN.ts文件,应为是需要翻译成中文所以打开这个文件。打开后通过搜索你会发现已经自动添加了qml对应的翻译内容,需要自己手动修改翻译部分。下图是修改完之后的。
在使用预言家发布一下,这一步是生成对应的.qm文件,好像不发布也不影响QGC使用。完成之后再编译运行QGC发现qml对应的英文已经翻译为了中文。
语言家的功能需要在.pro文件中添加.ts文件加载程序,在QGC中程序中已经添加好了,不用自己再弄。
另外还可以使用QT的Lingguist工具查看.ts文件,并对文件进行修改
至此,关于在QGC中使用语言家功能使用的个人理解总结完毕,如果有理解错误的地方望大神指教