Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Integracja klasy Babel z OPT, Jeżeli chcesz mieć gettext'a w swoich szablonach
zulus
post
Post #1





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Klasa Babel jest bardzo przydatna, moim zdaniem bardzie intuicyjna od natywnego gettext'a no i nie wymaga go do działania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Funkcję należy umieścić w katalogu plugins w pliku function.i18n.php i aktywować ten katalog po starcie optClass.
Można też użyć registerFunction() w optClass. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
  1. <?php
  2. function optI18n($opt, $string, $number = null) {
  3. if (defined('BABEL')) {
  4. global ${BABEL};
  5. $result = (method_exists(${BABEL}, 'translate')) ? ${BABEL}->translate($string, $number) : $string;
  6. }
  7. $numargs = func_num_args();
  8. if ($numargs>2) {
  9. $args = array_slice(func_get_args(),2);
  10. $result = preg_replace('/(%(d+))/', '1$s', $result);
  11. $result = preg_replace('/(%n)/', '%d', $result);
  12. return call_user_func_array('sprintf', array_merge((array)$result, $args)); 
  13. }
  14. return $result;
  15. }
  16. ?>


Jak ktoś się przyjży to jest to kopia funkcji _r() z opt z lekką modyfikacją. Klasa babel powinna być inicjowana przed OPT.

BTW: Babel używa globali, jeżeli mnie autor nie zlinczuje to może kiedyś ją zmodyfikuję na swoją modłę.

Kod tej funkcji jest na tej samej licencji co BABEL!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bastion
post
Post #2





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


Zalecam wykorzystanie Babel 2.0.0 - bez globali
http://docs.jarzebski.pl/doku.php?id=index:class5.babel
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 10:57