Mam za sebou par vicejazycnych webu v phpRS a trosku se rozepisu.
Princip vice na sobe nezavislych phpRS s ruznou predponou jsem zavrhl hned na zacatku; mit tri administrace a spravovat to pres ne, to je dost silene.
V databazi mam treba policko "uvod", to jsem rozmnozil na tri uvod_cz, uvod_en a uvod_ru (z toho vyplyva i zmena insertu, updatu a formularu v administraci). Takhle se vsemi policky, ktere musi byt vicejazycne.
V config.php jsem zavedl promennou $rsjazyk="cz"; a vsechny skripty, ktere vybiraji z databaze ve venkovni sekci jsem prepsal asi takhle:
select uvod_".$GLOBALS["rsjazyk"]." as uvod from ".$GLOBALS["rspredpona"].".
S tou promennou v config.php je to pripad, kdy to jede na vice domenach; treba bgv.cz/en, bgv.cz/cz a bgv.cz/ru. Tam se proste vytvori nejdrive jedna instalace s upravenou databazi, pak se zkopiruje do jineho adresare, prenastavi se jazyk a jede to ze stejne databaze.
V pripade, ze by to melo jet pouze na bgv.cz, lze to resit pres cookies; tzn $rsjazyk nastavovat pres cookies (default treba cz a kdyz zmena tak en nebo ru).
Samozrejme osetrit, ze se clanek zobrazi v te mutaci jen kdyz je vyplnen jeho titulek atd; to uz ale neni problem.
Dovolim si odkaz na reseni pres cookies: [
http://www.nmf.cz/rcf/]
Reseni pres config.phpnemohu zatim z urcitych duvodu ukazat.
Vsechno jede samozrejme na utf-8; je s tim nejmene problemu. V databazi ma uvod_cz nastavene kodovani utf8_czech_ci, ru a en mutace maji utf8_general_ci.
Na zaver screen administrace a phpMyAdmina.
[IMG]http://img164.imageshack.us/img164/1751/vicejazykov3.th.png[/IMG]
[IMG]http://img219.imageshack.us/img219/6205/myadminnc6.th.png[/IMG]
PS: Proc jsem to sem napsal? Treba az to nekdo bude delatim, pomuze mu to.
PPS: Právě finišuju s jedním cz/en/ru webem. Samozřejmě že kód poskytnout nemohu, ale mohu poradit, takže směle do toho :-) Třeba převod azbuky na "seo link" v latince by se mohl hodit. Azbuka v url totiz nedela moc dobre veci :-)
--
[ SAFUS.EU | OFFLINE | FOREVER ]
Celkem upraveno 2×. Poslední úprava Michalek v 14.08.2006 20:25.