Autor Zpráva
CATerPILAR
Profil
Zdravím Vás, jak funguje automatické nastavení lokalizace při vstupu na stránky? Jde to zjistit podle IP? Nebo podle jazyka prohlížeče? Přáním je aby se stránka automaticky zobrazila v požadovaném jazyce. Web má 51 jazykových mutací.
srigi
Profil
CATerPILAR
Najspolahlivejsie je citanie request hlaviciek, ktore posiela web prehliadac serveru pri poziadavke na stranku. Takato hlavicka bezne vypada takto:



Vsimnite si zvyraznenu polozku. Je v nej nastavena preferencia jazyku (aj s vahou - 0.8; 0.3). Tieto polozky su nastavene podla operacneho systemu, takze ak mate v Windowse nastavene regionalne nastavenia napr. na Polstinu, najvyssiu vahu dostane polsky jazyk.
CATerPILAR
Profil
Děkuji to by mohlo fungovat. Vyzkouším to.
my-key
Profil *
Dobrý den,

mohl bych požádat o znovu nahrání obrazku s ukazkou request hlavicky pro automaticke prepinani jazykovych mutaci?

diky moc

M.
blaaablaaa
Profil
my-key:
<?php
echo "<pre>";
print_r($_SERVER);
echo "</pre>";
?>


Jinak podle IP zjistis zemi nejak takto:
$ip_info = @unserialize(@file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
if ( isset($ip_info["geoplugin_countryCode"]) && !empty($ip_info["geoplugin_countryCode"]) ) {
   echo $ip_info["geoplugin_countryCode"];
}
Davex
Profil
my-key:
Výpis HTTP požadavku GET vypadá asi nějak takto:
GET / HTTP/1.1
Host:    diskuse.jakpsatweb.cz
User-Agent:    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15
Accept:    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:    en-us,en;q=0.5
Accept-Encoding:    gzip,deflate
Accept-Charset:    ISO-8859-1,utf-8;q=0.7,*;q=0.7

blaaablaaa:
Vhodnější je zjišťovat jazyk z HTTP hlavičky Accept-Language, což měl zřejmě na mysli srigi (viz Automaticke zjisteji preferovaneho jazyka). Zjištění na základě lokalizace IP adresy by mohlo být až jako doplňkové nebo náhradní řešení.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0