Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
Witam, jaki jest najlepszy sposób aby ustalić język gościa odwiedzającego moją stronę? Chyba baza danych z ip to trochę zbyt skomplikowany pomysł. Znalazłem tu takie coś $_SERVER['HTTP_ACCEPT_LANGUAGE'], sprawdziłem co to zwraca u mnie:
Kod [HTTP_ACCEPT_LANGUAGE] => pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4 W manualu PHP opis jest taki Cytat Contents of the Accept-Language: header from the current request, if there is one. Example: 'en'. No ale jak widać nie do końca, zwraca to dłuższy string z różnymi opcjami porozdzielanymi średnikiem. Jak uniwersalnie pobrać za pomocą tej predefiniowanej zmiennej? Po prostu pobierać ten pierwszy parametr (do pierwszego średnika), nie? Tylko że jeszcze jeden problem. Powiedzmy stronę chcę mieć w języku polskim, angielskim, niemieckim, finlandzkim, norweskim (przykładowo), a w dokumentacji nie jest napisane co ta predefiniowana zmienna będzie w sobie trzymać w przypadku gdy wejdzie taki norweg na stronie. Dla polaka już wiem bo sprawdziłem "pl-PL", dla anglika też wiem, ale co z innymi językami?
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
Predefiniowana zmienna ma u mnie na Chrome wartość
Kod pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4 na Mozilli Kod pl,en-us;q=0.7,en;q=0.3,x-ns1fB339cVfNx0,x-ns28470Nnym7b5 na IE Kod pl-PL Opera Kod pl-PL,pl;q=0.9,en;q=0.8 to u góry jest kolegi bo akurat nie mam opery.Jak pobrać z tego język? Ja to sobie zrobiłem prostą metodą explode ',': Kod function getUserLang() { $jezyk = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if(strstr($jezyk[0], '-') === FALSE) { switch($jezyk[0]) { case 'pl': $jezyk[0] = 'pl-PL'; break; case 'en': $jezyk[0] = 'en-US'; break; } } return $jezyk[0]; } Testowałem to na kilku przeglądarkach, nie tylko na swoim komputerze i działa. Tylko czy to dobry sposób? Może jest lepszy sposób? |
|
|
|
Kuba707 Pobranie języka użytkownika 15.02.2011, 18:03:34
Noidea http://www.w3.org/Protocols/rfc2616/rfc261...14.ht... 15.02.2011, 18:28:42
_Borys_ http://pogodzinach.netcoffee.pl/2006/01/wy...zytko... 15.02.2011, 18:31:06
greycoffey Jest prostszy sposób.
[PHP] pobierz, plaintext ... 16.02.2011, 15:57:14 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 15:13 |