Portál AbcLinuxu, 25. dubna 2024 03:17


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
Jan Drábek avatar 20.1.2010 07:08 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
Možná by chtělo ještě zdůraznit, že článek má i druhou část, takhle je to vcelku nešikovně "schované".

Btw. Velice prakticky napsaný článek ;-)
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
20.1.2010 08:16 CET
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
Soubor uložte jako gettexttest.po a nepokoušejte se jej překládat.
Proc ne??? Ja to vzdycky otevren ve vimu a prekladal jsem. Co je na tom za problem?
20.1.2010 14:23 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
no, editory určené k tomuto účelu jako poedit při překladu taky zapisují správné informace o kódování v hlavičce - je to jistější že se ti to kódování nerozhodí :)

ale když soubor máš už částečně přeložený třeba tak můžeš něco dopřekládat i ve vimu
20.1.2010 18:48 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Gettext snadno a rychle

Nejenom kódování, ale také jméno posledního překladatele, časovou značku poslední úpravy překladu.

Na druhou stranu musím říct, že já mám univerzální Makefile, který tohle (a spoustu jiných věcí jako odeslání překladu robotovi) za mě dělá a používám taky vim. Grafické nástroje mě neoslovili (asi protože mám zkušenost jen s příšerným linguistem).

20.1.2010 19:38 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
jasně ;)

v tvém případě bych radši použil autotools, který udělá vše za tebe
20.1.2010 19:38 Makefile
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Nechces se o ten svuj Makefile podelit?
20.1.2010 10:25 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
pekne. este sa v pythone pouziva aj pybabel, napr.:
pybabel extract -F babel.cfg -o app.pot app
pybabel update -i app.pot -d . -D app -l sk
20.1.2010 13:57 leko
Rozbalit Rozbalit vše lokalize
Odpovědět | Sbalit | Link | Blokovat | Admin
Super clanok, pekne podrobne popisany.

Pri odporucani na kde/qt prekladatelsky program by som neoporucal uz kbabel, ten je zastaraly, asi by tam mal byt spomenuty len lokalize. Ten je najlepsi najma pri preklade vacsich projektov. Ma funkcie bez, ktorych sa tazko preklada (translation memory, slovnik, inteligentne vkladanie tagov, kontrola pravopisu na cely .po apod.)
20.1.2010 14:57 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: lokalize
Kbabel je zastaralý možno pre používateľov KDE4 (KDE 4, KDE SC 4...). ;) Kbabel podporuje všetko, okrem toho inteligentného vkladania tagov (teda aspoň si myslím, nič špeciálne s tagmi som nikdy nepotreboval robiť).
belisarivs avatar 20.1.2010 17:14 belisarivs | skóre: 22 | blog: Psychobláboly
Rozbalit Rozbalit vše Re: lokalize
Kbabel zatim umi oproti Lokalize navic kontrolu syntaxe. Ale to jde provadet skripty (pology), ktere pak otevrou syntakticky nespravne retezce primo v Lokalize.
IRC is just multiplayer notepad.
20.1.2010 18:42 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Vynucení syntaxe ze zdrojového kódu
Odpovědět | Sbalit | Link | Blokovat | Admin

Gettext umí podle klíčových slov hlídat syntaxi mezi msgid a msgstr. Například printf(3) escapovací sekvence:

#: ../src/aosd/aosd_ui.c:242
#, c-format
msgid "monitor %i"
msgstr "monitoru %i"

Nevíte, jestli lze ve zdrojovém kódu vyznačit, že daný řetězec není formátovací printf řetězec?

V jednom programu je použito něco jako _("100% during") a xgettext takovému msgid přidává příznak c-format, což je samozřejmě špatně. Kontrolní mechanismy pak křičí, že v překladu nesedí formátovací sekvence kolem procentítka. A mně nebaví opakovaně odmazávat příznak c-format.

Čekal bych, že gettext něco takového bude umět, protože zrovna tak umí extrahovat kontextové komentáře zdrojového kódu ohledně překladu (často se používá na upozornění překladatelů programátorem, že určité slovo v hlášce je lexikál nebo vlastní jméno).

20.1.2010 19:36 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: Vynucení syntaxe ze zdrojového kódu
bych to vyescapoval..

_("100\% during")
20.1.2010 20:18 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Vynucení syntaxe ze zdrojového kódu
Skús /* xgettext:no-c-format */
20.1.2010 22:11 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vynucení syntaxe ze zdrojového kódu
To je ono. Dík.
Josef Kufner avatar 20.1.2010 19:05 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
Btw, nevíte o nějakém způsobu, jak v PHP konvertovat .po na .mo, když nemůžu spustit msgfmt?
Hello world ! Segmentation fault (core dumped)
20.1.2010 19:34 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
jako přímo z tvého PHP skriptu nějak?
Josef Kufner avatar 20.1.2010 19:50 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Jo, jo. Mám udělaný v PHP instalátor, který si stáhne zip z repositáře a nainstaluje celou aplikaci (také PHP), zkontroluje nastavení a povytváří všecko co potřebuje, ale na serveru je zakázané exec(), takže je problém s překlady a graphvizem …
Hello world ! Segmentation fault (core dumped)
20.1.2010 20:16 ---- | skóre: 33 | blog:
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
to asi nepůjde.. budeš si muset nechat povolit spuštění msgfmt.
Josef Kufner avatar 20.1.2010 20:24 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Asi budu muset najít nějakou jinou cestu. Já jen jestli třeba nědo neví o implementaci msgfmt v php nebo něco takového ;-)
Hello world ! Segmentation fault (core dumped)
Jan Drábek avatar 20.1.2010 19:39 Jan Drábek | skóre: 41 | blog: Tartar | Brno
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Lokálně? (Má smysl dělat něco podobného na serveru, když vlákna Apache/PHP stejně drží do umření starou verzi?)
01010010 01000101 01010000 01101100 01001001 00110010 01000100 01100101 01010110
21.1.2010 12:47 EVRAMP | skóre: 3 | Olomouc
Rozbalit Rozbalit vše Re: Gettext snadno a rychle
Odpovědět | Sbalit | Link | Blokovat | Admin
Děkuji za článek.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.