Qt翻译接口 -逐条翻译(免费级)

一、安装依赖(仅 1 次)

安装Python脚本,打开 CMD / 终端,运行:

复制代码
pip install requests

以中转英为例:

二、准备翻译脚本

1. 新建脚本文件

新建文本文档 → 粘贴以下代码 → 另存为 translate_ts.py(保存类型:所有文件 编码:UTF-8)

复制代码
import xml.etree.ElementTree as ET
import requests
import json

# ================== 配置 ==================
TS_FILE = "lv_en.ts"              # 你的 ts 文件名
OUTPUT_FILE = "lv_en_translated.ts"  # 翻译完成后的 ts
FROM_LANG = "zh"                  # 源语言:中文
TO_LANG = "en"                    # 目标语言:英文
# ==========================================

def translate_text(text):
    try:
        url = f"https://api.mymemory.translated.net/get?q={requests.utils.quote(text)}&langpair={FROM_LANG}|{TO_LANG}"
        res = requests.get(url, timeout=10)
        data = res.json()
        return data["responseData"]["translatedText"]
    except Exception as e:
        print(f"翻译失败:{text},错误:{e}")
        return text

# 解析 ts 文件
tree = ET.parse(TS_FILE)
root = tree.getroot()

total = 0
success = 0

# 批量翻译
for context in root.findall("context"):
    for msg in context.findall("message"):
        source_node = msg.find("source")
        if not source_node or not source_node.text or source_node.text.strip() == "":
            continue

        total += 1
        source = source_node.text
        trans = translate_text(source)

        print(f"【{total}】中文:{source}")
        print(f"     英文:{trans}\n")

        trans_node = msg.find("translation")
        if not trans_node:
            trans_node = ET.SubElement(msg, "translation")

        trans_node.text = trans
        trans_node.set("type", "finished")
        success += 1

# 保存翻译完成的 ts
tree.write(OUTPUT_FILE, encoding="utf-8", xml_declaration=True)

print(f"\n✅ 翻译完成!共 {total} 条,成功 {success} 条")
print(f"📄 输出文件:{OUTPUT_FILE}")

2.放置文件

将以下两个文件放在同一个文件夹

  • lv_en.ts(你的翻译源文件)
  • translate_ts.py(脚本)

三、运行脚本 逐条翻译

方法 1:CMD 打开文件夹

  1. Win + R → 输入 cmd 回车

  2. cd 命令切换到你的文件夹(/d 参数是跨盘必须加的,同盘可以省略)

    cd /d D:\QtProject\translations

3.运行脚本

复制代码
python translate_ts.py

方法 2:直接在文件夹打开终端

文件夹空白处 右键 → 在终端中打开然后运行:

复制代码
python translate_ts.py

四、生成 .qm 文件

方法 A:Qt 语言家一键生成

  1. 把翻译好的 lv_en_translated.ts 放到项目里
  2. 工具→ 外部工具→ 语言家(Linguist)→lrelease 自动生成 lv_en.qm

方法 B:命令行生成

  1. 打开 Qt 命令行(Qt Creator → 工具 → 外部 → Qt 命令行),或者在 CMD 里进入 Qt 的 bin 目录

  2. lrelease 命令把翻译好的 ts 编译成 qm:

    lrelease lv_en_translated.ts -qm lv_en.qm


五、放入项目使用

  1. lv_en.qm 放入项目目录
  2. main.cpp 加载翻译
  3. 完成中英文切换
相关推荐
麻瓜老宋10 分钟前
AI开发C语言应用按步走,表达式计算器calc的第一步,中缀表达式词法分析
c语言·开发语言·atomcode
灯澜忆梦1 小时前
GO_文件处理---字符串操作
开发语言·golang
-银雾鸢尾-1 小时前
里氏替换原则
开发语言·c#·里氏替换原则
এ慕ོ冬℘゜1 小时前
JavaScript 数组核心方法实战|新增元素 + 数组转字符串 零基础详解
开发语言·javascript·ecmascript
一个初入编程的小白1 小时前
C语言:函数栈帧与销毁
c语言·开发语言
czhc11400756631 小时前
718:public internl class;partial []
开发语言
smj2302_796826521 小时前
解决leetcode第3989题网格中保持一致的最大列数
python·算法·leetcode
临床数据科学和人工智能兴趣组1 小时前
R语言因其强大的统计功能、灵活的编程环境、活跃的社区支持和强大的R扩展包,迅速成为统计学和数据科学领域的首选工具之一
开发语言·数据分析·r语言·r语言-4.2.1
__log2 小时前
弱网环境下的“生命线“:从AI流式响应到大文件上传的稳定性
开发语言·人工智能·php
吴梓穆2 小时前
Python 基础 正则表达式
python