Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]array i wielojęzyczność?
Forum PHP.pl > Forum > Przedszkole
nieswiadom
Witam

Napisałem sobie małą klase na wielojęzyczność i wszystko działa ładnie..


skrypt:
  1. echo $lang->get('hello');

lang:
  1. $lang['hello'] = 'Witaj kolego';



itp itd...


ale jak osiągnąć taki efekt


skrypt:
  1. echo $lang->get('hello', array($wiek, $imie);

lang:
  1. $lang['hello'] = 'Witaj kolego masz $wiek lat i na imie ci $imie';


nwm czy dobrze wytłumaczyłem sprawę ;d.. nwm jak się za to zabrać :/ jakieś pomysły sugestie jak przeparsować dane? teraz robię po prostu
  1. return $lang[$zm];
Kshyhoo
A zaglądałeś do manuala?
nieswiadom
tak a o który punkt chodzi? to co wysłałeś?
wujek2009
Zobacz funkcje z frameworka - Kohana, która pomoże Ci.
  1. /**
  2. * Kohana translation/internationalization function. The PHP function
  3. * [strtr](http://php.net/strtr) is used for replacing parameters.
  4. *
  5. * __('Welcome back, :user', array(':user' => $username));
  6. *
  7. * [!!] The target language is defined by [I18n::$lang].
  8. *
  9. * @uses I18n::get
  10. * @param string text to translate
  11. * @param array values to replace in the translated text
  12. * @param string source language
  13. * @return string
  14. */
  15. function __($string, array $values = NULL, $lang = 'en-us')
  16. {
  17. if ($lang !== I18n::$lang)
  18. {
  19. // The message and target languages are different
  20. // Get the translation for this message
  21. $string = I18n::get($string);
  22. }
  23.  
  24. return empty($values) ? $string : strtr($string, $values);
  25. }


Krótko mówiąc: efekt, który Cię interesuje bazuje na funkcji strtr. Zastosowanie masz w komentarzu funkcji - dostosuj ją do swoich potrzeb.
nieswiadom
Dziękuje za odpowiedź i jak najbardziej pomocną smile.gif

Bez większego trudu sobie poradziłem jeszcze raz dzięki!


  1. echo $lang->get('hello', array(':user' => $nick, ':id' => '('.$user->data['user_id'].')'));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.