6

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
4

1 回答 1

10

您的问题是由于msginit使用/usr/lib64/gettext/user-email提示您的电子邮件。如果您改为msginit使用该--no-translator选项运行,它应该假定它正在以非交互方式运行并且不会提示您:

msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot
于 2009-06-20T17:05:43.750 回答