Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 7. 12. 2006, 19:07:22
Ahoj,
nemate prosim nekdo skript (nebo odkaz na skript), ktery by si z http hlavicek zasilanych webbrowserem automaticky zjistil preferovany jazyk a podle toho automaticky zvolil jazykovou mutaci? Proste neco, co dela google - kdyz mam jako preferovany jazyk cs, podstrci ceskou, kdyz en, anglickou ... Diky moc. |
||
jonge Profil |
#2 · Zasláno: 7. 12. 2006, 19:10:24
Zkus se podívat na $_SERVER['HTTP_ACCEPT_LANGUAGE'];
|
||
nightfish Profil |
#3 · Zasláno: 7. 12. 2006, 19:11:35
$jazyky = split(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (isSet($jazyky[0])) { switch ($jazyky[0]) { case "cs": presmerujNaCeskouVerzi(); break; case "en": case "en-us": presmerujNaAnglickouVerzi(); break; default: presmerujNaNejakouVychoziVerzi(); } } |
||
ernesto Profil * |
#4 · Zasláno: 7. 12. 2006, 19:11:44
to neřeš zádným skriptem, vypiš si ty http hlavičky - a v nich najdeš nebo nenajdeš podle čeho to rozstřelíš
|
||
gaminn Profil * |
#5 · Zasláno: 7. 12. 2006, 22:12:53
Použití
$jazyky = split(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); a následná manipulace s $jazyky[0] nemusí být přesná, pokud má uživatel více preferovaných jazyků (ten první nemusí být ten, který má být primárně užíván, dokonce by mohla nastat taková věc, že na prvním místě bude jazyk, který uživatel nechce za žádných okolností). Takováhle maličkost: $str = "en;q=0.5, fr;q=0.0, nl;q=1.0, tr;q=0.0"; preg_match_all("/([a-z]{2});q=(\d\.\d)/", $str, $s); $jazyky = array_combine($s[1], $s[2]); arsort($jazyky); print_r($jazyky); by to měla spravit. |
||
Anonymní Profil * |
#6 · Zasláno: 7. 12. 2006, 22:21:10
gaminn: Perfektni, to je presne ono, diky moc!
|
||
Anonymní Profil * |
#7 · Zasláno: 7. 12. 2006, 22:24:45
gaminn:
V tom tvem prikladu nevidim nikde promennou $s. A jakou funkci zde ma napevno definovana promenna $str? Diky |
||
gaminn Profil * |
#8 · Zasláno: 7. 12. 2006, 22:30:39
Anonymní
Hodnota se do proměnné $s dostává uvnitř funkce preg_match_all (proměnná je předána dovnitř funkce pouze jako reference). Záměnu $str na řetězec s http hlavičkou posílanou klientovým počítačem snad zvládneš ne? |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0