Autor Zpráva
Hu GO
Profil *
Zddravím,

existuje nějaká PHP fce, která by vracel jazyk uživatele, nebo aspoň zemi, odkud pochází?
Hledal jsem to v manuálu ale marně...

Díky za rady.
gajdynator
Profil
V php asi nie mozno v JS jazyk Windowsu
Hu GO
Profil *
O JS to vim, tam to jde, ale znamenalo by to špatný dojem při přesměrování, trvalo by to dlouho...
Fakt v PHP nic takového neexistuje?
fimmos
Profil
Jedině v hlavičce, co posílá prohlížeč se podívat na jazyky... Ale není 100%, co taky dnes je...
jozob
Profil
Ono to určite ide... V identifikácii prehliadača (USER_AGENT) sa jazyk môže vyskytovať. Ale nemusí a väčšinou sa ani nevyskytuje. Na server pri HTTP požiadavkách určite príde niečo, čo obsahuje uživateľovú lokalizáciu. A čo sa týka Google, zdá sa mi, že kedysi, keď som zadal Google.com (keď ešte nebola adresa Google.sk), automaticky sa mi nastavil SK jazyk. Keď som zmenil lokalizáciu vo Windows, automaticky sa menila aj lokalizácia v Google. Ale v Google sú iný špecialisti :-) Veľa šťastia, možno s tým niekto bude mať skúsenosti...
llook
Profil
Můžeš testovat proměnnou $_SERVER['HTTP_ACCEPT_LANGUAGE'].

Ale vedle toho je nutné umožnit uživateli zvolit jiný jazyk a jeho volbu si pamatovat. Protože ne každý si může/umí vybrat jazyk svého prohlížeče.
jozob
Profil
llook
Ja som to vedel, že na server niečo také príde :-) Ja ďakujem, určite sa to zíde aj mne...
Tomik
Profil
Zatím je IMHO jediné mořné řešení nechat vybrat návštěvníka a pomocí cookies si volbu pamatovat.
Tomik
Profil
llook
Ehm... takhle to dopadá, když si člověk otevře okno a dostane se k němu až za pět minut...
martin.urx
Profil *
ja to kdysi vyresil takto:

$jazyky = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$cestina = 'cs';
$pos = strpos($jazyky, $cestina);

if ($pos !== false) {
header("Location: cz/index.php");
}
else {
header("Location: en/index.php");
}
Martin
Profil
Zatím je IMHO jediné mořné řešení nechat vybrat návštěvníka a pomocí cookies si volbu pamatovat.
a když nemá zaplé cookies? Sessions by byly lepší.
jozob
Profil
Martin
Sessions sú v podstate cookies, len sa to inak volá a inde ukladá :-)
Ale teraz o to ani tak nejde...
koudi
Profil
martin.urx
No nevim, někde sem myslim viděl, že accept_language posílá těch jazyků víc a ještě k tomu čiśelné vyjádření toho, jak moc ten jazyk preferuješ, takže by bylo lepší z přijatelných jazyků udělat pole a to pak setřídit a vybrat ten, co je preferován nejvíc.
Pachollini
Profil
martin.urx:
Já bych to takhle nedělal, protože pak hrozí, že např. Google zaindexuje web od anglické verze a česká bude podstatně hůř hodnocená. Myslím, že nejlepší je nechat uživatele vybrat, ten jeden klik ho zase tak moc stát nebude...
RAmses
Profil *
Hele lidi musi to prece nejak jit, google to tak ma, kdyz jsem byl v anglii tak mi najizdela anglicka verze, kdyz mi znamy z floridy chtel ukazat svoji reklamu v google tak jsem se musel rucne prepnout na en abych to videl....

Ja to mam ted udelane tak, ze kdyz prijdete na stranku, tak je nastavena cestina, v horni casti je moznost prepnout na cestinu a anglictinu. Zvoleny jazyk mam v url v paramtru lang ktery se pridava na konec url a kdyz jste na strance fix.php a prepnete na anglictinu tak se nacte fix.php v anglictine, takze se nemusite zas proklikavat.

Jazykove verze textu na strance mam ulozene v php souborech v asociativnich polich, takze pro pridani dalsi verze stranek staci tyto soubory prelozit.

Akorat to predavani jazyka v url mi prijde takove krkolomne. Nemohl byste sem nekdo prdnout nejaky stupidni priklad jak to dat do sessions pri vstupu na stranku a pripadne zmenu pri kliknuti na jinou verzi? Ja se teda v sessions moc nevyznam, mam to pouzite akorat pro prihlaseni do user rozhrani
Hu GO
Profil *
Ok, díky: to $_SERVER['HTTP_ACCEPT_LANGUAGE']; pojde použít.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0