Portál AbcLinuxu, 12. května 2025 05:43

Dotaz: Vícejazyčná webová aplikace - PHP, Perl, TeX

14.12.2008 18:41 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Vícejazyčná webová aplikace - PHP, Perl, TeX
Přečteno: 506×
Odpovědět | Admin

Preji pekny den

provozuji jednoduchou webovou aplikaci, ktera po odeslani formulare nejakemu PHP skriptu zpracovava vstup, vola pomocne skripty v Perlu a udela nejaky soubor, ktery se nacita pri kompilaci LaTeXem do PDF. Vysledne PDF se posila zpet (pokud nedoslo k chybe, jinak se zobrazuji ruzne chybove hlasky, podle toho, kde nastal problem).

Textove retezce jsou i tech PHP souborech (treba hlaseni, ze nastala chyba a jaka), i v tech perlovskych souborech a i v tech TeXovskych. Prepinani jazyku CZ/ENG zatim resim rozhodovanim (if then else) podle parametru v tom php, tento parametr se pripadne predava tomu perlovskemu skriptu (a taky if-then-else) a LaTeXem se kompiluje bud soubor en.tex nebo cz.tex, ktere se lisi jenom tak, ze jsou texty jsou napsane v cestine nebo anglictine.

Jak co nejlip tento zbastlenec upravit tak, aby se dal pohodlne pridat dalsi jazyk?

Koukal jsem na gettext, a to by asi bylo reseni pro tu php cast, ale nevim, jestli by prohledavanim katalogu prekladu znatelne neklesal vykon.

A co s temi texty v perlu a TeXu?

 

 

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

Odpovědi

14.12.2008 20:42 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co se týče výkonu, tam bych se nebál. Ve vaší mašinérii budou pomalejší věci. Krom toho gettext vyhledává zprávu v soboru jen při prvním dotazu na danou zprávu. Dál už leží v paměti jako statický řetězec.

V Perlu můžete opět použít gettext.

S TeXem bude trochu problém. Např. můžete \input{}em natáhnout hlavičku, která bude sama generována gettextem a bude obsahovat (odkaz na soubor s) makra s překlady.

Samozřejmě lze vynalézat divoké kombinace, ale doporučil bych veškerou lokalizaci dělat v jedné jediné vrstvě. Nezblázníte se z toho.

Ještě můžete zvážit po4a, což je nadstavba nad gettextem a umí překládat roff, TeX, XML a další formáty.

15.12.2008 21:48 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

Diky, zkousel jsem to podle tutorialu zde a zde a ani jedno nefungovalo.

Mam debian Lenny, phpinfo ukazuje gettext enabled, restart apache jsem provedl, gettext a php-egttext jsou nainstalovane a presto se preklady neukazuji. Nevite nekdo co s tim?

16.12.2008 00:04 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

tak si odpovim sam, je potreba pouzit cs_CZ misto cs

16.12.2008 13:10 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX
Nebo si do /usr/share/locale/locale.alias přidat alias :)
16.12.2008 18:04 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

Blba otazka: co znamena v jedne vrstve. Tim je myslen jediny .po soubor? Nebo neco jineho?

16.12.2008 19:03 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

Celou lokalizaci dělat gettextem, místo toho abyste jeden jazykem podmíněný výpis měl v PHP, druhý v TeXu a další gettextem.

17.12.2008 20:58 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

jeste jsem se chtel zeptat: mam vsechno v UTF-8, presto se mi to nekde po ceste prekodovava na ISO 8859-2

pokud pouziju emulaci gettextu pomoci php a stejny .po soubor, tak problem neni, pokud pouziju samotny gettext, tak mam probem s kodovanim.

da se to nekde poresit? Dekuji.

18.12.2008 00:05 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX
Máte jako lokalizaci (setlocale()) vybraný jazyk včetně kódování (cs_CZ.UTF-8)? Implicitně se předpokládá ISO8859-2.
18.12.2008 21:48 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: Vícejazyčná webová aplikace - PHP, Perl, TeX

To bude ono. Dekuji moc.

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.