如何将qm文件转换为ts文件?

6
我正在使用Qt 4.5将一个.ts文件翻译成.qm文件。但现在我已经丢失了.ts文件。 我该如何将其从.qm转换回来,变成一个.ts文件呢?

你丢失了哪个 qt 文件?你可以根据你的源文件创建 ts 文件。 - Dmitry Sazonov
4个回答

18

使用 lconvert

lconvert compiled.qm -o source.ts

你好,lconvert是什么,我该如何找到它。非常感谢你。 - Duong Nguyen
1
在Debian/Ubuntu中,lconvertqt4-dev-toolsqttools5-dev-tools软件包提供。 - Ben Hutchison
在MSYS2/UCRT64中,urct64/mingw-w64-ucrt-x86_64-qt6-tools软件包中包含lconvert-qt6。 - Adna Kateg

1

0

Qt Linguist可以打开已编译的.qm文件进行编辑/修改,无需生成源ts文件。

.qm文件在“文件 | 打开”对话框中默认不显示。在对话框中更改文件筛选器为 以显示和加载.qm文件。

(答案从问题是否可能通过反向生成Qt .qm消息文件来生成源XML文件?复制过来,该问题被关闭为与此问题重复,尽管这个问题提前了几年)


0

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);

哦,谢谢。所以我可以在旧的qm文件上加载新的翻译。我搜索了一下,没有找到任何关于将qm转换为ts的工具。 - Duong Nguyen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接