1.12.7 i starsze - Two languaged forum
Knofel - 07-05-2007, 19:33 Temat postu: Two languaged forum Prosta modyfikacja która zmienia język forum na angielski jeśli użytkownik wejdzie na forum używając zagraniczengo hosta. (Jeśli mimo wszystko coś nie zostanie przetłumaczone dajcie znać)
Instrukcja:
Otwórz plik: profile.php i znajdź w nim:
Kod: | require($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_profile.' . $phpEx); |
Następnie zmień to na:
Kod: | $user_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$user_from = end(explode('.',$user_host));
$user_lang = ( $user_from == 'pl' ) ? 'polish' : 'english';
require($phpbb_root_path . 'language/lang_' . $user_lang . '/lang_profile.' . $phpEx); |
Następnie otwórz plik includes/functions.php i znajdź w nim:
Kod: | include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx); |
Po czym zmień to na:
Kod: | $user_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$user_from = end(explode('.',$user_host));
$user_lang = ( $user_from == 'pl' ) ? 'polish' : 'english';
include($phpbb_root_path . 'language/lang_' . $user_lang . '/lang_main.' . $phpEx); |
coldi - 27-05-2007, 10:40
ten mod dziala odwrotnie ?
Paszczak000 - 27-05-2007, 18:06
Knofel, niby fajne, ale jak dla mnie to lepiej dorobić jeszcze jeden warunek. Jak wchodzi z innego hosta niż pl to niech forum sprawdzi jeszcze UA przeglądarki. Wiele Polaków wchodzi przez PROXY lub z zagranicy.
Centurion - 27-05-2007, 18:08
...i nie kazdy ma DNSa do IP
coldi - 27-05-2007, 19:10
panowie mam taka sytuacje ze forum stoi na niemieckim serwie i jak dodam ten panel to mam jezyk ANGIELSKI chodz z polski jestem, umiecie zaradzic?
Knofel - 27-05-2007, 19:38
Paszczak000 napisał/a: | Knofel, niby fajne, ale jak dla mnie to lepiej dorobić jeszcze jeden warunek. Jak wchodzi z innego hosta niż pl to niech forum sprawdzi jeszcze UA przeglądarki. Wiele Polaków wchodzi przez PROXY lub z zagranicy. |
A te UA to User Agent ??
P.S Faktycznie był tam błąd i modyfikacja mogła działać na odwrót, poprawiłem.
href - 27-05-2007, 19:46
sprawdzaj tez po jezyku przegladarki, $_SERVER["HTTP_ACCEPT_LANGUAGE"]
Paszczak000 - 28-05-2007, 10:12
Knofel napisał/a: | A te UA to User Agent ?? |
Tak
Knofel - 28-05-2007, 15:41
Żeby niepotrzebnie nie tracić czasu na sprawdzanie tego ale UA powinno być równe $_SERVER["HTTP_ACCEPT_LANGUAGE"] ??
Nostry - 16-06-2007, 23:27
Brzmi ciekawie i zapewne mi się przyda. Czy to finalna wersja?
Przemek211 - 18-06-2007, 17:10
Przecież to maleńka modyfikacja, czemu miałaby być nie finalna?
Nostry - 18-06-2007, 19:25
A bo taka się dyskusja zrobiła...
Widzę, że jest i niemiecka wersja językowa, jak zrobić żeby ten mod rozpoznawał i Niemców?
Kampi - 16-07-2009, 13:33
Paszczak000 napisał/a: | Knofel, niby fajne, ale jak dla mnie to lepiej dorobić jeszcze jeden warunek. Jak wchodzi z innego hosta niż pl to niech forum sprawdzi jeszcze UA przeglądarki. Wiele Polaków wchodzi przez PROXY lub z zagranicy. |
Jak to ustawić poprawnie? Bo mam tak jak napisał Paszczak000
Nostry - 15-06-2011, 23:51
Jest problem- mod ignoruje język ustawiony w profilu przez Użytkownika. Da się to tak przerobić, by działało tylko na gości?
maminowiec - 17-06-2011, 08:28
Nostry,
profile.php
Znajdź
Kod: | require($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_profile.' . $phpEx); |
zamień na
Kod: | if(!$userdata['session_logged_in']){
$user_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$user_from = end(explode('.',$user_host));
$user_lang = ( $user_from == 'pl' ) ? 'polish' : 'english';
require($phpbb_root_path . 'language/lang_' . $user_lang . '/lang_profile.' . $phpEx);
}
else
{
require($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_profile.' . $phpEx);
} |
includes/functions.php
znajdź
Kod: | include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx); |
zamień na
Kod: | if(!$userdata['session_logged_in']){
$user_host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$user_from = end(explode('.',$user_host));
$user_lang = ( $user_from == 'pl' ) ? 'polish' : 'english';
include($phpbb_root_path . 'language/lang_' . $user_lang . '/lang_main.' . $phpEx);
}
else
{
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx);
} |
|
|
|