gettext.dll 是 GNU gettext 体系在 Windows 平台上的运行时实现,内核对应类 Unix 系统中的 libintl。它把界面文字从程序代码中剥离出来,交由外部词条库管理,使同一份可执行文件在不同语言环境下呈现不同文字,是软件国际化与本地化的基础组件。GTK 系应用、GIMP、Inkscape、Git for Windows 以及大量开源安装程序都会依赖它。
gettext()、dgettext()、pgettext() 等接口,接收原文并返回当前语言对应的译文。bindtextdomain() 指定 .mo 文件所在路径,textdomain() 切换领域,实现按模块加载词条库。ngettext() 根据数量选择单复数形式,pgettext() 借助上下文消除一词多义。| 报错现象 | 典型成因 | 处理方向 |
|---|---|---|
| 找不到 gettext.dll | 文件被误删或安装不完整 | 使用官方安装包执行修复安装 |
| 无法定位程序输入点 | 32 位与 64 位版本混用 | 替换为与宿主程序位数一致的副本 |
| 界面仍为英文 | locale 未生效或缺少 .mo 文件 | 检查语言环境配置与语言包完整性 |