我一直在关注最新版本的 Linux Journal 中的tutorial,该版本教授如何国际化Bash脚本。但是,我无法让它在我的系统上工作(Ubuntu 10.04。)当我在设置环境变量TEXTDOMAINDIR之后到达我应该调用“gettext”的部分时,我得到:
toby@toby-laptop:~/Desktop/i18n$ gettext -s "Greeting"
Greeting
但它应该打印一条消息,上面写着“你好,我可以在你提供的2个号码之间生成一个随机数”,而不仅仅是“问候”。任何人都可以复制这个问题吗?我有什么想法我做错了吗?谢谢!
答案 0 :(得分:3)
该教程的作者忘记了以下步骤:
export TEXTDOMAIN=rand.sh
应该在显示为export TEXTDOMAINDIR=/home/lji/locale
的步骤完成时执行(替换相应的目录名称)。
您可以使用$""
代替gettext
:
$ cat rand.sh
#!/bin/bash
TEXTDOMAINDIR=$HOME/locale # probably not the best place for these files, but OK for testing
TEXTDOMAIN=rand.sh
gettext -s "Greeting"
echo $"Greeting"
$ ./rand.sh
Hello, I can generate a random number between 2 numbers that you provide
Hello, I can generate a random number between 2 numbers that you provide
请注意,Bash manual表示某些系统可能以不同方式使用变量$LC_MESSAGES
,$TEXTDOMAIN
和$TEXTDOMAINDIR
。