26 Ocak 2017 Perşembe

Web Sitesi Dil Yönlendirmesi Yapmak


Birden fazla dil alt yapısına sahip web sitemiz olduğunda Ip bazlı sitemize gelen talebe göre link yönlendirmesi yapma gibi ihtiyaçlarımız olabilir.Bunu her sitede her yazılım dilinde kolayca kullanabileceğimiz bir js koduyla yapmak en mantıklısıdır.

Aşağıdaki js kodu ile "freegeoip"  gibi yaygın kullanılan bir api yi kullanarak sitemizin hangi ülkeden açıldığını rahatlıkla takip edebilir ve yönlendirme yapabilirsiniz.

Aşağıdaki kod da "freegeoip" sitesindeki ilgili apiye POST yöntemiyle bir talepte bulunuyoruz ve Ip mzin hangi ülke ve şehire ait olduğu verilerini alabiliyoruz.

Ayrıca localStorage  ı kullanarak sadece sitemize ilk giriş yapan için yönlendirme yapabileceğimiz bir alt yapı sağlamış oluyoruz.Ayrıca url mizdeki url yolunu da alarak ingilizce yada türkçe siteye yönlendirme yaparken yine aynı dosya yoluna yönlendirip ulaşılan sayfanın ingilizcesi yada türkçesine yönlendirme yapabiliyoruz.

<script>
jQuery.ajax( {
  url: '//freegeoip.net/json/',
  type: 'POST',
  dataType: 'jsonp',
  success: function(location) {
   
var isshow = localStorage.getItem('isshow');
    if (isshow== null) {
        localStorage.setItem('isshow', 1);
  var path = window.location.pathname;

    
    if (location.country_code=="TR")//eğer sitemiz türkiyeden açılıyor ise
    {
        //eğer url tr dizinini içermiyor ise türkçe sitede değiliz demektir ve türkçe site yönlendirmesi yapıyoruz.
        if(path.indexOf("tr")<1)
        {
          window.location.href = "http://www.siteadimiz.com/tr/" + path;
        }
      
    }else//eğer sitemiz türkiyeden açılmıyor ise yapılacaklar
{
        
       //eğer sitemizin url sinde tr dizini var ise yani türkiye sitemize bağlanılmış ise yönlendirme yapıyoruz.
        if(path.indexOf("tr")>0)
        {
           window.location.href = "http://www.siteadimiz.com/" ;//+ path;
        }
    }
     }


//freegeoip apisinin bize verdiği diğer tüm bilgiler aşağıdaki gibi.Bu alandaki diğer verileri de kullanarak sitemide gerekli yönlendirme ve işlemleri yapabiliriz.
    // jQuery('#city').html(location.city);
    // jQuery('#region-code').html(location.region_code);
    // jQuery('#region-name').html(location.region_name);
    // jQuery('#areacode').html(location.areacode);
    // jQuery('#ip').html(location.ip);
    // jQuery('#zipcode').html(location.zipcode);
    // jQuery('#longitude').html(location.longitude);
    // jQuery('#latitude').html(location.latitude);
    // jQuery('#country-name').html(location.country_name);
    // jQuery('#country-code').html(location.country_code);
  }
} );

</script>
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.