Nemam bas "mnogo" iskustva ali mislim da moras da pravis duplikat sajt...Inace bi bilo previse slozeno pisat f-je..Sta znam...Kakav sajt imas u planu?U cemu ga radis?
Interesuje me kakva su vaša iskustva sa sajtovima na više jezika, da li je lakše i praktičnije napraviti duplikate stranica (sajt/en/, sajt/de/...), ili postoji još neko rješenje koje bi odgovaralo sajtu koji radi sa mySQL bazom i u PHP-u je.
I dali je u bilo kom rješenju neophodno praviti tabele u bazi sa unosima na više jezika (vijesti_en, vijesti_de..)?
Nemam bas "mnogo" iskustva ali mislim da moras da pravis duplikat sajt...Inace bi bilo previse slozeno pisat f-je..Sta znam...Kakav sajt imas u planu?U cemu ga radis?
pa praviš samo duple vijesti (kad unosiš unosiš istu vijest na više jezika) i ostale stvari koje se dinamički stavljaju, a za "statički dio" staviš neko if prije prikazivanja, pa na osnovu toga prikažeš što treba...
pr:
možeš i da staviš da ako neka vijest ne postoji na jeziku koji se traži-da prikaže poruku da ona postoji na drugim jezicima,...Code:<?php if (isset($_GET["jez"])){ if (trim($_GET["jez"])=="eng"){ ?> HTML kod na englsekom <?php }else if(trim($_GET["jez"])=="nje"){ ?> HTML kod na njemačkom <?php }else{//pretpostavka da je u pitajnu "maternji" ?> HTML kod na maternjem <?php } }else{//nije namješten jezik-pretpostavka maternji ?> HTML kod na maternjem <?php } ?>
kad je dinamički dio u pitanju-recimo da možeš da staviš nešto slično ovome:
uz pretpostavku da je tabela za vijest na engleskom sa imenom vijestieng, na maternjem vijestimat,...Code:<?php $dodtab="mat"; if (isset($_GET["jez"])){ if (trim($_GET["jez"])=="eng"){ $dodtab="eng"; }else if(trim($_GET["jez"])=="nje"){ $dodtab="nje"; }else{//pretpostavka da je u pitajnu "maternji" $dodtab="mat"; <?php } }else{//nije namješten jezik-pretpostavka maternji $dodtab="mat"; } $upit="SELECT * FROM vijesti".$dodtab.",...."; ... ?>
detalje ne mogu kucati, ali mislim da je generalno jasan princip
nadam se da sam bio od koristi
Last edited by db; 27-01-07 at 02:10.
....
ja sam napravio svoje funkcije koje u zavisnosti od jezika iz JEDOG polja u bazi izvlaci dio teksta oznacen tagovima za jezik:
POLJE TEKST:
a mozes opciono da napravis strane za svaki jezik i da uradis sledece:PHP Code:
$jezik="mn";
$tekst="<engpoc>how do you do<engkraj><mnpoc>a vi kako 'te<mnkraj>";
$polje=izvucitekst($tekst,$jezik);
(indexmn.php, indexeng.php)PHP Code:
$jezik="mn";
include "stranaxxx$jezik.php";
Samo kvarni opstaju...
www.minmedia.me
Hvala na brzim odgovorima, db svidja mi se tvoja ideja, tako cu nekako i odraditi.
@ sandman
sajt nije nekog komercijalnog karaktera, vise za svoju dusu i drustvo...
php & mySQL.
Prvi slucaj je dobar. Mozes da napravis da sve bude table driven. Sto znaci, da sve stavljas u bazu. Npr. imas jednu tabelu za jezike. Pa onda za svaki sadrzaj referenciras to na jezike. kasnije pravis front-end gdje stalno vuces neki id_jezika i na osnovu njega citas bazu. Ovo je dobro kad imas vise jezika ili kad ne znas koliko ce jezika da bude na tom sajtu.
Drugi slucaj je da napravis sve na jednom jeziku (npr. php,mysql
) i onda kopiras sve zivo ukljucujuci u bazu. Postavis staticke linkove na svaki jezik (npr. neki padajuci meni u vrhu) i zavrsio si posao. Ovo je dobro kad hoces da uzmes nekme pare "na uvodjenje novog jezika" i tako to.
Ima i treca solucija koju treba izbjegavati. a to je da svaki sadrzaj za jezik uvodis novu kolonu. Ovo je, po mom misljenju, najgluplje rjesenje.
Pozdrav
Mislim da ti je resenje samo za vijesti mnogo lakse da dupliras sajt(dvojezicno), jer se postavlja pitanje sta je sa ostalim sadrzajem na sajtu koji mora da prati taj isti jezik. Resenje koje local nudi je elegantije, ali ni to ne bi bio savjet da ti radis, posto vidim po samoj ideji sta oce, njegove skripte ce povuci sve podatke na odredjenom jeziku, ne samo vijesti.
Kazi sta zelis da se desi kad kliknes na en verziju sajta. Da li se komplet uciava na engleskom ili samo neki podaci?
pa moje rješenje je upravo za sve-kad stavlja dugme postavi onih par if naredbi i za svaki jezik postavi koje dugme da se učita, tako i za ostali sadržaj. prednost u odnosu na više strana je što je dizajn lakši za promijeniti.
a rješenja koje je Local postavio mi se ne sviđa jer u jednoj ćeliji stoji više tekstova (pa se gubi na performansama tokom "vađenja"), a i same promjene i brisanje vijesti na nekom jeziku (a da ostane na ostalima)-mora da se ponovo unosi čitava "ćelija" koja može biti dosta velika ako ima više jezika.
da ne pominjem da je implementacija komplikovanija (kad je unos ili izmjena u pitanju, a i kad je u pitanju brisanje vijesti koja postoji na samo jednom jeziku)
....
db, mogao si da stavish switch umjesto masu ofih if..else... (sala naravno :P)
ofako stefane ofako.....
while True:suplje, prazno = prazno, suplje
Nice db, ali zaboravljas jednu stvar. ako bude radio na taj nacin ima 99% sansi da pogresi u necemu, da zaboravi zagrade ili nesto sl. i onda ce po sata da trazi sta je radio. Ako ce za svako dugme/tekst/sliku da radi if upit da vidi koji je jezik kod ucitavanja strane to traje taman koliko i localovo resenje, Ako mislis da uradi
if(jez==en){ ucitaj citav kod za EN stranu}
else if (jezik=ger){ ucitaj citav kod za GER stranu}
................................................
else {kod za default jezik}
onda je X puta lakse da iskopira kod, uradi ga na jezicima koje treba i ima pregled kako i sta je radio, i lako je za izmjene i dodavanje. Ovako za izmjene treba da procitas hiljade linija koda da bi nesto zamjenio, dodao
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks