3

我正在为一个非常具体的项目创建一个 bash 脚本,并且字符串必须是可翻译的。

我已成功遵循以下教程: bash 脚本的 gettext 支持:http:
//mywiki.wooledge.org/BashFAQ/098

但是,本教程的一部分要求运行 msgfmt 命令来为每种语言生成已编译的 .mo 文件。为了使它工作,我必须以 root 身份运行命令,并且 .mo 文件保存在 /usr/share/locale/(lang)/LC_MESSAGES 下。

我希望将 .mo 文件保存在相对于 bash 脚本的子目录中,这很容易。但是,当脚本运行时,bash 必须知道必须在适当的自定义位置查找 .mo 文件的内容。

如何做到这一点?

我想要做的是让整个项目,连同 .pot 和 .mo 文件,自包含并能够更新翻译而无需使用 sudo。

4

1 回答 1

1

你玩过环境变量吗TEXTDOMAINDIR

您可能会在页面中找到info比在man页面中更多的信息:

info gettext

或者

info gettext 'Variable Index'
于 2013-01-04T15:25:40.330 回答