Automatska promena jezika na sajtu!!!

Automatska promena jezika na sajtu!!!

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Mozda ce glupo da zvuci ali mi palo nesto na pamet da li je moguce mislim izvodljivo ili da li je osmisljeno da na primer na sajtu imas mogucnosti da biras 4 jezika. I sada kada neko iz srbije udje na sajt sajt mu se otvara automacki na srpskom. Neko iz evrope tamo engleske udje na sajt on se automacki otvara na engleskom jeziku. I tako sve obrnuto. Iz kojeg god regiona da se udje da se prikaze odredjeni prevod....

Neznam mozda moze da se izmiksuje nesto sa JavaScriptom da se uradi tipa kao sto je scripta koja proverava vremensku zonu ili kao sto je scripta koja ucitava style (CSS) po odredjenoj rezoluciji i pretrazivacu posetilaca. E sada na ovu foru kada kao sto je navedeno ovo za style isto tako samo obrnuto ne proverava koji browser koristi ni koju rezoluciju koristi vec zemlja iz koje pristupa sajtu....
Ovo gore je samo primer za vreme i za style!!

Jel ima toga uopste ili sam ja jedini marsovac kome je to palo na pamet Very Happy



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 20 Jan 2010
  • Poruke: 142
  • Gde živiš: Beograd

neko je objavio na mycity-u sajt (stranu) koji odkriva ip i zemlju u kojoj zivis!ne znam puno o php-u ali moza bi mogao da preko te skripte izprogramiras da ako je iz srbije napravis redirekciju za srpski jezik!
Very Happy mislim da nisam ispao budala? Confused ili mozda jesam? Confused i da mislim da si jedini koji je to pomislio!u svakom slucaju sjajna ideja! Wink



offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3747
  • Gde živiš: 127.0.0.1

<?php $xml = file('http://ipinfodb.com/ip_query_country.php?ip='.$_SERVER['REMOTE_ADDR']);    for ($i=3;$i<6;$i++) {       $xml[$i] = trim(str_replace("\n","",$xml[$i]));       preg_match("@<([a-zA-Z]+)>(.+)</([a-zA-Z]+)>@Ui",$xml[$i],$tmp);       echo "<b>".$tmp[1].": </b>" . $tmp[2] . "<br />";    } ?>

To bi trebalo da ti vrati ovako nesto:

Citat:Status: OK
CountryCode: RS
CountryName: Serbia


Sa cim vec mozes da se igras i prikazujes koji jezik zelis Wink

Btw, moja preporuka ti je da skines najnoviju bazu sa tog sajta, cisto da ne bi zavisio od brzine tudjeg servera i njegove eventualne nedostupnosti.

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Napisano: 02 Jul 2010 1:40

ok hvala na odgovoru ovako nesto sam i ja razmisljao ali ne potpuno ovako... Ali kako ja sada da testiram ovo Very Happy Ko je iz evrope ili tamo neke zelje?

Dopuna: 02 Jul 2010 14:47

cek rasta moze ovako!
Kada neko krene da udje na sajt ova scripta sto si mi dao se pokrece proveri zemlju odakle je pristupljeno sajtu i onda se igram sa iskazima
IF i ELSE

pre toga definisem ako je korisnik iz Francuske proveri odakle potice posetilac ako je iskaz tacan (TRUE) vrati francuski prevod (TRUE) u suprotnom vrati (FALSE) ili Prevod Engleskog ili SRB. ?

Mozda gresim ispravi me ako sam negde pogresio!!!

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3747
  • Gde živiš: 127.0.0.1

Za pocetak, jedan prijateljski savet: Kad napises neki post, pre nego sto kliknes na dugme "objavi", procitaj ga jos jednom.

Citat:pre toga definisem ako je korisnik iz Francuske proveri odakle potice posetilac ako je iskaz tacan (TRUE) vrati francuski prevod (TRUE) u suprotnom vrati (FALSE) ili Prevod Engleskog ili SRB. ?

Proveravas odakle je posetilac iz Francuske (?!?), pa ako nije, onda mu nasumicno bacis srpski ili engleski?

Nazad na kod, ubio bi se ovde sa IF/ELSE, postoji mnogo bolji nacin da se uradi isti kod: switch.

<?php    $xml = file('http://ipinfodb.com/ip_query_country.php?ip='.$_SERVER['REMOTE_ADDR']);    for ($i=3;$i<6;$i++) {       $xml[$i] = trim(str_replace("\n","",$xml[$i]));       preg_match("@<([a-zA-Z]+)>(.+)</([a-zA-Z]+)>@Ui",$xml[$i],$tmp);       $geo[$tmp[1]] =  $tmp[2];    }    if ($geo['Status'] == 'OK') {       //ako je "utvrdjena zemlja       switch ($geo['CountryCode']) {          default: case 'RS': case 'HR': case 'BA': case 'ME':             include "langs/srpski.php";             break;          case 'US': case 'GB': case 'UK':             include "langs/english.php";             break;          case 'FR':             include "langs/france.php";             break;          case 'ES':             include "langs/espanol.php";             break;       }    }    else {       //ako nije, prikazi default jezik       include "langs/srpski.php";    } ?>

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Ivane, ja ti iskreno preporucujem da odes na neki kurs programiranja ili nesto jer ti bez logike programiranja nemas nista iako mozes da znas sintaksu 100 jezika.

if ($lok=="France") { $jezik = "francuski";} elseif ($lok=="Serbia") {  $jezik = "srpski";} else { $jezik = "engleski";}

Ispitaj lokaciju ako se podudara sa jednim od uslova uzmi taj jezik ako ne postavi jezik na engleski. < Ukratko sta sam ti sad napisao u onom kodu.

ili ispitaj CASE naredbu

Ko je trenutno na forumu
 

Ukupno su 1165 korisnika na forumu :: 42 registrovanih, 8 sakrivenih i 1115 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bobrock1, Brana01, cavatina, darkojbn, deLacy, Denaya, gorican, gzoki, hatman, havoc995, ikan, Istman, Karla, kikisp, Kubovac, kunktator, laganini123, laki_bb, ljuba, Mcdado, mercedesamg, Mercury, Mixelotti, mnn2, mrav pesadinac, nebkv, nemkea71, panzerwaffe, pein, Ripanjac, S2M, saputnik plavetnila, shone34, slonic_tonic, Smiljke, stegonosa, suton, vesthepes, YugoSlav, zeo, |_MeD_|, 1107