View previous topic :: View next topic |
Author |
Message |
1ONE
Joined: 13 Mar 2004 Posts: 136 Location: Zagreb
|
Posted: 09.01.2005 05:12 Post subject: Jezik |
|
|
E jel ko kada napravio ili mozda zna kako se radi skriptica koja bi na temelju jezika iz browsera ( dakle jezik koji se koristi kao primarni i identifikacijski jezik u pregledniku ) da ide na redirekciju na temelju jezika... jer bi ja htio napraviti da ako imas .hr postavke browsera onda ides na hr stranicu
else
engllish
Ista stvar se moze vidjeti na google-ju. Ako si uzmes firefox sa standardnim postavkama odvest ce te na eng. google .. dake sve na engleskom , a ako si za language stavis Croatian [hr] onda ces imati sve gumbe na hrv + ono "pretraži samo hrv stranice"
Eto ako neko zna... |
_________________ have fun |
|
Back to top |
|
|
maratz mi3.crew
Joined: 24 Nov 2003 Posts: 1207 Location: ZAG
|
|
Back to top |
|
|
1ONE
Joined: 13 Mar 2004 Posts: 136 Location: Zagreb
|
Posted: 09.01.2005 15:30 Post subject: |
|
|
Mah, kaj nije to client side ? Mislim , temeljeno na clientovom browserom ...
Raspolaze se php + mysql tehnologijom. |
_________________ have fun |
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
Posted: 09.01.2005 21:32 Post subject: |
|
|
Noup, to je server-side. Topic moved.
Maratz ti je dao dobar link, a evo ti pocetak funkcije u php-u koja pokusava pogodit jezik postavljen u browseru ovisno od prioriteta i svega sto u tu pricu ide, a neda mi se objasnjavat detaljno jer je tema prilicno opsirna.
Pred kraj funkcije imas u komentarima kaj ti fali, tj. kaj bi trebao sam napraviti jos...
Code: |
function guess_language() {
$acceptLang = (($_SERVER['HTTP_ACCEPT_LANGUAGE'] == '') ? '*' : $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$allscores = array();
$allparts = @preg_split('/,/', $acceptLang);
foreach ($allparts as $part) {
$part = trim($part);
if (preg_match('/;/', $part)) {
$lang = @preg_split('/;/',$part);
$score = @preg_split('/=/',$lang[1]);
$allscores[$lang[0]] = $score[1];
} else {
$allscores[$part] = 1;
}
}
// print_r($allparts); // odkomentiraj ovo da vidis kako izgleda struktura array-a
arsort($allscores, SORT_NUMERIC); // sortiranje score-ova numericki - moze se i bolje, al u principu zadovoljava
reset($allscores); // mjera opreza iako nepotrebna
// tu ti sad fali ostatak koji ces sam napisati
// u osnovi mozes protrcat kroz $allscores i vidjet kaj nutra ima i ak nadjes kaj ti treba
// to returnas iz funkcije, ak ne, onda returnas en il kaj vec hoces
}
|
HTH |
_________________ [+]I[+]am[+]my[+]own[+]religion[+] |
|
Back to top |
|
|
1ONE
Joined: 13 Mar 2004 Posts: 136 Location: Zagreb
|
Posted: 09.01.2005 21:43 Post subject: |
|
|
Ok , tnx |
_________________ have fun |
|
Back to top |
|
|
imbrod Guest
|
Posted: 10.01.2005 12:38 Post subject: |
|
|
moze se to napraviti i server-side i client-side, samo ce biti problem:
- kod nekih starijih browsera (npr. NS 4) koji sve trpaju u 'en'
- ako nije definirana ili je krivo definirana zemlja kod klijenta
kad uhvatim malo vremena, skucat cu ti klijentsku skriptu |
|
|
Back to top |
|
|
imbrod Guest
|
Posted: 10.01.2005 13:45 Post subject: |
|
|
evo kako sam obecao:
var jezik=navigator.systemLanguage;
if (!jezik)
jezik=navigator.language.substr(0,2);
if (jezik=='hr')
{location='hrv.htm';}
else
{location='eng.htm';}
naravno, if petlju nadopuni po potrebi s drugim jezicima...
ali bed je jer ce ti ovo raditi samo u IE i njegovim derivatima (Crazybrowser, Slimbrowser...), dok ce u NS-u, Operi, FFoxu i ostalima vrijednost procitati kao engleski...
Za te stvari potrebno je kodirati server-side skriptu. |
|
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
|
Back to top |
|
|
imbrod Guest
|
Posted: 10.01.2005 15:56 Post subject: |
|
|
ne, ovo je isti k. kao i u moj skripti - daje 'en' na vecini browsera |
|
|
Back to top |
|
|
maratz mi3.crew
Joined: 24 Nov 2003 Posts: 1207 Location: ZAG
|
Posted: 10.01.2005 16:57 Post subject: |
|
|
Samo što ne kužim koji 'k' si zapeo za JavaScript, kada server-side direktno otvara stranicu prema jeziku, bez obzira na browser i uključenost JavaScripta. Kod tvog riješenja, prvo se mora učitati neka stranica da bi se onda redirektalo nakon detekcije, a to je bespotrebno maltretiranje korisnika i servera. |
_________________ STOP HITTING YOURSELF! | NETIQUETTE | TYPETESTER | Hypertext rulez™ | CREATIVE NIGHTS | ACCOMMODATIONS |
|
Back to top |
|
|
1ONE
Joined: 13 Mar 2004 Posts: 136 Location: Zagreb
|
Posted: 10.01.2005 17:04 Post subject: |
|
|
Ma sve je to u redu , mozda je bolja Server Side nego Client , no što sa onima koji nemaju pristup recimo php-u ili asp-u , pa njima dobro dođe ova client-side.
Po meni je nekak bolje napravit prvo jedan index pa onda od tamo ucitat sve korisnicke podatke , itd... nego sve zajedno na jednoj stranici radi...
heh. |
_________________ have fun |
|
Back to top |
|
|
|