vs中C++项目中没有QT(.pro)文件怎么生成翻译ts文件

目录

[使用 CMake 生成翻译文件](#使用 CMake 生成翻译文件)

[1.创建 CMakeLists.txt 文件](#1.创建 CMakeLists.txt 文件)

2.添加翻译生成规则

[3.运行 CMake](#3.运行 CMake)

4.生成翻译文件

使用命令行工具生成翻译文件

[1.运行 lupdate](#1.运行 lupdate)

[2.编辑 .ts 文件](#2.编辑 .ts 文件)

[3.运行 lrelease](#3.运行 lrelease)

网络上说的情况都是一个qt程序在VS中打开,拥有.pro文件的情况,利用扩展QT VS Tools就可以完成,这些方法网上都有就不详细赘述了。参考

VS Qt 使用linguits(Qt语言家)生成.ts的翻译文件并翻译使用的详细过程_qt 翻译家-CSDN博客

但是都没有说没有.pro文件的时候怎么生成翻译,翻译,然后使用翻译。

在使用 Qt 开发时,通常 .pro 文件中会包含项目的配置信息,包括生成翻译文件(.ts 文件)所需的设置。但有时可能遇到没有 .pro 文件的情况,比如在使用 CMake 管理项目时。以下是如何在没有 .pro 文件的情况下生成翻译文件的方法。

使用 CMake 生成翻译文件

如果你的项目使用 CMake,你可以通过以下步骤生成 .ts 文件:

1.创建 CMakeLists.txt 文件

在你的项目根目录下创建或编辑 CMakeLists.txt 文件。

2.添加翻译生成规则

CMakeLists.txt 文件中添加生成翻译文件的规则。例如,假设你有一个名为 MyApp 的项目,你可以添加以下内容:

cpp 复制代码
cmake_minimum_required(VERSION 3.10)
project(MyApp)

find_package(Qt5 REQUIRED COMPONENTS Core LinguistTools)

set(TS_FILES translations/myapp_en.ts translations/myapp_zh.ts)

qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})

add_executable(MyApp main.cpp)
target_link_libraries(MyApp Qt5::Core)

# 将生成的翻译文件添加到构建目标中
add_custom_target(translations DEPENDS ${QM_FILES})

以上配置中,translations/myapp_en.tstranslations/myapp_zh.ts 是你要生成的翻译文件,你可以根据需要添加更多语言。

3.运行 CMake

在项目根目录下运行 cmake 命令生成构建文件。(这里也可以用CMAKE-GUI)

mkdir build

cd build

cmake ..

4.生成翻译文件

在构建目录中运行 make translations 命令生成翻译文件。

make translations

以上是对Cmake熟悉的朋友可以这样操作,还有另外的方法

使用命令行工具生成翻译文件

如果你不使用 CMake 或者想要手动生成翻译文件,你可以使用 lupdate 和 lrelease 命令行工具

(这两个工具是Qt中的

%QT安装目录%\Tools\QtDesignStudio\qt6_design_studio_reduced_version\bin),设置好环境变量可以在命令行中直接使用。

假设你的源代码在 src 目录下,你可以按照以下步骤操作:

1.运行 lupdate

扫描源代码并生成 .ts 文件。

lupdate src -ts translations/myapp_en.ts translations/myapp_zh.ts

2.编辑 .ts 文件

使用 Qt Linguist 工具翻译生成的 .ts 文件。(这里你可以用过QT的语言家工具Linguist编辑你的翻译)

linguist translations/myapp_en.ts linguist translations/myapp_zh.ts

3.运行 lrelease

编译 .ts 文件生成二进制 .qm 文件。

lrelease translations/myapp_en.ts translations/myapp_zh.ts

生成的 .qm 文件可以在你的 Qt 应用程序中使用。

通过这些方法,你可以在没有 .pro 文件的情况下生成翻译文件。

相关推荐
Lhan.zzZ4 小时前
笔记_2026.4.28_004
c++·ide·笔记·qt
MATLAB代码顾问5 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
wuminyu6 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
万粉变现经纪人6 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒6 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼7 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
木喃的井盖7 小时前
无锁队列细节
c++·工程
王老师青少年编程7 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:输出亲朋字符串
c++·字符串·csp·高频考点·信奥赛·专项训练·输出亲朋字符串
WBluuue7 小时前
数据结构与算法:莫队(一):普通莫队与带修莫队
c++·算法
小郑加油8 小时前
python学习Day12:pandas安装与实际运用
开发语言·python·学习