Qt使用lupdate工具生成.ts文件
Qt提供了lupdate工具,用于从源代码中提取需要翻译的字符串【1】,并生成或更新.ts文件
注解【1】:使用tr()函数(或者QCoreApplication::translate()等其他相关的翻译函数)来标记所有需要翻译的文本。例如:
QString translatedText = tr("Hello, World!");
命令行方式:
如果你的项目中还没有配置.ts文件,并且你想要通过命令行方式开始翻译过程,你需要先手动创建一个.ts文件(尽管这通常不是必需的,因为lupdate可以为你创建它),或者简单地运行lupdate并让它为你创建。但是,更常见的做法是让lupdate基于你的项目文件(.pro)中的配置来自动处理。


Qt Creator方式(推荐,操作简单,不易出错)
1. 确保你的.pro文件配置正确
//pro文件中使用 TRANSLATIONS 关键字指定 ts文件
TRANSLATIONS = myTs.ts//这告诉Qt,你的翻译文件位于项目根目录下(项目文件pro同级目录),并且文件名是myTs.ts.
2. 在Creator界面生成对应的ts文件
注意:不同版本的Qt,Creator界面操作可能略有不同。

结果: 
注意:
- 若myTs.ts文件不存在,执行lupdate命令后会生成myTs.ts文件。
- 若myTs.ts存,则会更新它(无改动不会更新)。


- lupdate本身并不直接“生成”空的.ts文件:若源代码中没有要翻译的字符串,且ts文件不存在,执行lupdate后不会生成ts文件。
- 若pro中没有配置ts文件且没有手动创建ts文件,通过lupdate命令创建时会报错。


