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 文件的情况下生成翻译文件。

相关推荐
天堂的恶魔9463 分钟前
QT —— 信号和槽(槽函数)
开发语言·qt
水w9 分钟前
【Python爬虫】详细入门指南
开发语言·爬虫·python·scrapy·beautifulsoup
weixin_4450547214 分钟前
力扣刷题-热题100题-第35题(c++、python)
c++·python·leetcode
XXYBMOOO14 分钟前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现
数据库·c++·qt
Susea&1 小时前
数据结构初阶:双向链表
c语言·开发语言·数据结构
虾球xz1 小时前
游戏引擎学习第230天
c++·学习·游戏引擎
pianmian11 小时前
arcgis几何与游标(1)
开发语言·python
-曾牛1 小时前
【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini,Spring Boot整合实战!| 附源码
java·开发语言·人工智能·spring boot·ai·chatgpt
nanzhuhe2 小时前
python中参数前**的含义
开发语言·python
wt_cs2 小时前
身份认证C#集成方案-数字时代身份证实名认证利器
开发语言·c#