lostyazilim
tr.link

Website Girişte Otomatik Dil Çevirmesi Hakk.

7 Mesajlar 1.811 Okunma
lstbozum
tr.link

ricird ricird WM Aracı Kullanıcı
  • Üyelik 30.10.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek BT
  • Konum İstanbul Avrupa
  • Ad Soyad E** Y**
  • Mesajlar 31
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
Merhabalar Arkadaşlar,

.HTML web sitemin ziyaretler de yurt dışı özellikle, misal hollandadan ziyaretçi siteme baktığında hemen dili hollandaya göre otomatik çevirmesini istiyorum. Facebook gibi siteler de yanılmıyorsam bu denli çeviri yapmakta girişte.

Bu denli uluslararası eklentisiz bayraksız tıklamadan otomatik ülkeye göre çeviri yapabilen teknik metot kod var mıdır arkadaşlar?
 

 

wmaraci
reklam

basich basich WM Aracı Kullanıcı
  • Üyelik 24.08.2018
  • Yaş/Cinsiyet 28 / E
  • Meslek Maliyeci
  • Konum Uşak
  • Ad Soyad L** H**
  • Mesajlar 890
  • Beğeniler 109 / 319
  • Ticaret 8, (%100)
Giren kişinin ip sine göre ayarlayabilirsin hocam. Her ülkenin belirli bir ip aralığı var. Onları bulursan ayarlayabilirsin.
ricird

kişi bu mesajı beğendi.

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)
Browser diline göre ayarlayamak daha mantıklı. Nihayetinde Ingiltere'den sitenizi ziyaret eden kişi ingiliz olmak zorunda değil Türk de olabilir. Browser dili neyse o dili konuşuyordur.
ricird

kişi bu mesajı beğendi.

ricird ricird WM Aracı Kullanıcı
  • Üyelik 30.10.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek BT
  • Konum İstanbul Avrupa
  • Ad Soyad E** Y**
  • Mesajlar 31
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
@basich @Okan_IŞIK uygun kod modifikasyonu paylaşımı yapar mısınız?
 

 

wmaraci
wmaraci

BackendDeveloper BackendDeveloper Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 19.12.2018
  • Yaş/Cinsiyet 41 / E
  • Meslek Backend Developer
  • Konum Antalya
  • Ad Soyad İ** D**
  • Mesajlar 85
  • Beğeniler 6 / 28
  • Ticaret 0, (%0)

$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$langarray = ['tr', 'en', 'de'];
$lang = in_array($lang, $langarray) ? $lang : 'en';
require_once "index_{$lang}.php";


Yukaridaki kod blogu browser dilini bulup izin verilen diller ile karşılaştırıp o dilin index sayfasını çeker.
VipTema ricird

kişi bu mesajı beğendi.

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)
Şöyle bir fonksiyon yazmıştım kendi sitem için;


function dil($id){

global $db;

$varsayilan = $db->from('siteayarlari')
->select('dilsecimi')
->first();

$dil_teshis = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);

if (isset($id)) {

if ($dil_teshis == 'en'){

$dil = $db->from('dil_en')->where('id',$id)->first();

return $dil['cumle'];

}elseif($dil_teshis=='tr'){

$dil = $db->from('dil_tr')->where('id',$id)->first();

return $dil['cumle'];

}elseif($dil_teshis=='de'){

$dil = $db->from('dil_de')->where('id',$id)->first();

return $dil['cumle'];

}elseif($dil_teshis=='az'){

$dil = $db->from('dil_az')->where('id',$id)->first();

return $dil['cumle'];

}else{

$dil = $db->from($varsayilan['dilsecimi'])->where('id',$id)->first();

return $dil['cumle'];
}
}
}


Bu fonksiyona göre diller veritabanında tutuluyor şu şekilde yazarsın.
tablo adı dil_tr, dil_az, dil_en... Tarayıcı diline göre cümleleri o tablodan çeker. Eğer tarayıcının dilini henüz oluşturmadıysan varsayılan olarak bir dil göstermelisin ben bunu site ayarları tablomdan tr_dil olarak çekiyorum. Fonksiyonumun başında bunu ekledim. Bu şekilde varsayılan dili de yönetim panelinden düzenlenebilir yapman mümkün oluyor.

Veri tabanında tutma nedenim ise tüm dilleri kendim yazamayacağımdan, script kullanıcılarının yönetim panelinden bu dilleri ekleyebilmesini veya düzenleyebilmesini istememdi. Böylesi daha esnek.

Örnek vermek gerekirse;
dil_tr
id|cumle
1| Hoşgeldin

dil_en
id|cumle
1| Welcome

Kullanımı ise şöyle;



//ÇIKTI
//En tarayıcıda Welcome
//Tr tarayıcıda Hoşgeldin


Ekstra bilgi; fonksiyon içerisinde kullandığım pdo yapı tayfun erbilenin basicdb classıdır.
Ekstra bilgi2; test edebilmek için tarayıcının dilini değiştirmen yeterlidir.
ricird

kişi bu mesajı beğendi.

ricird ricird WM Aracı Kullanıcı
  • Üyelik 30.10.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek BT
  • Konum İstanbul Avrupa
  • Ad Soyad E** Y**
  • Mesajlar 31
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
@BackendDeveloper @Okan_IŞIK gerekli kod ve metot paylaşımınız için teşekkürler, hemen uygulamaya başlıyorum esen kalın arkadaşlar.
VipTema

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al