目录
[使用 CMake 生成翻译文件](#使用 CMake 生成翻译文件)
[1.创建 CMakeLists.txt 文件](#1.创建 CMakeLists.txt 文件)
[3.运行 CMake](#3.运行 CMake)
[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.ts
和 translations/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 文件的情况下生成翻译文件。