To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

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 :x ?
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? :shock: 8)
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);

}



Powered by phpBB modified by Przemo © 2003 phpBB Group