我正在为一个非常具体的项目创建一个 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。