PoEdit – jak číst texty z latte šablon

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Phalanx
Člen | 310
+
0
-

Ahoj, nastavil jsem si PoEdit, aby mi četl zdrojový kód, ale nefunguje mi čtení řetězců z latte šablon.

// pouze zaregistruje řetězec
<?php echo gettext(‚Hello World!‘); ?>

// přeloží pouze pokud existuje dřívější echo s funkcí gettext v php
{_'Hello World!'}

// nic
{gettext(‚Hello World!‘)}

Poradil by někdo jak na to? Díky

edit: používám Gettext od https://componette.org/search/?…

Editoval Phalanx (9. 1. 2012 16:24)

voda
Člen | 561
+
0
-

xgettext tohle neumí. Použij NetteGettextExtractor:

Phalanx
Člen | 310
+
0
-

NetteGettextExtractor jsem právě zkoušel, ale v PoEditu mi to hází „Chyba při načítání souboru C:\…\AppData\Local\Temp\poexxxx.tmp, zřejmě je poškozený“ a „Chyba při načítání řetězců“.

voda
Člen | 561
+
0
-

A jak to máš v poeditu nastavené?

Phalanx
Člen | 310
+
0
-

Příkaz ke spuštění parseru:
C:\xampp\php\php.exe -f C:\xampp\GettextExtractor\NetteGettextExtractor.php %o %F

Když se dívám do toho Temp tak mají všechny soubory poe****.tmp velikost 0kB

Editoval Phalanx (10. 1. 2012 10:04)

voda
Člen | 561
+
0
-

v NetteGettextExtractor.php je jenom třída, ke spouštění jako příkaz tam je gettext-extractor.php.
Zkus nastavit: C:\xampp\php\php.exe -f C:\xampp\GettextExtractor\gettext-extractor.php -o %o %F a „Položka v seznamu vstupních souborů“ nastav na -f %f. Je to netestováno, takže možná ještě bude potřeba to trochu doladit.

Phalanx
Člen | 310
+
0
-

S tou třídou mě to taky mohlo napadnout :( Měl jsem stáhlý gettext-v2 z druhého odkazu a nedíval jsem se co je uvnitř.

Ani po nastavení na soubor gettext-extractor.php mi to nesežere, zahlásí tu samou chybu.

voda
Člen | 561
+
0
-

Tak by to mělo být bez mezer mezi přepínačem a jeho hodnotou:
C:\xampp\php\php.exe -f C:\xampp\GettextExtractor\gettext-extractor.php -o%o %F a „Položka …“ -f%f

Phalanx
Člen | 310
+
0
-

S mezerami i bez mezer jsem taky zkoušel :) Moc oceňuji tvoji snahu, ale asi mi není dáno to rozjet správně :)

voda
Člen | 561
+
0
-

Ještě tam asi chybí -- na oddělení parametrů pro php a pro gettextExtractor. Zkus to pro začátek rozjet jenom z příkazového řádku:

cd do složky s projektem
C:\xampp\php\php.exe -f C:\xampp\GettextExtractor\gettext-extractor.php -- -omessages.pot -fšablona1.latte -fšablona2.latte

Takhle by to mělo v případě chyby vypsat aspoň něco smysluplného.

Phalanx
Člen | 310
+
0
-

Dík moc!! pomlčky pomohli :) Už to překládá :)
C:\xampp\php\php.exe -f C:\xampp\GettextExtractor\gettext-extractor.php – -o%o %F

Fanda
Člen | 39
+
0
-

Jak bych mohl nastavit gettext-extractor, aby mi z příkazový řádky vytáhl i tohle:

{var $title = _('Page title')}

Případně jak jinak to řešíte? V téhle podobě mi to gettext-extractor nevytáhne.
Děkuji.

Nox
Člen | 378
+
0
-

Přesně toto nevim, ale mělo by to jít i přes
{capture $title}{_'Page title'}{/capture}

Editoval Nox (16. 3. 2012 13:30)