• 08-03-2009, 15:30:17
    #1
    Merhaba arkadaşlar,

    Google Çeviri sayesinde siteme çoklu dil desteği eklentisi ekledim. Eklentinin sitede oluşturduğu bayraklara tıklayınca sitenin dili değişiyor.
    Örnek olarak;
    w w w . s i t e a d i .c o m/ >>> Türkçe
    w w w . s i t e a d i .c o m/en/ >>> İngilizce
    w w w . s i t e a d i .c o m/it/ >>> İtalyanca

    vs. bu şekilde linkler oluştu. İnternette herkes benim şuan istediğimi istiyor ama aramama rağmen bir sonuç bulamadım. Tarayıcısı İtalyanca olan bir kişi siteye girdiğinde otomatik olarak "http://www.siteadi.com/it/" adresine yönlendirilmesini istiyorum. Tarayıcıya göre olması şart değil IPsine göre olursa da olur ama tarayıcı olursa daha sağlıklı.

    Şimdiden Teşekkürler.
    Yardımlarınızı bekliyorum.
  • 08-03-2009, 16:08:57
    #2
    <?
    function lang (){
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
    print 'lg=tr';
    } else {
    print "$lg";
    }
    }
    print lang();
    ?>
  • 08-03-2009, 20:45:24
    #3
    arkadaşım kodu biraz açıklarmısın ayrıca sanırım verdiğin kodlar benim istediğim kodlar değil.
    Bak ben türkçesini konuşayım yazabilen varsa yazsın lütfen...

    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İngilizce. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/en/ git... "

    Başka bir tarayıcı geliyor
    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İtalyanca. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/it/ git... "

    umarım kendimi tam olarak anlatabildim...
    Not: Alttaki mesajda verilen kod denendi hata ile karşılaşıldı...
  • 08-03-2009, 20:52:17
    #4
    tibos adlı üyeden alıntı: mesajı görüntüle
    arkadaşım kodu biraz açıklarmısın ayrıca sanırım verdiğin kodlar benim istediğim kodlar değil.
    Bak ben türkçesini konuşayım yazabilen varsa yazsın lütfen...
    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İngilizce. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/en/ git... "
    Başka bir tarayıcı geliyor
    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İtalyanca. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/it/ git... "
    umarım kendimi tam olarak anlatabildim...
    Not: Alttaki mesajda verilen kod denendi hata ile karşılaşıldı...
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $git = "http://www.site.com/".$lg."/";
    header("Location: $git");
    ?>
  • 08-03-2009, 21:39:49
    #5
    Alıntı
    arkadaşım kodu biraz açıklarmısın ayrıca sanırım verdiğin kodlar benim istediğim kodlar değil.
    Bak ben türkçesini konuşayım yazabilen varsa yazsın lütfen...
    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İngilizce. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/en/ git... "
    Başka bir tarayıcı geliyor
    " Tarayıcıya soruyorum senin dilin ne? bana diyoki İtalyanca. bende diyorum ki o zaman sen h t t p : w w w . s i t e a d i .c o m/it/ git... "
    umarım kendimi tam olarak anlatabildim...
    Not: Alttaki mesajda verilen kod denendi hata ile karşılaşıldı...
    Zaten verdiğim kod dediğinle aynı şey.Sadece kendinize göre değiştireceksiniz.Nette araştırısanız bir çok örnek var .
       <?
    
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){ //dil tr ise 
    print 'TR YÖNLENDİRME KODU GELECEK';
    } 
    if ($lg == 'EN'){ //dil EN ise 
    print 'EN YÖNLENDİRME KODU GELECEK';
    }
    if ($lg == 'DE'){ //dil DE ise 
    print 'DE YÖNLENDİRME KODU GELECEK';
    } 
    
    
    ?>
  • 08-03-2009, 23:38:18
    #6
    kale2000 ve LaCReMeL arkadaşlara yardımlarından dolayı çok tşk ediyorum.
    LaCReMeL arkadaşın verdiği kodu çalıştırabildim, tam istediğim gibi. Yanlız şöyle birşey daha isteyeceğim.
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $git = "http://www.site.com/".$lg."/";
    header("Location: $git");
    ?>
    Buradaki kodları direkt eklediğimde yer "tr" olduğunda
    w w w . s i t e a d ı . c o m/tr/ şeklinde bağlanıyor. sadece TR için istisna bişe yapabilirmiyiz. TR ise w w w . s i t e a d ı . c o m şeklinde girsin. Çünkü site zaten türkçe.
    yani TR den giriyorsa direkt sitenin adresi açılsın eğer TR den girmiyorsa LaCReMeL arkadaşın dediği kod çalışsın???
    Tekrar tşkler.
  • 08-03-2009, 23:48:51
    #7
    Üyeliği durduruldu
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    
    if ($lg == 'tr') {
    $git = "http://www.site.com/";
    }
    
    else {
    $git = "http://www.site.com/".$lg."/";
    }
    header("Location: $git");
    ?>
    bu şekilde.
  • 09-03-2009, 01:02:41
    #8
    mxunal adlı üyeden alıntı: mesajı görüntüle
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr') {
    $git = "http://www.site.com/";
    }
    else {
    $git = "http://www.site.com/".$lg."/";
    }
    header("Location: $git");
    ?>
    bu şekilde.
    bu şekilde bir döngü içine girer cikamaz anasayfayi acar dil kontrolünde tekrar anasayfayi acar ana sayfayi tekrar acinca yine dil kontrolünde yine ana sayfayi acar yine ana sayfaya gelince yine dil kontrolünde yine anasayfayi acar... böyle uzar gider
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg != 'tr') {
    $git = "http://www.site.com/".$lg."/";
    header("Location: $git");
    }
    ?>
    bu şekilde denermisin
  • 09-03-2009, 03:04:22
    #9
    mxunal, LaCReMeL arkadaş haklı sonu gelmeyen bir döngü içerisine giriyor. Dolayısıyla sayfa hiç açılamıyor.

    LaCReMeL verdiğin kod işe yaradı, yardımların için çok tşkler