当前位置: 首页 > news >正文

Qt 如何从 .ts 文件提取所有源文

在Qt中,.ts文件本身就是用来存储源文(Source Text)和对应翻译的。.ts文件中的<source>标签包含了从你的源代码中提取出来的原始字符串(即源文)。因此,.ts文件已经“包含”了所有需要翻译的源文。

但如果你的目标是提取或导出这些源文(例如,为了交给翻译人员、进行文本分析、或生成一个纯文本列表),有以下几种方法:

使用 lconvert 工具 (推荐)

Qt提供了一个强大的命令行工具 lconvert,可以用来转换和操作翻译文件。你可以用它将.ts文件转换成纯文本格式(.po.pot),然后从中提取源文。

  1. 转换为 .pot (Portable Object Template) 文件:
    .pot文件只包含源文,没有翻译。这正是你想要的。

    lconvert -i myapp_zh_CN.ts -o myapp_sources.pot
    
    • -i: 输入文件
    • -o: 输出文件
    • lconvert 会自动将 .ts 转换为 .pot 格式。
  2. 从 .pot 文件提取源文:
    .pot 文件也是文本文件,但结构清晰。你可以用简单的文本处理工具(如 grep, awk, sed)或脚本提取 msgid 行(msgid 对应源文)。

    使用 grep (Linux/macOS/WSL):

    # 提取所有 msgid 行,并去除 msgid 前缀和引号
    grep '^msgid ' myapp_sources.pot | sed 's/^msgid "//; s/"$//' > all_sources.txt
    

    使用 findstr (Windows 命令提示符):

    findstr /B "msgid " myapp_sources.pot > temp.txt
    REM 你需要手动或用其他工具(如 PowerShell)处理 temp.txt,去除 "msgid " 和引号
    

    使用 PowerShell (Windows):

    Select-String -Path "myapp_sources.pot" -Pattern '^msgid "(.*)"' | ForEach-Object { $_.Matches[0].Groups[1].Value } | Out-File -FilePath "all_sources.txt" -Encoding UTF8
    

流程

  1. 打开 Qt 自带命令窗口
    在这里插入图片描述
  2. cd /d 到.ts文件目录
  3. 运行命令 lconvert -i myapp_zh_CN.ts -o myapp_sources.pot
  4. 打开windows自带命令窗口,cd 到 myapp_sources.pot文件目录
  5. 运行命令 findstr /B "msgid " myapp_sources.pot > temp.txt

emp.txt 文件如下:
在这里插入图片描述

http://www.dtcms.com/a/308152.html

相关文章:

  • 2024年SEVC SCI2区,一致性虚拟领航者跟踪群集算法GDRRT*-PSO+多无人机路径规划,深度解析+性能实测
  • TDengine 中 TDgp 中添加算法模型(异常检测)
  • 【生活篇】Ubuntu22.04安装网易云客户端
  • 河南萌新联赛2025第(三)场:河南理工大学(补题)
  • .NET 10 中的新增功能系列文章3—— .NET MAUI 中的新增功能
  • gen_compile_commands.sh
  • elk部署加日志收集
  • 网络爬虫(python)入门
  • webpack-babel
  • 开发避坑短篇(11):Oracle DATE(7)到MySQL时间类型精度冲突解决方案
  • uniapp x swiper/image组件mode=“aspectFit“ 图片有的闪现后黑屏
  • Vue多请求并行处理实战指南
  • 【qiankun】基于vite的qiankun微前端框架下,子应用的静态资源无法加载的问题
  • [硬件电路-111]:滤波的分类:模拟滤波与数字滤波; 无源滤波与有源滤波;低通、带通、带阻、高通滤波;时域滤波与频域滤波;低价滤波与高阶滤波。
  • 2025做美业还有前景吗?博弈美业系统带来美业市场分析
  • rustdesk 1.4.1版本全解析:新增功能、性能优化与多平台支持详解
  • 【机器学习】KNN算法与模型评估调优
  • 深度学习批量矩阵乘法实战解析:torch.bmm
  • 【科普】在STM32中有哪些定时器?
  • 【Golang】用官方rate包构造简单IP限流器
  • 【STM32】HAL库中的实现(二):串口(USART)/看门狗(IWDG/WWDG)/定时器(TIM)
  • 三格——环网式CAN光纤中继器进行光纤冗余环网组网测试
  • 工业绝缘监测仪:保障工业电气安全的关键防线
  • C# 枚举器和迭代器(常见迭代器模式)
  • 26考研|数学分析:重积分
  • ubuntu24.04环境下树莓派Pico C/C++ SDK开发环境折腾记录
  • 设计模式:命令模式 Command
  • AI驱动下的数据新基建:腾讯游戏数据资产治理与湖仓架构革新
  • 【数据结构入门】时间、空间复杂度的计算
  • 装修风格怎么选