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 :(得分:10)
您的问题是由于msginit
使用/usr/lib64/gettext/user-email
提示您发送电子邮件。如果您使用msginit
选项运行--no-translator
,它应该假定它是以非交互方式运行而不是提示您:
msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot