[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
)
en_US.ts
工程文件。en_US.ts
文件,将其中的文本进行翻译。en_US.ts
文件,编译为 en_US.qm
二进制文件。完成上述工作后,就能将en_US.qm
加载进Umi-OCR中,在Umi中切换为English
语言了。
使用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文件。
运行本目录下的 lupdate_all.py
使用Qt工具 linguist.exe
可视化进行翻译工作。
linguist.exe "en_US.ts"
或者,文件管理器中,将 en_US.ts
拖到 linguist.exe
图标上。
linguist.exe
会打开一个可视化窗口,在上面进行翻译或检查。
如果是首次打开该ts文件,linguist
会弹窗询问源语言和目标语言。源语言Source language
选择Chinese (简体中文)
,目标语言自定。Country
一般选Any Country
即可。
linguist
使用很简单,具体用法可在网上找,下面介绍基础用法:
Context
栏表示待翻译的源代码文件,及每个文件的文本条数。如BatchOCR 18/19
表示源代码BatchOCR
一共有19条文本,其中18条已完成翻译。Strings
栏表示当前源代码文件的每一条文本。图标?
/!
表示未翻译或未检查,√
表示已翻译。每翻译一条文本,记得点击该图标,将它转为√
。Sorces and Forms
栏表示该文本在源代码中的位置。可以结合代码中的注释来进行翻译。Sorces text
为原文本,Translattion to XXX
填写翻译文本,Translator comments for XXXX
可以不用写。进行工作前,请务必阅读 翻译注意事项 。
方法一:使用linguist.exe
点击菜单 File
→ Release
,即可在本目录下生成 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。