prikazem
xgettext -k_ -d cs -f po/POTFILES.in -p po/ -L C
jsem si vytvoril soubor cs.po. do nej jsem nastavil charset na UTF-8 prelozil a zkompiloval. Vse probehlo OK, cestina fungovala.
Kdyz jsem vsak zmnenil zdrojaky a spustil xgettext s parametrem -j (ostatni parametri jsem ponechal) abych prelozil rozdily,zahlasil mi na kazdem ceskem znaku invalid multibyte sequence. Pokud nejsou v souboru ceske znaky, vse je OK. Zkousel jsem soubor cs.po ukladat v ruznym kodovani s ruznymi programy, ale nepomaha to. Nevite nekdo jak na to, nebo neznate nejaky jiny program nez xgettext?
Pokud používáš GNU autotools, doporučuji [zálohovat a] zkusit gettextize, který vytvoří Makefiles se vším potřebným. A i když nepoužíváš, podívej se do nějakého programu, jak to vypadá. Co vlastně dělá xgettext -j, nevím; normálně se updatuje přegenerováním .pot se všemi hláškami, a pak se použije msgmerge -- viz ty Makefiles existujících projektů.
Jak jsem se dival, msgmerge by mela byt alternativa k xgettext. Dekuji, vyzkousim jej. Mne bylo divny, ze pri prekladu me to zadane retezce zkompilovalo, program bezel pocesteny, ale opetovne pouziti xgettext nahlasilo zminenou chybu.
Jinak pouzivam Glade a to mne pres opravu souboru v POTFILES.in, nevytvorilo soubor cs.pot spravne, tak jsem se to pokusil takto obejit.
Pomoci xgettext se vytvori soubor *.pot. , ten se okopiruje do *.po a prelozi. Po zmnene zdrojaku se pomoci msgmerge vytvori soubor *.pox, ktery obsahuje rozdily. Nasel jsem i odpovidajici cast v Makefile (Makefile-in). Snad uz jsem to pochopil dobre. Diky.