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 提示输入您的电子邮件。如果你改为跑步 斯金尼 与 --no-translator 选项它应该假定它是以非交互方式运行的,并且不会提示您:
msginit
/usr/lib64/gettext/user-email
斯金尼
--no-translator
msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot