Globální funkce pro GetText

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

Prosím o pomoc. Pracuji teď ve verzi 0.9.3 bez prefixů. (Doposud jsem použival 2.0 alfa bez překladů)

a) Jak je to prosím s funkcí _() pro gettext?

b) Pracuje všude nebo jen na formulářích?

c) Kde všude musím použít místo ní funkci $tr->translate?

d) Nebo jak mohu fci _() „globálně zaregistrovat“?

e) Nebo mé objekty musí být nějak speciálně odvozené ? …

Díky za radu

Editoval smi (10. 6. 2011 14:55)

Majkl578
Moderator | 1364
+
0
-
  1. funkci pojmenované _ se vyhni, protože ji využívá ext/gettext v PHP, zvol spíš třeba t nebo __
  2. pracuje tam, kde chceš (tj. kde to nastavíš popř. přímo použiješ tu funkci)
  3. ehm, nenapadá mě nic, pokud ta tvá funkce bude jen zkratka pro nějakou metodu MyTranslator::translate
  4. prostě ji deklaruj a načti, třeba v bootstrapu
  5. musí jen implementovat rozhraní Nette\Localization\ITranslator, abys ji pak mohl použít např. u formulářů
smi
Člen | 75
+
0
-

Majkl578 napsal(a):

  1. funkci pojmenované _ se vyhni, protože ji využívá ext/gettext v PHP, zvol spíš třeba t nebo __
  2. pracuje tam, kde chceš (tj. kde to nastavíš popř. přímo použiješ tu funkci)
  3. ehm, nenapadá mě nic, pokud ta tvá funkce bude jen zkratka pro nějakou metodu MyTranslator::translate
  4. prostě ji deklaruj a načti, třeba v bootstrapu
  5. musí jen implementovat rozhraní Nette\Localization\ITranslator, abys ji pak mohl použít např. u formulářů

Tak díky za vyčerpávající odpověď