返回介绍

发布管理器

发布于 2019-10-04 14:58:06 字数 2644 浏览 908 评论 0 收藏 0

发布管理器提供了两个工具,lupdate和lrelease。这些工具依赖于qmake项目文件。尽管你不必使用qmake

Qt项目文件

lupdate和lrelease依赖于应用程序的.proQt项目文件。在项目文件中必须有除了本地语言的之外的附加语言的TRANSLATIONS部分。一个比较有代表性的条目就像这样:

    TRANSLATIONS    = tt2_fr.ts \
                      tt2_nl.ts

在翻译文件的名称中包含有一个场所对于运行时决定调用那种语言很有用处。这个将会在第四章:程序员中进行解释。

一个含有四个翻译源文件的完整的.pro文件的实例:

    HEADERS         = main-dlg.h \
		      options-dlg.h
    SOURCES         = main-dlg.cpp \
		      options-dlg.cpp \
		      main.cpp 
    FORMS           = search-dlg.ui
    TRANSLATIONS    = superapp_dk.ts \
		      superapp_fi.ts \
		      superapp_no.ts \
		      superapp_se.ts

QApplication::setDefaultCodec()可以使在被tr()调用中出现的文字字符串所要选择使用的一种8位编码方式成为可能。如果没有编码方式被指定,tr()使用Latin-1。

如果你在你的应用程序中使用QApplication::defaultCodec()机制,Qt语言学家需要你在.pro文件中也设置DEFAULTCODEC条目。例如:

    DEFAULTCODEC    = ISO-8859-5

lupdate

用法:lupdate myproject.pro

这是一个简单的命令行工具。lupdate读取一个Qt.pro项目文件并且产生或者更新项目文件中列出的.ts翻译源文件。翻译人员可以用Qt语言学家来读取这个翻译文件并且插入翻译。

有自己的翻译人员的公司会发现像应用程序开发人员那样定期地(也许每个月)运行lupdate会很有用处的。这样可以使翻译工作能够很均匀地分布在整个项目周期中并且这将可以允许翻译人员可以同时为大量的项目工作。

雇佣翻译人员的公司只需要在整个应用程序开发周期中运行几次lupdate,第一次运行也许正好在第一个测试阶段之前。这样可以把一个充实的单一工作块提供给翻译人员并且翻译缺陷也可以在最初的测试阶段很容易地被发现。第二次以及后来的lupdate运行可以发生在最后的beta测试阶段。

.ts文件格式是一种很简单的人们可读的XML格式,并且如果必要的话,可以使用版本控制系统。

lrelease

用法:lrelease myproject.pro

这是另一个简单的命令行工具。它读取Qt.pro项目文件并且根据项目文件中列出的每一个.ts翻译源文件产生一个应用程序所要用到的.qm文件。.qm文件格式是一个紧凑的二进制格式,它可以提供更快速的翻译查找。

只要应用程序要被发布,从最初的测试版本一直到最终的发布版本,就要运行这个工具。如果.qm文件没有被创建,比如,因为一个alpha发布需要在翻译完成之前出来,应用程序也可以使用程序员放置在源文件中的文本正常运行。一旦.qm文件被提供,应用程序就可以检测它们并且自动地使用它们。

注意:lrelease只是合并那些被标记为“done”的翻译。如果缺少一个翻译,或者有不成功的确认,那么最初的文本将会被使用。

缺少的翻译

lupdate和lrelease也可以用在不完全的.ts翻译源文件上。缺少的翻译将会在运行的时候由本地的语言短语替换。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文