相关文章:
Qt使用lupdate工具生成.ts文件
Qt提供了lupdate工具,用于从源代码中提取需要翻译的字符串【1】,并生成或更新.ts文件 注解【1】:使用tr()函数(或者QCoreApplication::translate()等其他相关的翻译函数)来标记所有需要翻译的文本。例如: …...
编程-设计模式 1:工厂方法模式
设计模式 1:工厂方法模式 定义与目的 定义:工厂方法模式定义了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法让一个类的实例化延迟到其子类。目的:提供一种方式来封装对象创建的过程,使得客户端不需要…...
Linux 快速构建LAMP环境
目录 部署方式: 基础环境准备: 1.安装Apache服务 (1)安装Apache (2)安装一些Apache的扩展包 2.安装PHP语言 (1)下载php软件仓库 (2)指定php安装版本…...
【C/C++】语言基础知识总复习
文章目录 1. 指针1.1 数组和指针1.2 函数指针1.3 const 和 指针、static、#define、typedef1.4 指针和引用的异同1.5 sizeof与strlen 2. 库函数及其模拟实现3. 自定义类型4. 数据存储5. 编译链接过程6. C入门基础6.1 函数重载6.2 引用和指针6.3 建议使用const、inline、enum去替…...
【漏洞修复】Tomcat中间件漏洞
1.CVE-2017-12615 抓包上传一句话木马 密码passwd 2.后台弱口令部署war包 先用弱口令登录网站后台 制作war包 将172.jsp压缩成.zip文件,修改后缀为.war 上传 蚁剑链接 3.CVE-2020-1938 Python2 CVE-2020-1938.py IP -p 端口 -f 要读取的文件 漏洞修复…...
10.动态路由绑定怎么做
为什么要动态路由绑定 因为,如果我们的导航栏没有这个权限,输入对应网址,一样可以获取对应的页面,为了解决这个问题,有两种解决方案,一种是动态路由绑定(导航有多少个,就有多少个路由,在路由修改之前,先进行一个导航路由的加载和路由的动态绑定,然后看是否有这个路由,有就跳转…...
操作ArkTS页面跳转及路由相关心得
本文为JS老狗原创。 当前端不得不关注的点:路由,今天聊一聊鸿蒙相关的一点心得。 总体上套路不意外,基本就是(尤其是Web)前端那些事:维护路由表、跳转带参数、历史堆栈操作,等等。 历史原因&…...
Vue2-低版本编译兼容-基础语法-data-methods-双向数据绑定v-model
文章目录 1.安装编译命令2.低版本兼容3.vue2响应式数据3.1.data定义3.2.双向数据绑定v-model3.3.单向数据绑定v-bind4.方法methods5.子组件向父组件传值6.父组件向子组件传值1.安装编译命令 命令行工具 vue create zhiliaoplugins8824barcodebatch cd zhiliaoplugins8824barc…...
提取“c语言的函数定义“脚本
------------------------------------------------------------ author: hjjdebug date: 2024年 08月 11日 星期日 16:35:31 CST description: 提取c语言的函数定义脚本 ------------------------------------------------------------ c 文件中包含很多函数定义, 我想在每…...
pytorch学习(十二):对现有的模型进行修改
以VGG16为例: VGG((features): Sequential((0): Conv2d(3, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(1): ReLU(inplaceTrue)(2): Conv2d(64, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1))(3): ReLU(inplaceTrue)(4): MaxPool2d(kernel_size2…...
服务器虚拟内存是什么?虚拟内存怎么设置?
服务器虚拟内存是计算机系统内存管理的一种重要技术,它允许应用程序认为它们拥有连续且完整的内存地址空间,而实际上这些内存空间是由多个物理内存碎片和外部磁盘存储器上的空间共同组成的。当物理内存(RAM)不足时,系统…...
深度学习入门指南(1) - 从chatgpt入手
2012年,加拿大多伦多大学的Hinton教授带领他的两个学生Alex和Ilya一起用AlexNet撞开了深度学习的大门,从此人类走入了深度学习时代。 2015年,这个第二作者80后Ilya Sutskever参与创建了openai公司。现在Ilya是openai的首席科学家,…...
Python学习笔记(六)
""" 演示对序列进行切片操作 """ # 切片;从一个序列中,取出一个子序列 # 语法[起始下标:结束下标:步长] # 这三个都不写也行,视为从头到尾步长为1 # 起始下标不写,视作从头开…...
大数据安全规划总体方案(45页PPT)
方案介绍: 大数据安全规划总体方案的制定,旨在应对当前大数据环境中存在的各类安全风险,包括但不限于数据泄露、数据篡改、非法访问等。通过构建完善的安全防护体系,保障大数据在采集、存储、处理、传输、共享等全生命周期中的安…...
第20周:Pytorch文本分类入门
目录 前言 一、前期准备 1.1 环境安装导入包 1.2 加载数据 1.3 构建词典 1.4 生成数据批次和迭代器 二、准备模型 2.1 定义模型 2.2 定义示例 2.3 定义训练函数与评估函数 三、训练模型 3.1 拆分数据集并运行模型 3.2 使用测试数据集评估模型 总结 前言 …...
记一次 SpringBoot2.x 配置 Fastjson请求报 internal server 500
1.遇到的问题 报错springboot从2.1.16升级到2.5.15,之后就报500内部错误,后面调用都是正常的,就考虑转换有错。 接口返回错误: 2.解决办法 因为我用了fastjson,需要转换下,目前可能理解就是springboot-we…...
OSPF笔记
OSPF:开放式最短路径优先协议 使用范围:IGP 协议算法特点:链路状态型路由协议,SPF算法 协议是否传递网络掩码:传递网络掩码 协议封装:基于ip协议封装,协议号为89 一,ospf特点 1…...
IOC容器初始化流程
IOC容器初始化流程 一、概要1.准备上下文prepareRefresh()2. 获取beanFactory:obtainFreshBeanFactory()3. 准备beanFactory:prepareBeanFactory(beanFactory)4. 后置处理:postProcessBeanFactory()5. 调用bean工厂后置处理器:invokeBeanFactoryPostProcessors()6. 注册bea…...
第二季度云计算市场份额榜单:微软下滑,谷歌上升,AWS仍保持领先
2024 年第二季度,随着企业云支出达到 790 亿美元的新高,三大云计算巨头微软、谷歌云和 AWS的全球云市场份额发生了变化。 根据新的市场数据,以下是 2024 年第二季度全球云市场份额结果和六大世界领先者,其中包括 AWS、阿里巴巴、…...
三点确定圆心算法推导
已知a,b,c三点求过这三点的圆心坐标 a ( x 1 , y 1 ) a(x_1, y_1) a(x1,y1) 、 b ( x 2 , y 2 ) b(x_2, y_2) b(x2,y2) 、 c ( x 3 , y 3 ) c(x_3, y_3) c(x3,y3) 确认三点是否共线 叉积计算方式 v → ( X 1 , Y 1 ) u → ( X 2 , Y 2 ) X 1 Y 2 − X 2 Y 1 \…...
OpenClaw低成本方案:Qwen3-14B私有镜像替代OpenAI API实战
OpenClaw低成本方案:Qwen3-14B私有镜像替代OpenAI API实战 1. 为什么选择本地模型替代商用API 去年冬天,当我第一次用OpenClaw自动整理全年会议纪要时,看着账单里OpenAI API的消耗记录,手指悬在键盘上半天没敢点"重试"…...
Vivado报错[Opt 31-430]?别慌,手把手教你从网表里揪出那个‘没爹妈’的FDCE
Vivado报错[Opt 31-430]全流程诊断手册:从网表逆向追踪到代码修复 当Vivado在opt_design阶段抛出[Opt 31-430] Found a FDCE that its data pin is undriven时,多数FPGA开发者的第一反应是检查代码中的寄存器定义。但真实情况往往更复杂——这个报错可能…...
线性代数实战:特征值与二次型的核心应用解析
1. 特征值与特征向量的实战密码 第一次接触特征值和特征向量时,我也觉得这不过是数学课本里的抽象概念。直到在图像压缩项目中亲眼看到,用前20%的特征向量就能还原90%的图像信息,才真正理解它的威力。特征值分解就像给矩阵做X光,能…...
ARM架构解析:从基础原理到嵌入式开发实践
1. ARM处理器架构概述作为一名嵌入式开发者,我经常需要和ARM处理器打交道。第一次接触ARM是在大学时期的一个智能小车项目上,当时使用的是STM32F103系列芯片,基于ARM Cortex-M3内核。从那时起,我就被ARM架构的精巧设计所吸引。经过…...
基于VSC控制的400kW光伏并网发电厂模型
基于VSC控制的400kW光伏并网发电厂模型simulink模型各模块清晰明白,非常适用于新手入门学习大家好!今天我要和大家分享一个关于光伏并网发电厂模型的Simulink仿真项目。这个模型基于电压源式开关(VSC)控制,非常适合400…...
03_Elasticsearch知识体系之QueryDSL全文搜索过滤聚合实战
03_Elasticsearch知识体系之QueryDSL全文搜索过滤聚合实战 Elasticsearch知识体系 基础概念层数据存储层查询语言层【本文:Query DSL】搜索能力层数据处理层集群架构层开发集成层AI增强层行业应用层 关键词: Elasticsearch、Query DSL、match、term、boo…...
利用drawio高效绘制数据库ER图:从入门到精通
1. 为什么选择drawio绘制数据库ER图 第一次接触数据库设计时,我被各种专业工具的价格和复杂度吓退了。直到发现drawio这个宝藏工具,才真正体会到什么叫"用最简单的工具做专业的事"。作为一款完全免费的跨平台工具,drawio不仅支持网…...
Go语言的消息队列应用
Go语言的消息队列应用 1. 消息队列简介 消息队列是一种在分布式系统中用于异步通信的组件,它允许不同的服务之间通过消息进行通信,而不需要直接相互调用。消息队列可以解耦系统组件,提高系统的可靠性、可扩展性和弹性。 消息队列的优势 解耦&…...
基于PLC的3x4立体车库系统设计:资料齐全,共12个车位共用载车板,通过升降横移实现存取车辆
1 基于PLC的3*4立体车库系统设计 资料齐全 共有3*4,12个车位可以使用 并且这12个车位共同使用一个载车板 对于需要存放或者取出的车辆的载车板经由升降横移运动将其运送到地面层,车主只需通过电脑来进行控制即可,以此来进入车库、存取车辆&am…...
Transformer双模态新玩法:CodeBERT如何同时理解代码和自然语言?
Transformer双模态新玩法:CodeBERT如何同时理解代码和自然语言? 在AI领域,让机器同时理解编程语言和自然语言一直是个令人着迷的挑战。想象一下,一个模型既能读懂Python代码的逻辑结构,又能理解开发者用英语写的注释文…...
