Szeretném megkérdezni, hogy valahogy javascript-tel vagy php-val le lehet-e kérdezni a honlapot megjelenítő számítógépen levő windows vagy böngésző nyelvét.
csak kábéra lehet megmondani ...
szerver oldalon az Accept-Language (esetleg Accept-Charset) fejlécből, print($_SERVER['HTTP_ACCEPT_LANGUAGE']);
ez nem feltétlen a valóság, mert az Accept-Language fejléc arra való, hogy a böngésző közölje, ő milyen nyelvű tartalmakat preferál ...
egyes böngészők az User-Agent fejlécben is feltüntetik, milyen nyelvűek ők ... nálam valahogy így néz ki:
Mozilla/5.0 (Windows; U; Windows NT 5.0; hu-HU; rv:1.7) Gecko/20040803 Moonjackalope/0.9.3
google barátomat megkérdezve, harmadik válaszban megemlítenek egy olyan tulajdonságot, hogy navigator.language ami Firefox-ban nekem a hu-HU szöveget adta vissza, míg internet explorer-ben nem definiált tulajdonság :-/
Az előtöltés nélküli CSS képcsere kitalálójának oldala van kétnyelvűen megoldva, méghozzá úgy hogy egyszerre megjelenik mindkét változat, csak az inaktiv kicsiben.
Ez nem feltétlenül megoldás a problémára, inkább csak érdekesség.
Egyszer én is eljátszadoztam ezzel, de végül úgy döntöttem, hogy egyszerűbb ha a kliens ip címe alapján döntöm el, hogy milyen nyelvű legyen az oldal:
http://ip-to-country.directi.com
megj: arra mindenképpen ügyeljél, hogy akárhogy is találod ki a felhasználó nyelvét, ad meg neki a váltás lehetőségét!
Ha a hostnévre gondoltál, akkor szerintem ez csak korlátozottan használható. A .hu-nál jó, de elég sok látogató jön nemzetközi végződésű hostnévről: .net, .com, .org...
Ha van mód az ip szám alapján területet meghatározni (futásidőben), az engem is érdekelne.
nem nehéz írni programot, ami megfelelőn keresgél abban a filében,
én fogtam az egészet és átraktam MySQL-be, hogy ennyire egyszerűsödjön a dolgom:
$ország = @mysql_result(mysql_query('SELECT country FROM ip2country WHERE `from`<='.ip2long($_SERVER['REMOTE_ADDR']).' AND `to`>='.ip2long($_SERVER['REMOTE_ADDR']).' LIMIT 1'), 0, 0);
igen/nem
csak kábéra lehet megmondani ...
szerver oldalon az Accept-Language (esetleg Accept-Charset) fejlécből,
print($_SERVER['HTTP_ACCEPT_LANGUAGE']);
ez nem feltétlen a valóság, mert az Accept-Language fejléc arra való, hogy a böngésző közölje, ő milyen nyelvű tartalmakat preferál ...
egyes böngészők az User-Agent fejlécben is feltüntetik, milyen nyelvűek ők ... nálam valahogy így néz ki:
Mozilla/5.0 (Windows; U; Windows NT 5.0; hu-HU; rv:1.7) Gecko/20040803 Moonjackalope/0.9.3
google barátomat megkérdezve, harmadik válaszban megemlítenek egy olyan tulajdonságot, hogy
navigator.language
ami Firefox-ban nekem a hu-HU szöveget adta vissza, míg internet explorer-ben nem definiált tulajdonság :-/amúgy, mihez kell/kéne mindez?
bbalint
Kedves bbalint! Köszi a t
Köszi a tanácsokat.
Ahhoz kellene ez nekem, hogyha a böngésző vagy Windows magyar, akkor a magyar nyelvű honlapom nyíljon meg, ha nem magyar, akkor az angol nyelvű.
Agi
egyszerre
Ez nem feltétlenül megoldás a problémára, inkább csak érdekesség.
ip-to-country
http://ip-to-country.directi.com
megj: arra mindenképpen ügyeljél, hogy akárhogy is találod ki a felhasználó nyelvét, ad meg neki a váltás lehetőségét!
ip-to-country
Üdv
Agi
hostnév alapján?
Ha van mód az ip szám alapján területet meghatározni (futásidőben), az engem is érdekelne.
Üdv: Thom
[olvass vissza]
nem nehéz írni programot, ami megfelelőn keresgél abban a filében,
én fogtam az egészet és átraktam MySQL-be, hogy ennyire egyszerűsödjön a dolgom:
bbalint
Köszi
Ez tényleg jó cucc. Most próbálgatom.
Üdv: Thom
navigator.browserLanguage
if (navigator.browserLanguage == 'hu') {
...
} else {
...
}
}
IE6, Firefox, Opera7.54 érti a fentieket.
Udv: Norbi