qt翻译发布管理器--lupdate和lrelease

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

Qt项目文件

lupdatelrelease依赖于应用程序的.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”的翻译。如果缺少一个翻译,或者有不成功的确认,那么最初的文本将会被使用。

缺少的翻译

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值