当前位置: 首页 > 教程资源 > Windows 教程 > 正文
如何批量从 .qml 文件中提取出 .ts 语言资源文件

如何批量从 .qml 文件中提取出 .ts 语言资源文件

作者:大眼仔~旭 日期:1个月前 (03-25) 评论:0 条

摘要:在开发多语言支持的应用程序时,有效地管理翻译文件是确保各语言用户获得良好体验的关键环节。对于采用 Qt 框架的开发者而言,QML 文件中字符串的国际化是一个常见需求。Qt 提供了强大的工具集来简化这一过程。其中,lupdate 工具能够帮助开发者从 QML 文件中提取字符串到 .ts 语言文件,为后续的翻译工作奠定基础…

在开发多语言支持的应用程序时,有效地管理翻译文件是确保各语言用户获得良好体验的关键环节。对于采用 Qt 框架的开发者而言,QML 文件中字符串的国际化是一个常见需求。Qt 提供了强大的工具集来简化这一过程。其中,lupdate 工具能够帮助开发者从 QML 文件中提取字符串到 .ts 语言文件,为后续的翻译工作奠定基础。接下来,大眼仔将详细介绍如何使用 lupdate 工具实现这一目标。

1. 确保环境准备

在开始之前,请确保以下条件已满足:

已安装 Qt 开发环境(包括 lupdate 工具)。

项目中有 QML 文件,并且这些文件中使用了可翻译的字符串(如通过 qsTr() 或 QT_TR_NOOP() 标记的文本)。

2. 使用 lupdate 提取 .ts 文件

lupdate 是 Qt 提供的一个工具,可以从源代码(C++ 和 QML 文件)中提取出需要翻译的字符串,并生成 .ts 文件。

步骤:

打开终端或命令行,进入你的项目的根目录(包含 .pro 或 .qmake 文件的地方)。执行以下命令来提取翻译字符串:

1
lupdate your_project.pro -ts qt_zh_CN.ts

其中:

your_project.pro:项目的 .pro 文件,定义了源代码和资源文件。-ts your_translation.ts:指定输出的 .ts 文件名。

如果你没有 .pro 文件,也可以直接指定 QML 文件路径:

1
lupdate your_project.qml -ts qt_zh_CN.ts

生成的 .ts 文件是一个 XML 文件,包含了所有标记为可翻译的字符串。你可以用 Qt Linguist 或文本编辑器查看其内容。

3. 批量从 qml 中提取字符合并为 .ts 文件

使用 find 或 dir 命令生成文件列表

如果需要递归扫描子文件夹,可以使用 dir 命令生成文件列表,并将其传递给 lupdate:

1
dir /s /b C:\Users\User Name\Desktop\osm\qml\*.qml > qml_files.txt
1
lupdate @qml_files.txt -ts qt_zh_CN.ts

dir /s /b:递归列出所有 .qml 文件的完整路径。@qml_files.txt:告诉 lupdate 从文件列表中读取输入。

4. 使用 Qt Linguist 编辑 .ts 文件

你可以使用 Qt Linguist 工具打开 .ts 文件,并为每个字符串提供翻译。完成后保存文件。

5. 编译 .ts 文件为 .qm 文件

当翻译完成后,可以使用 lrelease 工具将 .ts 文件编译为二进制格式的 .qm 文件:

1
lrelease qt_zh_CN.ts

生成的 .qm 文件可以直接加载到 Qt 应用程序中。

6. 注意事项

如果某些字符串未被提取,请检查是否使用了正确的翻译函数(如 qsTr())。

总结

从 QML 文件中提取 .ts 文件的主要步骤如下:

  1. 确保 QML 文件中使用了 qsTr() 或其他翻译函数。
  2. 使用 lupdate 提取翻译字符串并生成 .ts 文件。
  3. 使用 Qt Linguist 编辑 .ts 文件,完成翻译。
  4. 使用 lrelease 将 .ts 文件编译为 .qm 文件。

通过这些步骤,你可以轻松地为 Qt 应用程序添加多语言支持!

声明:大眼仔旭 | 本文采用署名-非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
文章名称:《如何批量从 .qml 文件中提取出 .ts 语言资源文件
文章固定链接:https://www.dayanzai.me/qml-extract-resources-to-ts-files.html
本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
转载声明
全部评论: (0条)
^_^ 暂无评论!

发表评论

返回顶部