[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
为开源 B9Creator 打印机添加中文支持
by falcon of TinyLab.org 2014/08/30
简介
B9Creator 3D 打印机采用DLP投影固化光敏聚合物(光引发)树脂,能够依据三维模型文件构建高分辨率三维物体。
感兴趣可以先来看以下视频:B9Creator Getstarted和视频讲解。
这款打印机有两个优点:
- 精度高
- 开放源代码
包括硬件、固件和软件通通开放,下载链接见 B9Creator Source Code。
只可惜这款软件并没有中文支持,也没有在国内网络中找到中文支持,咱们这里就研究下。
B9Creator 编程语言
为了添加中文支持,咱们先下载 B9Creator 的源代码,并分析下它用的编程语言。
$ git clone https://github.com/B9Creations/B9Creator.git
Clone下来后,就可以在 B9Creator/Root/B9Creator
目录下找到源代码了。
通过分析,发现 B9Creator 采用了 Qt 来开发,Qt 不仅支持跨平台,而且对多国语言的支持非常好。
添加Qt开发环境
在添加中文支持之前,记得先参考 在Ubuntu下安装Qt开发环境 搭建 Qt 开发环境,不然后面根本没法实验。
添加中文支持
要添加中文支持,需要做两个事情:
- 添加支持中文的代码
- 添加所有字符串的中文翻译文件
- 进行文本翻译
- 编译并查看效果
添加支持中文的代码
首先对照 Qt多国语言支持 做如下修改:
diff --git a/Root/B9Creator/B9Creator.pro b/Root/B9Creator/B9Creator.pro index bfc0237..aaa774f 100644 --- a/Root/B9Creator/B9Creator.pro +++ b/Root/B9Creator/B9Creator.pro @@ -165,6 +165,8 @@ FORMS += mainwindow.ui \ dlgcalbuildtable.ui \ dlgcalprojector.ui +TRANSLATIONS = B9Creator_zh_CN.ts + RESOURCES += \ b9edit/sliceeditview.qrc \ b9edit/b9edit.qrc \ diff --git a/Root/B9Creator/mainwindow.cpp b/Root/B9Creator/mainwindow.cpp index d1c3ce5..8bf01ac 100644 --- a/Root/B9Creator/mainwindow.cpp +++ b/Root/B9Creator/mainwindow.cpp @@ -52,6 +52,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { + QTranslator *translator = new QTranslator(0); + translator->load(QString("B9Creator_zh_CN.qm"), "."); + QCoreApplication::installTranslator(translator); + // Set up Identity QCoreApplication::setOrganizationName("B9Creations, LLC"); QCoreApplication::setOrganizationDomain("b9creator.com");
需要注意的是,中文翻译的文件加载部分必须要放在 Root/B9Creator/mainwindow.cpp
里头,有尝试过放在 Root/B9Creator/main.cpp
,不管用,因为那个不是真正负责窗口显示的。
创建中文语言翻译文件
接下来当然是创建中文语言翻译文件,即上面的 Root/B9Creator/B9Creator_zh_CN.ts
,这个文件需要用 lupdate
工具生成出来。
$ lupdate B9Creator.pro -ts B9Creator_zh_CN.ts
进行文本翻译
翻译的工作可以交给懂英文并且熟悉 3D 打印的专业人员,直接把上面的文件发给他们就可以。
翻译人员可以用 linguist
工具进行翻译。翻译时,如果确认无误,则打个“勾”,否则直接继续后续翻译,完以后保存即可。
编译并查看效果
翻译人员把翻译过后的文件发过来,放回到原来的位置,即 Root/B9Creator/B9Creator_zh_CN.ts
,执行如下指令生成二进制语言包 .qm
。
$ lrelease B9Creator_zh_CN.ts
然后重新编译 B9Creator、执行它就可以看到效果:
$ qmake && make $ ./B9Creator
创建中文支持项目
由于比较忙,而且对 3D 打印相关的术语不是很了解,所以到目前为止只是添加了支持中文的代码,另外,也初步翻译了几个字符串,大部分内容还有待更专业的人员参与进来一起翻译。
现在,我们决定把代码和初步支持开放出来,无偿分享给国内的 3D 打印业界,希望大家能够参与进来,一起交流:
如果您愿意参与翻译,可以直接跟 @泰晓科技 或者 @吴章金falcon 联系。
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |