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
最佳答案
您的问题是由于msginit
使用/usr/lib64/gettext/user-email
来提示您的电子邮件。如果改为使用msginit
选项运行--no-translator
,则应假定它是非交互式运行的,并且不会提示您:
msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot