Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Integracja klasy Babel z OPT, Jeżeli chcesz mieć gettext'a w swoich szablonach
zulus
post 2.09.2007, 22:06:09
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 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. 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

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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 13:01