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

目录

使用 CMake 生成翻译文件

1.创建 CMakeLists.txt 文件

2.添加翻译生成规则

3.运行 CMake

4.生成翻译文件

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

1.运行 lupdate

2.编辑 .ts 文件

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 的项目,你可以添加以下内容:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/684366.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

方案设计|汽车轮胎数显胎压计方案

一、引言 数显轮胎胎压计是一个专门测量车辆轮胎气压的工具,它具有高精度测量的功能,能够帮助快速准确获取轮胎气压正确数值,保证轮胎使用安全。本文将对数显轮胎胎压计的方案技术进行分析,包括其基本原理、硬件构成、软件设计等方…

想入门学习AIGC,自己却对此毫无基础,该怎么办,看这篇零基础入门教学AI绘画。

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。 这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。 不需要把Ai绘画想的很复杂,抛去复杂的应用, 使用现成简单的工具,只需要学会提…

1.6T模块与DSP技术的演进

近日,光通信行业市场机构LightCounting在市场报告中指出,去年的模块供应商已经展示了首批1.6T光学模块的风采,而今年,DSP供应商更是着眼于第二代1.6T模块设计的未来。这些前沿技术的突破,不仅代表了数据传输速度的飞跃…

产品专员跳槽产品经理,考PMP还是NPDP?

我建议你考取NPDP证书,因为这是产品经理非常适合的证书。大多数招聘产品经理的公司都要求有这个证书。如果你已经拥有NPDP证书,我建议你再考取PMP证书,以提升自己的专业水平。 首先,让我们看看NPDP证书的优势: 一. N…

Python round函数详解

大家好,在 Python 编程中,经常需要对数字进行舍入操作。无论是在金融领域的货币计算,还是科学计算中的数据处理,都可能需要使用到四舍五入功能。为了满足这一需求,Python 提供了一个内置函数 round(),它能够…

【必会面试题】快照读的原理

目录 前言知识点一个例子 前言 快照读(Snapshot Read)是数据库管理系统中一种特殊的读取机制,主要用于实现多版本并发控制(MVCC, Multi-Version Concurrency Control)策略,尤其是在MySQL的InnoDB存储引擎中…

水泥超低排平台改造全攻略!

在环保政策日益严格的背景下,水泥行业作为高污染、高能耗的行业之一,面临着巨大的改造压力。水泥超低排平台的改造不仅是响应国家环保号召的举措,更是企业实现绿色生产、可持续发展的必经之路。本文将详细解读水泥超低排平台改造的要点和策略…

Sketch语言设置指南:将英文版改成中文版的教程

Sketch版本的转换一直是困扰大家的关键问题。如今UI设计领域的UI设计软件很多,但大部分都是英文版。对于国内英语基础差的设计师来说,使用这样的软件无形中增加了工作量,往往需要在设计编辑的同时查阅翻译。即时设计详细介绍了Sketch英文版如…

C++容器之概览

目录 1 概述2 分类2.1 前向迭代器容器2.2 双向迭代器容器2.3 随机访问迭代器容器2.4 容器适配器2.5 位集 1 概述 在C标准库中容器是通过模板实现的数据结构,多数可以通过迭代器统一访问,包括: array 数组是固定大小的序列容器:它…

AH股冲高回落,微盘股指数收盘重挫6%,半导体板块继续走强,工业富联涨停

低价股、地产、商业航天等板块深度回调,ST股批量跌停;半导体板块逆势上扬,工业富联涨停;航运、贵金属股反弹。 周四,A股三大指数午后跌幅加剧,上证指数收跌0.54%,创业板指跌0.71%。沪深两市成交…

文件传输基础——Java IO流

系列文章目录 文章目录 系列文章目录前言一、文件的编码二、File类的使用三、RandomAccessFile类的使用 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用…

动态IP基础解析:为什么我们需要它?

在深入探讨互联网世界的运作机制时,IP地址无疑是其核心要素之一。IP地址,作为网络设备的唯一标识,不仅确保了数据的准确传输,更是网络安全和管理的基石。本文将深入解析动态IP的基础知识,并探讨其重要性及在多种场景下…

【协同感知】Collaborative Perception in Autonomous Driving数据集与论文整理

Collaborative Perception in Autonomous Driving 目前最全的Collaborative Perception整理数据集协同感知论文-【三维目标检测】现实世界下的协同感知理想条件下的协同感知 目前最全的Collaborative Perception整理 https://github.com/Little-Podi/Collaborative_Perception…

在Jenkins 中使用 NVM 管理 Node.js 部署项目的自动化脚本

在Jenkins 中使用 NVM 管理 Node.js 部署项目的自动化脚本 人生旅途,总有人不断地走来,有人不断地离去。当新名字变成老名字,当老的名字渐渐模糊,又是一个故事的结束和另一个故事的开始。 在现代软件开发中,持续集成/持…

【android】设置背景图片

改变值&#xff0c;可显示zai在 在theves下面的两个value都要增加名字代码 <item name"windowActionBar">false</item><item name"android:windowNoTitle">true</item><item name"android:windowFullscreen">tru…

《Navi日语社》App:日语学习与翻译的智能助手,支持日文OCR识别提取文字,无需打字对着说话就能翻译的日语语音翻译工具!

在全球化的今天&#xff0c;掌握一门外语已经成为许多人的必备技能。尤其是日语&#xff0c;不仅在学术、商务领域有着广泛的应用&#xff0c;也是许多旅行者和动漫爱好者的心头好。《Navi日语社》App&#xff0c;作为一款专为日语学习者和翻译需求者设计的移动应用&#xff0c…

书生·浦语大模型全链路开源体系-笔记作业4

XTuner 微调 LLM:1.8B、多模态、Agent 引自&#xff1a;Tutorial/xtuner/personal_assistant_document.md at camp2 InternLM/Tutorial GitHub 1. XTuner介绍 引自&#xff1a;欢迎来到 XTuner 的中文文档 — XTuner 0.1.18.dev0 文档 1.1. 什么是 XTuner &#xff1f; X…

四、Window整理右键扩展

一、桌面右键和文件右键扩展整理 简而言之整理下面图示内容 桌面右键&#xff1a; 对文件右键&#xff1a; 工具&#xff1a;火狐自带工具 二、新建扩展管理 简而言之整理下面图示内容 Win R输入regedit 寻找&#xff1a;计算机\HKEY_CURRENT_USER\Software\Microsof…

Padstack制作贴片和通孔焊盘

Padstack制作贴片和通孔焊盘 一、贴片焊盘制作 先选择SMD Pin&#xff0c;下面的pad geometry根据需求选择&#xff0c;一般是Circle和Rectangle&#xff0c;然后选择单位&#xff0c;mm制。 然后点击Design Layers&#xff0c;只需要修改Regular Pad常规焊盘就行&#xff0c…

【深度解析GPT-4o】:全面解析新一代AI技术的突破与优势

目录 ​编辑 1.版本对比&#xff1a;从GPT-3到GPT-4&#xff0c;再到GPT-4o的飞跃 1.1 模型规模的扩展 1.2 训练数据的更新 1.3 算法优化与效率提升 1.4 案例分析 2.技术能力&#xff1a;GPT-4o的核心优势 2.1 卓越的自然语言理解 2.1.1 上下文理解能力 2.1.2 语义分…