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

资讯详情

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

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

darktable 中文翻译出问题了?三步自检修复界面本地化翻译 darktable 中文翻译出问题了三步自检修复界面本地化翻译【免费下载链接】darktabledarktable is an open source photography workflow application and raw developer项目地址: https://gitcode.com/GitHub_Trending/da/darktabledarktable 是开源的摄影工作流应用与 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 lighttablemsgstr 光台的一对。改法只改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 类情况改错了行。同一条英文可能在文件里出现多次改前看一眼条目上方有没有msgctxt上下文限定行没有msgctxt的才是通用条目。改错行的典型后果是 A 处修好了、B 处反而被改坏。占位符丢了。原文里有%s、%d这种占位符时译文里必须保留相同数量、相同顺序删掉或调换位置就会打出症状 C 里的怪字符。混入格式符号。译文里别写#会被当注释、别加多余的引号否则这条甚至整段翻译解析失败。改完不编译。只改了.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),仅供参考
返回列表