Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie języka użytkownika
Kuba707
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Noidea
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


http://www.w3.org/Protocols/rfc2616/rfc261...14.html#sec14.4

Im wyższa wartość przy "q", tym większy priorytet ma dany język. Największa (a zarazem domyślna) wartość "q" to 1.
Kod języka to zwykle będzie xx lub xx-YY, gdzie:
xx oznacza język: http://www.loc.gov/standards/iso639-2/php/code_list.php
YY oznacza państwo: http://en.wikipedia.org/wiki/ISO_3166-2#Current_codes


Gdy użytkownik wejdzie na twoją stronę po raz pierwszy ustaw mu język na podstawie nagłówka Accept-Language i zapisz wybór w ciasteczku. Przy każdym kolejnym wyświetleniu strony pobieraj język z ciasteczka.
Dodatkowo gdzieś w rogu strony dodaj możliwość zmiany języka strony (gdyby domyślny wybór nie odpowiadał użytkownikowi).
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 15:26