我正在使用Qt 4.5将一个.ts文件翻译成.qm文件。但现在我已经丢失了.ts文件。
我该如何将其从.qm转换回来,变成一个.ts文件呢?
使用 lconvert
lconvert compiled.qm -o source.ts
lconvert
由qt4-dev-tools
和qttools5-dev-tools
软件包提供。 - Ben Hutchison还有一个名为QTLinguist的工具,带有GUI(Windows/Mac),可用于编辑.ts/.po等文件。它还可以加载.qm文件,选择不加载过滤器(*.*)
,然后您可以将翻译保存为.ts文件:
Qt Linguist可以打开已编译的.qm文件进行编辑/修改,无需生成源ts文件。
.qm文件在“文件 | 打开”对话框中默认不显示。在对话框中更改文件筛选器为 以显示和加载.qm文件。
(答案从问题是否可能通过反向生成Qt .qm消息文件来生成源XML文件?复制过来,该问题被关闭为与此问题重复,尽管这个问题提前了几年)
qm文件是编译后的ts文件,目前没有工具可以将qm文件转换为ts文件(根据我的先前搜索结果)。 但是,如果您想在qm文件中保留当前的翻译并添加新的翻译到您的小部件中,或者您想编辑qm文件中的一些翻译:您可以通过创建一个新的翻译文件来向系统添加新的翻译器。 根据Qt文档:
QCoreApplication :: installTranslator:将翻译文件translationFile添加到要用于翻译的翻译文件列表中。
可以安装多个翻译文件。按照它们被安装的相反顺序搜索翻译,因此最近安装的翻译文件首先被搜索,而第一个安装的翻译文件最后被搜索。只要找到包含匹配字符串的翻译,搜索就会停止。
因此,在加载丢失了ts文件的qm文件后,加载其他翻译文件。
translator1->load("yourqmfilewhosetsislost.qm");
QCoreApplication::installTranslator(translator1);
translator2->load("yournewqmfilewithneworeditedtranslations.qm");
QCoreApplication::installTranslator(translator2);
qt
文件?你可以根据你的源文件创建 ts 文件。 - Dmitry Sazonov