darktable 中文翻译出问题了?三步自检修复界面本地化翻译
2026/9/13 15:30:31 网站建设 项目流程

darktable 中文翻译出问题了?三步自检修复界面本地化翻译

【免费下载链接】darktabledarktable is an open source photography workflow application and raw developer项目地址: https://gitcode.com/GitHub_Trending/da/darktable

darktable 是开源的摄影工作流应用与 RAW 照片处理工具,支持中文界面。当界面翻译漏掉或翻错时,按钮和菜单会中英混杂,让人找不到想要的功能。照着本文走一遍,从自检到生效,大约十几分钟就能修好。

30 秒自检:你的界面属于哪种症状?

先别打开文件,对着屏幕过一遍这 4 条,确认问题出在语言包而不是软件本身。

  • 症状 A:整句仍是英文。周围全是中文,唯独某个按钮、菜单项是英文 → 大概率是这条翻译缺失(msgstr为空)。
  • 症状 B:有中文但很别扭。比如把 lighttable 直译成"光台" → 属于可优化翻译,照样能改。
  • 症状 C:出现%s%d或一串#符号。翻译文本里混进了未处理的占位符 → 这条翻译被改坏了。
  • 自查要点:先确认程序语言设置就是中文,再复现一次。若同一条英文在多处都出现,说明是同一个翻译条目没生效,而不是好几个 bug。

三步完成修复:定位 → 修改 → 生效

darktable 的中文翻译集中存放在 翻译文件目录 的po/zh_CN.po里,它本质上是一本"英文原文 → 中文译文"的字典;每条目上方以#:开头的注释行标明了原文出现的源码位置,可以帮你确认改对了行。

第一步,定位。用编辑器打开po/zh_CN.po,直接全文搜索界面上那段英文原文:

grep -n 'msgid "lighttable"' po/zh_CN.po

这条命令会在文件里打出条目所在行号,跳过去就能看到形如msgid "lighttable"+msgstr "光台"的一对。改法:只改msgstr后面的文字,例如把"光台"改成更易懂的说法。验证方法:确认你盯上的msgid和界面上的英文逐字一致(含大小写)。

第二步,修改。只动msgstr那一行,msgid和注释行一个字符都不要碰。

第三步,生效。.po是纯文本,软件读不了它,需要用 gettext 提供的msgfmt把它编译成二进制的.mo——就像把字典翻成程序能读的格式。编译并覆盖到 darktable 的 locale 目录:

msgfmt -c po/zh_CN.po -o /usr/share/locale/zh_CN/LC_MESSAGES/darktable.mo

跑完没有报错输出就是编译成功,重启 darktable,之前是英文的位置应已变中文。验证方法:终端无任何报错、退出码为 0,且重启后症状 A 的位置已变中文。

避坑指南:容易改错的 4 类情况

  1. 改错了行。同一条英文可能在文件里出现多次,改前看一眼条目上方有没有msgctxt(上下文限定)行,没有msgctxt的才是通用条目。改错行的典型后果是 A 处修好了、B 处反而被改坏。
  2. 占位符丢了。原文里有%s%d这种占位符时,译文里必须保留相同数量、相同顺序,删掉或调换位置就会打出症状 C 里的怪字符。
  3. 混入格式符号。译文里别写#(会被当注释)、别加多余的引号,否则这条甚至整段翻译解析失败。
  4. 改完不编译。只改了.po文本、没跑msgfmt,界面会原样照旧,很多人卡在这一步反复怀疑自己。

改完怎么验证?对着这份清单过一遍

  • 文本层:再搜一次,新的译文能搜到,旧译文搜不到——grep -n '新译文' po/zh_CN.po有输出,旧词无输出即通过。
  • 界面层:重启 darktable,症状 A 的按钮/菜单项显示新中文。
  • 回归层:顺手点开偏好设置、光台、暗房几个界面扫一眼,确认没有别的条目被你误伤。

想提交贡献?最短路径

fork 一份仓库(git clone https://gitcode.com/GitHub_Trending/da/darktable),提一个只改po/zh_CN.po的 pull request,或直接去官方翻译平台改这一条即可;项目对翻译贡献一向欢迎,细则见 CONTRIBUTING.md。

翻译文件本质是纯文本,改错了随时能撤销,从自检到验证一遍不过十几分钟。要是条目实在定位不到,可以在项目官方的开发社区提问,dev-doc/ 里的界面与模块说明也能帮你反查源码位置。

【免费下载链接】darktabledarktable is an open source photography workflow application and raw developer项目地址: https://gitcode.com/GitHub_Trending/da/darktable

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询