尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenToonz 多语言界面与本地化开发完全指南

OpenToonz 多语言界面与本地化开发完全指南 OpenToonz 多语言界面与本地化开发完全指南【免费下载链接】opentoonzOpenToonz - An open-source full-featured 2D animation creation software项目地址: https://gitcode.com/GitHub_Trending/op/opentoonzOpenToonz 的界面默认是英文但在偏好设置里切一下语言菜单、对话框、特效参数面板会整体换成中文、日语等 11 种语言。这套国际化能力不是黑盒翻译文件就放在仓库里看懂加载原理、跑一条命令你就能补上母语缺失的那几条翻译。偏好设置切一次语言整个界面跟着换 OpenToonz 目前收录了 11 种语言的翻译目录就在 toonz/sources/translations/ 下简体中文、日语、韩语、西班牙语、法语、德语、意大利语、捷克语、俄语外加挪威语书面形和巴西葡萄牙语。语言选项在偏好设置对话框里选定后下次启动生效菜单栏、工具提示、按钮、特效参数标签全部走同一套翻译表。本地化不止覆盖界面。stuff/doc/ 里还能看到西班牙语和日语两套用户手册目录特效说明、操作文档跟着一起翻译新用户在母语文档里找功能要顺利得多。启动时 QTranslator 一次装好七套翻译文件程序启动时toonz/sources/toonz/main.cpp 先读取偏好的语言拼出语言包路径再逐个安装翻译器。核心调用只有几行languagePathString / Preferences::instance()-getCurrentLanguage(); QTranslator translator; translator.load(toonz, languagePathString); a.installTranslator(translator);它把偏好的语言名拼进路径从对应语言目录加载编译好的翻译文件登记到应用里之后界面上每一句字符串都自动按这张表去查译文。这里的 QTranslator 是 Qt 的翻译器对象负责「源码原文 → 译文」的运行时映射。翻译表有两种形态.ts 是译者编辑的 XML 源文件存着原文、译文和翻译状态.qm 是由它编译出的二进制文件程序运行时真正读的是后者。一个语言目录 七个 .ts 文件各管一块界面打开中文目录 toonz/sources/translations/chinese/里面是七个 .ts 文件每个对应一个代码模块toonz.ts —— 主程序界面菜单、对话框等toonzqt.ts —— Qt 控件与面板tnzcore.ts、toonzlib.ts —— 核心库与工具库tnztools.ts —— 绘制与动画工具colorfx.ts —— 颜色特效image.ts —— 图像与文件写入相关字符串main.cpp 里连续执行七遍上面的加载动作整块界面就全被覆盖了。模块拆分的好处是谁改了 colorfx 的代码就只有 colorfx.ts 会冒出新字符串翻译范围一眼可见。更新中文翻译只需一条命令场景很常见上游合了个新功能中文界面冒出几处没翻译的英文。toonz/sources/translations/update.sh 脚本把活都写死了——对七个源码目录依次跑 lupdateQt 自带的字符串扫描命令把结果同步进目标语言目录cd toonz/sources/translations ./update.sh chinese运行后 lupdate 会重新扫描 colorfx、common、tnztools、toonz、toonzlib、toonzqt、image 七处源码更新 chinese/ 下的七个 .ts 文件新增的原文字符串会被单独标出来。标红的新字符串在 Qt Linguist 里怎么补用 Qt Linguist 打开 toonz.ts未翻译的条目在过滤器里选 Untranslated 就能筛出来。在右侧输入译文注意保留%1、%2这类占位符——代码靠它们填入帧号、文件名字符串删掉就是 bug。译完点 Release 标记为已翻译再用 lrelease 把 .ts 编译成程序读取的 .qm。提交翻译 PR 前检查这三件事术语要全界面一致同一功能在不同对话框里叫法要统一.ts 文件里带上下文context信息对照着查就不会翻岔。 译文注意长度翻译后比原文长很多的词放在窄按钮上会被截断能短则短。 编码保持 UTF-8.ts 是 UTF-8 的 XML 文件编辑器存成别的编码会让中文变乱码PR 直接打回。翻译 PR 也要跑完整 CI改翻译和改代码走同一条流水线Ubuntu、macOS、Windows 各平台构建全过才能合并具体怎么本地验证可以参考 doc/how_to_test_prs.md。本地化做得细工具才真正无门槛——每条翻译正确的菜单都是少一个劝退新用户的英文单词。如果你的语言不在那 11 种之列或者中文界面还有没翻译的条目把仓库克隆到本地仓库地址https://gitcode.com/GitHub_Trending/op/opentoonz打开 toonz/sources/translations 挑一个你拿得起来的语言目录补上第一条译文这就是参与这个项目的最短路径。【免费下载链接】opentoonzOpenToonz - An open-source full-featured 2D animation creation software项目地址: https://gitcode.com/GitHub_Trending/op/opentoonz创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表