Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]array i wielojęzyczność?
-nieswiadom-
post
Post #1





Goście







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];
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A zaglądałeś do manuala?
Go to the top of the page
+Quote Post
-nieswiadom-
post
Post #3





Goście







tak a o który punkt chodzi? to co wysłałeś?
Go to the top of the page
+Quote Post
wujek2009
post
Post #4





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


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.

Ten post edytował wujek2009 9.02.2013, 11:46:49
Go to the top of the page
+Quote Post
-nieswiadom-
post
Post #5





Goście







Dziękuje za odpowiedź i jak najbardziej pomocną (IMG:style_emoticons/default/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'].')'));
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 18:31