TS 文件转换器
在开发多语言Qt应用时,管理和更新翻译文件是一项繁琐但必要的任务。这个工具旨在自动化Qt Linguist TS文件的转换过程,支持不同语言之间的转换,特别关注中文变体和其他语言。
目录
🌎背景
Qt Linguist
使用TS(Translation Source
)文件来存储应用程序的翻译。这些XML格式
的文件包含了源语言文本及其对应的翻译。然而,手动更新这些文件可能非常耗时,特别是当你需要支持多种语言或者频繁更新内容时。
⭐特性
- 支持中文变体之间的转换(简体中文、繁体中文-台湾、香港、新加坡)
- 使用 Google 翻译在各种语言之间进行翻译
- 保留 TS 文件的 XML 结构
- 支持多个文件的批量处理
🔒前提条件
在开始之前,请确保您满足以下要求:
- Python 3.7+
- 所需的 Python 包:
argparse
asyncio
xml
opencc
deep-translator
您可以使用 pip 安装所需的包:
sh
pip install opencc deep-translator
💾源码下载
github : https://github.com/MrHulu/qt-ts-converter
csdn (VIP) : https://download.csdn.net/download/qq_41898196/89688013
📄使用方法
要使用 TS 文件转换器,请按照以下步骤操作:
- 克隆仓库或下载脚本。
- 打开终端并导航到包含脚本的目录。
- 使用以下命令运行脚本:
sh
python ts_file_converter.py <file> <source_lang> <target_lang> [--src_dir <source_directory>]
参数
<file>
:要转换的 TS 文件名。<source_lang>
:源语言代码(例如,zh-CN、zh-HK、ja、ko、th、vi、hi)。<target_lang>
:目标语言代码(例如,en、fr、de、es、it、ru、pt)。--src_dir
(可选):包含 TS 文件的源目录。默认为当前目录。
示例
-
从简体中文转换为繁体中文(台湾):
shpython ts_file_converter.py myapp_zh_CN.ts zh-CN zh-TW
-
从日语翻译为英语:
shpython ts_file_converter.py myapp_ja.ts ja en
-
转换特定目录中的文件:
shpython ts_file_converter.py myapp_zh_CN.ts zh-CN zh-TW --src_dir='/path/to/ts/files'
❗注意事项
- 此工具使用 Google 翻译 API 处理中文变体以外的语言。请注意 Google 翻译服务可能存在的使用限制或相关费用。
- 由于使用deep-translator的原因,所以翻译非中文语言时,会比较慢。
⌛未来改进
这个脚本还有很大的改进空间。以下是一些可能的改进方向:
- 支持批量处理多个TS文件
- 添加进度条显示转换进度
- 集成多种翻译API,允许用户选择
- 实现图形用户界面(GUI)以便于非技术用户使用
- 添加翻译内存功能,避免重复翻译相同的文本
- 支持导出导入翻译词典,实现专业术语的一致性翻译
🧡支持
如果你觉得这个文章有帮助,请给它一个 👍 和 ⭐!