翻译步骤(完整).md 5.0 KB

翻译步骤(完整)

[TOC]

准备

本文将介绍 Umi-OCR 代码文件翻译的完整流程。

请先fork或clone本仓库。强烈建议只 clone 主分支,因为某些分支含有体积很大的二进制库,会让你花费很长时间下载。

 git clone --branch main --single-branch https://github.com/hiroi-sora/Umi-OCR_v2.git

要求:Windows系统。

本文中的代码指令,如果没有特别说明,则是在当前工作目录(dev-tools/i18n)中输入到命令行。

例,你可以:按Win+R,输入cmd,打开命令行,然后输入下述命令跳转到工作目录(假设工程放在D:\Projects\

cd /d D:\Projects\Umi-OCR_v2\dev-tools\i18n

本文假设当前要翻译的目标语言为英语 en_US 。如果是其它目标语言,请将下文所有 en_US 替换为目标语言标识符。所有标识符如下:

标识符 语言
zh_CN 简体中文
zh_TW 繁體中文
en_US English
es_ES Español
fr_FR Français
de_DE Deutsch
ja_JP 日本語
ko_KR 한국어
ru_RU Русский
pt_BR Português
it_IT Italiano

与上述语言语种相同,但地区不同的语言,将应用最接近的翻译文件。如:
zh_HK,en_GB,en_CA,es_MX,fr_CA,de_AT,de_CH,pt_PT

如果想添加一个不属于上述任何语种的翻译,需要在源代码中添加对应的标识符映射(UmiOCR-data\py_src\utils\i18n_configs.py)。或者,请寻求项目作者的帮助。

简介

Qt-Qml框架的翻译工作的流程分为3步:(假设当前要翻译为英语en_US

  1. 从源代码中提取出所有待翻译字符串,生成 en_US.ts 工程文件。
  2. 编辑 en_US.ts 文件,将其中的文本进行翻译。
  3. 将写好的 en_US.ts 文件,编译为 en_US.qm 二进制文件。

完成上述工作后,就能将en_US.qm加载进Umi-OCR中,在Umi中切换为English语言了。

1. 提取待翻译字符串

方法一:生成/刷新单个ts工程文件

使用Qt工具 lupdate.exe

lupdate.exe "../../UmiOCR-data/qt_res/qml" -recursive -ts "en_US.ts"

如果提示无法将“lupdate.exe”项识别……,则在指令最前面加上./,如:

./lupdate.exe "../../UmiOCR-data/qt_res/qml" -recursive -ts "en_US.ts"

执行成功时,应该输出如下:

Scanning directory '../../UmiOCR-data/qt_res/qml'...
Updating 'en_US.ts'...
    Found 307 source text(s) (140 new and 167 already existing)
    Kept 42 obsolete entries
    Same-text heuristic provided 21 translation(s)

如果已经开始编辑ts文件,重新调用lupdate.exe是安全的,不会丢失已经编辑的进度(当然,建议多备份)。

方法二:生成/刷新所有语言的ts工程文件

比如修改了源代码,往源代码中添加了新的文本后,要刷新所有ts文件。

运行本目录下的 lupdate_all.py

2. 进行翻译工作

使用Qt工具 linguist.exe 可视化进行翻译工作。

linguist.exe "en_US.ts"

或者,文件管理器中,将 en_US.ts 拖到 linguist.exe 图标上。

linguist.exe会打开一个可视化窗口,在上面进行翻译或检查。

如果是首次打开该ts文件,linguist会弹窗询问源语言和目标语言。源语言Source language选择Chinese (简体中文),目标语言自定。Country一般选Any Country即可。

linguist 使用很简单,具体用法可在网上找,下面介绍基础用法:

  1. 左侧Context栏表示待翻译的源代码文件,及每个文件的文本条数。如BatchOCR 18/19表示源代码BatchOCR一共有19条文本,其中18条已完成翻译。
  2. 中上Strings栏表示当前源代码文件的每一条文本。图标/表示未翻译或未检查,表示已翻译。每翻译一条文本,记得点击该图标,将它转为
  3. 右侧Sorces and Forms栏表示该文本在源代码中的位置。可以结合代码中的注释来进行翻译。
  4. 中心栏进行翻译。Sorces text为原文本,Translattion to XXX填写翻译文本,Translator comments for XXXX 可以不用写。

进行工作前,请务必阅读 翻译注意事项

3. 编译二进制包

方法一:使用linguist.exe

点击菜单 FileRelease ,即可在本目录下生成 en_US.qm

方法二:使用指令

lrelease.exe "en_US.ts"

放置翻译文件

将编译好的二进制文件 en_US.qm 拷贝到下述目录:

Umi-OCR_v2/UmiOCR-data/i18n

启动 Umi-OCR ,即可在全局设置中切换该语言。请仔细检查翻译文本是否正确,尺寸是否合适。可按照翻译注意事项的说明调整字体缩放系数。

提交贡献

将翻译好的 .ts 文件放在本目录下, .qm 文件放在 Umi-OCR_v2/UmiOCR-data/i18n 。不要包含其它无关文件。

然后提交PR。

感谢各位译者大佬的贡献!