
darktable 中文本地化界面还是英文4 个问题改对【免费下载链接】darktabledarktable is an open source photography workflow application and raw developer项目地址: https://gitcode.com/GitHub_Trending/da/darktabledarktable 是开源的摄影工作流应用能洗 RAW、做后期。它的界面文本走 gettext 翻译英文原文在msgid中文译文在msgstr都存在po/zh_CN.po里。改对这几个文件中文界面就完整了。下面按你实际会遇到的四个卡点来拆。darktable 的安装/引导画面用于确认你装的是哪个版本界面一半英文一半中文为什么现象菜单是中文但某个对话框、某条提示还是英文。原因那条文本对应的msgstr是空的或者上游改了msgid导致旧译文失效。不是你的系统问题是这条翻译缺了。操作把界面上的英文原词复制下来在po/zh_CN.po里搜它搜msgid那一行。找到了就补上msgstr找不到说明这条还没进翻译模板先记下。验证改完这一条先别急着全量编译往下看第三节单独编译、单独跑一遍确认。某个翻译看起来不对改哪一行现象译文能看懂但别扭比如把专业词直译了。原因msgstr的值本身没问题只是措辞不自然。操作在po/zh_CN.po里搜对应的msgid只改下面那行msgstr的内容。条目长这样这是你本地副本里的操作仓库是只读的别想着改上游msgid first instance msgstr 第一个实例规则两条msgid里有几个%s占位符译文就得保留几个、顺序别乱引号和特殊字符要正确转义别让msgstr断行。验证改完保存回到第三节编译第四节跑起来看这一处。改完 po 文件怎么重新生成语言包现象.po是文本darktable 运行时只认编译后的.mo二进制。原因.po必须用 gettext 工具编译成.mo光改文本没用。操作先装好 gettextmsgfmt命令。然后在项目根目录下执行msgfmt -c po/zh_CN.po -o po/zh_CN.mo-c会顺手检查格式错。注意 darktable 加载时按程序名找文件所以这个.mo落地时得叫darktable.mo放到zh_CN/LC_MESSAGES/里也就是最终路径形如po/zh_CN/LC_MESSAGES/darktable.mo。验证msgfmt没报错、生成了po/zh_CN.mo就对了。有报错按提示行号回po/zh_CN.po改。编译好了怎么让 darktable 用上现象.mo生成完界面还是老样子。原因darktable 只在它认识的目录里找.mo得告诉它去哪儿找。操作两种办法按需选。临时验证不动安装目录在启动时带上目录参数指向你放.mo的根。比如.mo放在po/zh_CN/LC_MESSAGES/darktable.mo就darktable --localedir po装到系统语言目录让以后默认生效Linux: /usr/share/locale/zh_CN/LC_MESSAGES/darktable.mo macOS: darktable.app/Contents/Resources/locale/zh_CN/LC_MESSAGES/darktable.mo Windows: darktable\share\locale\zh_CN\LC_MESSAGES\darktable.mo验证启动后进偏好里找「界面语言」选中中文若它显示成系统语言双击那一项可重置回系统语言。改对的话之前缺的那句、别扭的那句都变中文了。常见误区只改.po不编译不生成.mo界面永远不变。.mo命名用zh_CN.modarktable 按程序名darktable.mo加载名字错了等于没放。直接改上游仓库的翻译文件仓库是只读的改翻译在你本地副本或你自己的分支里做。把占位符%s删掉或换顺序一删界面里那个数字/名称的位置就错位了。以为英文没翻就是软件坏了多半只是那条msgstr空着补上即可。【免费下载链接】darktabledarktable is an open source photography workflow application and raw developer项目地址: https://gitcode.com/GitHub_Trending/da/darktable创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考