ako donutit PoEdit vytiahnut si kluce z formulara?

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

Zdravim, mam otazocku.

Ako zadefinovat retazec vo formulari, potazmo v presenteri, aby mi ju Poedit dokazal najst?

napr. aby to vytiahlo ‚pohlavie‘

<?php
$form->addRadioList('gender', 'pohlavie', $sex)
     ->addRule(Form::FILLED, 'zadaj pohlavie.');
?>

Dikes

redhead
Člen | 1313
+
0
-
<?php
$form->addRadioList('gender', _('pohlavie'), $sex)
     ->addRule(Form::FILLED, _('zadaj pohlavie.'));
?>

ještě je nutné v konfiguraci katalogu v PoEditu nastavit klíčové slovo nebo jak se to jmenuje na podtržítko.

Editoval redhead (14. 9. 2009 19:51)

Matúš Matula
Člen | 257
+
0
-

Dik za bleskovu reakciu.

Toto som skusil, no hodi to fatal error, ze neexistuje fcia _() . Znamena to, ze si mam danu fciu namapovat na Translator::translate ? Mohol by si prosim pastnut kus nejakeho kodu, kt. mi to objasni?

norbe
Backer | 405
+
0
-

Problém je pravděpodobně v tom, že nemáš nainstalovaný gettext translator, jelikož _("translate me") je alias pro funkci gettext("translate me").

Editoval norbe (14. 9. 2009 20:58)

Matúš Matula
Člen | 257
+
0
-

To je pravda, nemam na serveri podporu gettext. Preto som chcel skusit gettextTranslator https://componette.org/search/?… kt. nevyuziva nativne gettext v php.

preklad vo formulari funguje podla prikladu, ak mam naplneny .mo subor

<?php
$translator = new GettextTranslator('form.cs.mo', 'cs');
$form = new Form;
$form->setTranslator($translator);

$form->addRadioList('gender', 'pohlavie', $sex)
     ->addRule(Form::FILLED, 'zadaj pohlavie.');
?>

otazkou pre mna zostava, ako programu Poedit daju pouzivatelia danej extras vediet, kt. retazce sosat..

norbe
Backer | 405
+
0
-

Pokud nemáš gettext, bude asi nejlepší napsat si nějaký scriptík, který soubor pro PoEdit vytvoří, nemuselo by to být dokonce ani moc těžký, když jsem koukal na strukturu .po souborů :-)

hurvajs
Člen | 86
+
0
-

Matúš Matula napsal(a):
To je pravda, nemam na serveri podporu gettext
otazkou pre mna zostava, ako programu Poedit daju pouzivatelia danej extras vediet, kt. retazce sosat…

Smarja pano, co to je za hosting, kdyz nema gettext… :(

Tak si na to udelej svuj vlastni alias, treba misto _('translate me') udelej __('translate me'), pak si prenastav PoEdit a prozen ho pres soubory. Jen nevim, kde se to dela a jestli to hlavne jde. Zkousel jsem PoEdit jednou a byla katastrofa…

Matúš Matula
Člen | 257
+
0
-

Zle som sa vyjadril, mne ten gettext nefacha na locale :-)

Pouzivam VertrigoServ [ekvivalent XAMPP a pod.] a nechce mi nacitat extension php_gettext.dll. Pritom ju mam v spravnom adresari .. Vertrigo/Php/ext . Po jej pridani do php.ini som server restartoval, no nezabera to. v phpinfo() sa nenacita :-(

Nejake rady?

hurvajs
Člen | 86
+
0
-

No ja se uz lekl, ze na hostingu nejede gettext. V tomhle moc neporadim – osobne nepracuji pod Widlema a kdyz potrebuji nejakou knihovnu v PHP navic, tak ji musim zapnout USE flag a zkompilovat PHP znovu. Ale videl bych to na rozdilne verze PHP a knihovny. Kdyz jsem jeste pracoval na Win, tak jsem vylozene nesnasel tyhle instalace (typu WAMPP apod), protoze clovek nad nima nema moznost kontroly a ma nulovou moznost konfigurace, resp. zmena dopadne jako u Tebe. Zkusil bych stahnout jinou verzi XMAPP.

Nicmene, to ze se nenacte knihovna pro gettext, musi Apache zalogovat. Tak se mrkni tam.

Matúš Matula
Člen | 257
+
0
-

Je to tak, ta extension je zbuildovana pre php4 ale nikde som nenasiel novsiu..

PHP Warning:  PHP Startup: (null): Unable to initialize module
Module compiled with module API=20020429, debug=0, thread-safety=1
PHP    compiled with module API=20060613, debug=0, thread-safety=1
These options need to match

Editoval Matúš Matula (15. 9. 2009 15:48)

marek.dusek
Člen | 99
+
0
-

neni ten rozdil API jen o kompilatoru, tj. VS6 vs VS9?