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

08-26 04:48