Bash本地化

时间:2011-02-03 13:21:27

标签: bash localization

我正在玩本地化bash脚本:

我用这个内容创建了文件/tmp/hello.sh:

#!/bin/bash  
LANGUAGE=es_ES   
TEXTDOMAINDIR=/home/adrian/tmp/locale  
TEXTDOMAIN=hello  
echo $"Hello, world"  

生成hello.pot:

bash --dump-po-strings hello.sh  

现在hello.pot包含:

:   hello:2  
msgid "Hello, world"  
msgstr "Hola ..."

如果我跑

sudo msgfmt -o /home/adrian/tmp/es/LC_MESSAGES/hello.mo hello.pot
LANGUAGE=es_ES ./hello

它不起作用。如果仅在将mo文件复制到/ usr / local / share / locale / es /.

时有效

1 个答案:

答案 0 :(得分:1)

以下命令需要匹配脚本中的变量(反之亦然):

sudo msgfmt -o /home/adrian/tmp/locale/es/LC_MESSAGES/hello.mo hello.pot

请注意添加locale

请参阅How to add localization support to your bash scriptsInternationalizing Those Bash Scripts