2009-06-20 79 views
3

msginit提示输入电子邮件地址。有没有办法告诉msginit使用什么电子邮件地址而不提示它,如命令行参数?msginit邮件地址命令行参数?

cat >hellogt.cxx <<EOF 
// hellogt.cxx 
#include <libintl.h> 
#include <locale.h> 
#include <iostream> 
int main(){ 
    setlocale(LC_ALL, ""); 
    bindtextdomain("hellogt", "./"); 
    textdomain("hellogt"); 
    std::cout << gettext("hello, world!") << std::endl; 
} 
EOF 
g++ -ohellogt hellogt.cxx 
xgettext -d hellogt -o hellogt.pot hellogt.cxx 
msginit -l es_MX -o spanish.po -i hellogt.pot 
+0

引用JS:“Downvoters:请提供意见 - 乔恩斯基特5月8日9:25” – 2009-06-23 18:58:57

回答

6

你的问题是由于使用msginit/usr/lib64/gettext/user-email提示您的电子邮件。如果不是与--no-translator选项运行msginit应该承担它被非交互方式运行,而不是提示您:

msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot 
+0

我将`/ usr/lib64/gettext/user-email`重写为`echo <我的电子邮件地址>`。这也是一个(更激进的)解决方案。 – Neptilo 2015-02-08 10:46:30