arkadaşlar çok dilli siteler her dil için sütun yaratmak çok mantıksız 6 dilli bir sitede
text_tr , text_en, text_fr, text_ru, text_de falan diyemi yaratacaksınız??
hadi müşteri 6ay sonra arapçayı istedi gidip her tabloya text_ar mı ekliceksiniz elinizle?
ben her satıra dil sütunu oluşturdum veriyi girdikten sonra artık hangi GET ten giriyorsa onu ekliyor onda sıkıntı yok ayrıca aynı sayfalar için ortak kod oluşturuyorum mesela
Hakkımızda sayfası id=>1 sayfa_kod=>md5(Hakkımızda) dil=>tr
About Us sayfası id=>2 sayfa_kod=>md5(Hakkımızda) dil=>en
böylece sayfalarda ortak düzenlemeler veya silme işleminde sayfa_kod unu kullanıyorum.
Ama sormak istediğim bu değil
örneğin ben xxx.com/hakkimizda.html linkine direk giriş yaparsam browser diline göre yazıyor veriyi yani ingilizceyse sayfa yine xxx.com/hakkimizda.html kalıyor ancak içerik ingilizce geliyor bunun sakıncası varmı? onu sormak istiyorum. Bi müşterim için yaptım bu sistemi önce google sadece varsayılan dili indexler diye düşünmüştüm ama türkçe sayfalarıda çekiyor sıkıntı yok. Korktuğum şey ise xxx.com/about-us.html i türkçe, xxx.com/hakkimizda.html i ingilizce indexlemesi??
Doğrumu yapıyorum yanlışmı yapıyorum bilmiyorum.
+ olarak dil yapısı örneği vereyim
lang.php }
$diller_sorgu = $db->get_results("SELECT * FROM dil_degisken WHERE dil='". $_SESSION['lang'] ."'");
foreach($diller_sorgu AS diller){
foreach ($diller AS $key=>$value){
define("__". $key . "__",$value);
}
}
bunu header a include edersiniz.
sonra sayfalar içinde
<?=__ana_sayfa__;?> dersiniz böylece
dil_degisken tablosunda ana_sayfa sütununda ve dil sütununda ortaklaşan veri neyse o çıkar.
TABLO YAPISI
id ana_sayfa dil
1 Ana Sayfa tr
2 Home Page en
gibi.. Burdaki mantık nedir açıklayayım örneğin sisteme 3. dil eklemek istiyorsunuz hemen dil_degisken tablosuna 3. bir satır ekliyorsunuz ve sadece dil sütununa kullanacağınız ortak dil iso kodunu ekliyorsunuz
3 "" fr
3 "" ru
2 dil daha eklemiş olduk
sonra bu satırları dil sütununa göre döngüye sokup panelde editleme imkanı sunuyorsunuz.
$diller = $db->get_results("SELECT * FROM diller");
foreach($diller AS $dil)
{
$dil_degisken = $db->get_results("SELECT * FROM dil_degisken WHERE dil='". $dil->iso ."'");
foreach($dil_degiskenler AS $dil_degisken) {
foreach($dil_degisken AS $key=>$value)
echo '<input type="text" name="'. $key .'"' value="'. $value .'"><br/>;
}
}