Počeo sam da radim na novom sajtu koji bi u budućnosti trebalo da bude na n jezika, pa razmišljam kako bi bilo pametno da se to uradi. Evo dokle sam stigao, voleo bih da me neko ispravi ako grešim:
Radeći na jednom ranijem sajtu, utvrdio sam da je detekcija preferiranog jezika u browseru jedna vrlo beskorisna stvar, pošto jako malo (naših) ljudi to drži podešeno kako valja.
Preferirani jezik će se čuvati u cookie-u, a u slučaju da kukija nema sajt će biti na srpskom. Jezik se menja tako što se u adresu doda /sr, /en, /gr... a ja sa druge strane hvatam RegExpom dvoslovne stvari u URIju i proveravam da li se odnose na jezik.
Sama višejezičnost je realizovana tako što u rootu sajta imam direktorijum za jezike, a u njemu poddirektorijume sr, en itd. U tim direktorijumima se nalaze sve sličice specifične za jezik i jedan include fajl u formatu:
PHP kôd:
$l=Array(
"n_kontakt" => "Kontaktirajte nas",
"n_nesto" => "Neki drugi naslov",
"e_nemaga" => "Trazeni artikal ne postoji",
...
);
Radi lakšeg snalaženja razvrstao sam tekstove po prefiksu, tako da se N odnosi na naslov, E na grešku itd. Mislio sam da stavim i encoding u lang fajl, ali pošto će sajt biti rađen u UTF-8 cenim da je to nepotrebno.
Any gotchas?