2009-06-20 8 views
3

msginit запрашивает адрес электронной почты. Есть ли способ сообщить 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

Цитирование JS: «Downvoters. Просьба предоставить комментарии - Джон Скит 8 мая в 9:25» –

ответ

6

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

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

Я перезаписал '/ usr/lib64/gettext/user-email' как' echo <мой адрес электронной почты> '. Это также (более радикальное) решение. – Neptilo

Смежные вопросы