??这一章是基本应用篇的最后一章,介绍Qt的国际化、帮助系统和创建插件等方面的内容。
?
9.1 国际化
??国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程。 Qt支持现在使用的大多数语言,特别是:
- 所有东亚语言(汉语、日语和朝鲜语);
- 所有西方语言(使用拉丁字母);
- 阿拉伯语;
- 西里尔语言(俄语和乌克兰语等);
- 希腊语;
- 希伯来语;
- 泰语和老挝语;
- 所有在Unicode5. 1中不需要特殊处理的脚本。
??在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提供了内置的支持。Qt内置的字体引擎可以在同一时间正确而且精细地绘制不同的文本,这些文本可以包含来自众多不同书写系统的字符。相关知识可以在帮助中査看Internationalization with Qt关键字。
??Qt对把应用程序翻译为本地语言提供了很好的支持,可以使用Qt Linguist工具很容易地完成应用程序的翻译工作,这个工具在第1章就已经介绍过了,这里进一步介绍。
9.1.1 使用Qt Linguist翻译应用程序
??这一小节中先通过一个简单的例子介绍Qt中翻译应用程序的整个过程,然后再介绍其中需要注意的方面,对应这部分内容可以查看Qt Linguist Manual关键字。在 Qt中编写代码时要对需要显示的字符串调用tr()函数,完成代码编写后对这个应用程序的翻译主要包含3步:
- ①运行lupdate工具从C++源代码中提取要翻译的文本,这时会生成一个.ts文 件,这个文件是XML格式的。
- ②在Qt Linguist中打开.ts文件,并完成翻译工作。
- ③运行lrelease工具从.ts文件中获得.qm文件,它是一个二进制文件。这里的.ts文件是供翻译人员使用的,而在程序运行时只需要使用.qm文件,这两个文件都是与平台无关的。
??下面通过一个简单的例子来介绍整个翻译过程,该例子实现了将一个英文版本的应用程序翻译为简体中文版本。(项目源码路径:src\09\9-1\myI18N。)
??第一步,编写源码。新建Qt Gui应用,项目名称为myI18N,类名为MamWindow, 基类保持QMainWindow不变。建立完项目后,单击mainwindow. ui文件进入设计模 式,先添加一个菜单,再为其添加一个“&New”子菜单并设置快捷键为CtTl + N,然后往界面上拖人一个Push Button。再使用代码添加几个标签,打开mainwin?dow. cpp 文件,添加头文件 # include ,然后在构造函数中添加代码 :
原文地址:https://www.cnblogs.com/linuxAndMcu/p/10136401.html