msginit адрес электронной почты аргумент командной строки? - PullRequest
5 голосов
/ 20 июня 2009

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

1 Ответ

10 голосов
/ 20 июня 2009

Ваша проблема связана с msginit использованием /usr/lib64/gettext/user-email для запроса вашей электронной почты. Если вместо этого вы запускаете msginit с параметром --no-translator, следует предположить, что он выполняется не в интерактивном режиме, и не запрашивать у вас:

msginit --no-translator -l es_MX -o spanish.po -i hellogt.pot
...