![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
Szukałem na tym forum, ale nie znalazłem. Może źle szukam.
Jak sprawdzić z jakiego kraju oglądana jest dana strona? Chodzi mi o to, że chcę wyświetlić stronę w odpowiedniej wersji jezykowej... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Do tego nie jest ci potrzebny kraj, tylko język. A to jest już coś innego.
Generalnie: nagłówek Accept-Language. Opis np. pod http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli koniecznie chcesz kraj, to polecam poczytać o tym projekcie : ip to country.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy zadziala... pozdro, tiraeth! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Cytat
nie wiem czy zadziala... pozdro, tiraeth! no tak, a co jak klient ma tylko IP a nie ma domeny?? niezbyt dobre rozwiazanie chyba -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dodam jeszcze że klient moze miec domene ogolna a niekonieczne taka ktora okresla kraj.
W numerze 2 (marzec-kwiecien) "php solutions" jest opisany cały projekt IP-to-Country. Polecam lekturze. Ogolnie polega to na pobraniu IP klienta wchodzacego na strone i porównaniu z baza danych. Plik w formacie CSV z danymi dla takiej bazy danych można pobrac z http://ip-to-country.directi.com |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Możesz jeszcze tak:
Kod <script language="Javascript" src="http://map.geoup.com/geoup?template=CountryName"></script>
Ale nie wiem jak to np. zapisać do bazy. Bo ten skrypt potrafi nawet wskazać miasto: Kod <script language="Javascript" src="http://map.geoup.com/geoup?template=CityName"></script>
Czy ktoś ma pomysł, jak takie coś zapisać do bazy danych na serwerze? -------------------- if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;} |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Do licha, kraj ma się do wersji językowej jak pięśc do nosa.
W sumie autor tematu mógłby określić o co dokładnie mu chodziło... |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Do licha, kraj ma się do wersji językowej jak pięśc do nosa.
W sumie autor tematu mógłby określić o co dokładnie mu chodziło... A jak ma się temat topic'u do jego treści .... :?: Autor pisze w temacie " jak wykryć kraj " a w treści "jak wykryć język ". Więc nie dziw się , że dostaje dwojakie odpowiedzi. Pozdrawiam. Mike. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cóż sądze że swoim krótkim postem naprowadziłem autora na własciwą droge, nie napisał że chce gotowca, a przecież nie o to chodzi. A projekt ip-to-country jest jak najlepszym rozwiazaniem tego typu (notabene o innym nie słyszałem)
|
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Cóż sądze że swoim krótkim postem naprowadziłem autora na własciwą droge, nie napisał że chce gotowca, a przecież nie o to chodzi. A projekt ip-to-country jest jak najlepszym rozwiazaniem tego typu (notabene o innym nie słyszałem)
Fajnie że go naprowadziłeś na ip-to-country, po tym jak ja go naprowadziłem na to samo ip-to-cpuntry dwa posty przed tobą. Pozdrawiam. Mike. :wink: P.S. Też uważam że to najlepszy projekt. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 6.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ależ ja nie twierdze że byłem pierwszy :wink: Tylko chodziło mi o to że już został naprowadzony na własciwa scieżke a i tak krąży gdzies i szuka niewiadomo czego.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Cytat Gdzie mogę się dowiedzieć jakie wartości zwraca?
zwraca taką wartość, jaką przesłała przeglądarka myśle że to jest zgodne z ISO 3166, uwzględnij zarówno kody 2 jak i 3 literowy http://userpage.chemie.fu-berlin.de/divers...c/ISO_3166.html szukaj na google tej normy -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Formalnie HTTP pozwala na do 8 znaków kodujących kraj. RFC 1766 mówi że zawsze mają być używane tylko 2. Apache w jednym chyba przypadku się wyłamuje i daje 3 literki zamiast dwóch.
Co do podanego standardu ISO, nie do końca tak jest. Pojedynczy "element" w nagłówku Accept-Language składa się z 2 części: kod języka i opcjonalnej informacji dodatkowej (np. kod kraju). Dla przykładu: Kod Accept-Language: pl, en-us, en-gb
Kody języków opisuje ISO 639. ISO 3166 opisuje kody krajów, a to nie to samo. Tak więc naprawdę trzeba szukać w ISO 639. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [...]
Jak sprawdzić z jakiego kraju oglądana jest dana strona? Chodzi mi o to, że chcę wyświetlić stronę w odpowiedniej wersji jezykowej... Sprawdzenie (pewne) jest dosc problematyczne. Sprawdzanie domen udaje sie w ~30% przypadkow, a bazy takie jak ip-to-country lub ip2nation maja niestety dziury. Ale do wyswietlenia roznych stron w zaleznosci od kraju mozesz uzyc tego: http://www.syriusz.civ.com.pl/country_switch wersja mocno beta, ale jest dosc wiarygodna (ma kilka pieter sprawdzania ip). Zakladasz konto, logujesz sie i definiujesz grupy krajow i linki dla nich, a potem gosci do siebie kierujesz przez switch_link. Kazdy dostanie, co dla niego przeznaczone ![]() C. |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Cytat ISO 3166 opisuje kody <b>krajów</b>, a to nie to samo. masz racje nie pomyslalem o tym ![]() no tak, ale tak konkretnie, to ten dokument RFC, który podałeś stwierdza: Kod Language-Tag = Primary-tag *( "-" Subtag ) Primary-tag = 1*8ALPHA Subtag = 1*8ALPHA czyli nie do 8 znaków ![]()
myślę że i tak nie będziesz robił różnych wersji np. dla brytyjskiego i amerykańskiego angielskiego, więc teraz wystarczy tylko tablica z kodami głównymi odpowiadajacymi odpowiedniemu jezykowi. -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Cytat czyli nie do 8 znaków ![]() Of course, 8 na język i 8 dodatkowych. No ale napisałem "8 znaków kodujących kraj" ![]() Cytat
Hmm, to nie będzie działać. Po pierwsze, kreski nie musi być, co nawet widać na tym cytacie z RFC. Może być "Accept-Language: pl, en". Po drugie, tak tylko wycinamy pierwszy z podanych języków. A teoretycznie nic nie każe podawać ich w kolejności malejącego quality. Teoretycznie może być "Accept-Language: pl;q=0.1, en;q=0.9". Chociaż nigdy chyba czegoś takiego nie widziałem... Anyway, aż się prosi o jakiś uniwersalny kod który parsuje to i robi tablicę preferowanych języków, w odpowiedniej kolejności. Potem tylko sprawdzasz który z tego masz dostępny i zapodajesz odpowiednią stronę. Swoją, drogą, Cytat Applications should always treat language tags as a single token; the division into main tag and subtags is an administrative mechanism, not a navigation aid.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mihow @ 2004-06-05 16:59:42) Jak sprawdzić z jakiego kraju oglądana jest dana strona? Chodzi mi o to, że chcę wyświetlić stronę w odpowiedniej wersji jezykowej... Może uzyj PEAR a dokladniej I18N z pakietu INTERNATIONALIZATION -------------------- Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn< |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 21:19 |