• 14-03-2021, 15:22:32
    #1
    Domainimi erisim yapilan ülkeye göre yonlendirme nasil yapabilirim hocalarim

    Dearmoon.org/tr
    Dearmoon.org/en
    Dearmoon.org/jp
    yada
    tr.Dearmoon.org
    en.Dearmoon.org
    jp.Dearmoon.org

    seklinde
    tesekkur ederim
  • 14-03-2021, 15:24:23
    #2
    IP adresinden konumu tespit ederek.
  • 14-03-2021, 15:25:35
    #3
    Uygulama
    Şimdi örnek bir web sitesi düşünelim. Ben konuyu anlatmak adına sitenin menüsü üzerinden gideceğim. Siz de aynı mantıkla sitenin diğer kısımlarına bunu uygulayabilirsiniz. Örneğin sitemizde menümüz şu şekilde olsun.

    <ul>
    <li><a href= "index.php">Anasayfa</a></li>
    <li><a href= "hakkimizda.php">Hakkımızda</a></li>
    <li><a href= "iletisim.php">İletişim</a></li>
    </ul>

    Kodlar

    Şimdi menüde yer alan menü isimleri yerine değişkenler yazıyoruz. Böylece menü isimlerinin dinamik bir hal almasını sağlıyoruz.

    <ul>
    <li><a href= "index.php"><?php echo $diller[’anasayfa’];?></a></li>
    <li><a href= "hakkimizda.php"><?php echo $diller[’hakkimizda’];?></a></li>
    <li><a href= "iletisim.php"><?php echo $diller[’iletisim’];?></a></li>
    </ul>

    Kodlar

    Artık menü isimlerimiz dinamik. Sıradaki işlem bu değişkenlere seçilen dile göre uygun veriyi getirmek.
    Öncelikle sitemizin menü isimlerini tanımlayacağımız dil dosyaları oluşturacağız. Bunun için dil isimli bir klasör oluşturup içine tr.php ve en.php adında iki adet dil dosyası oluşturalım ve değişkenlerimizi burada tanımlayalım.

    //tr.php
    $diller[’title’] = "Test Sayfası ";
    $diller[’anasayfa’] = "Anasayfa";
    $diller[’hakkimizda’] = "Hakkımızda";
    $diller[’iletisim’] = "İletişim";

    //en.php
    $diller[’title’] = "Test Page - zaferk.com";
    $diller[’anasayfa’] = "Home";
    $diller[’hakkimizda’] = "About Us";
    $diller[’iletisim’] = "Contact";

    Kodlar

    Burada her dil dosyasında her bir menünün Türkçe ve İngilizce karşılığı için bir değişken oluşturuyoruz.
    Şimdi dil seçimi olayına bakalım. Dil seçimini session ile tutacağız.

    # Seçili dili kontrol ediyoruz
    if ($_SESSION[’dil’] == "en") {
    $dil = "en";
    }
    elseif ($_SESSION[’dil’] == "tr") {
    $dil = "tr";
    }
    else {
    # Eğer dil seçilmemişse tarayıcı dilini varsayılan dil olarak seçiyoruz
    $dil = substr($_SERVER[’HTTP_ACCEPT_LANGUAGE’],0,2);
    }

    Kodlar

    Burada sistemde seçilmiş bir dil varsa bu seçimi session’dan alıp değişkene atıyoruz. Eğer herhangi bir seçim yapılmamışsa tarayıcı dilini alıp onu varsayılan dil yapıyoruz.
    Sonraki aşama olarak dil seçme butonlarına bakalım. Dil seçim butonları yardımı ile kullanıcı seçimini kodlarımıza iletiyoruz. Ben normalde bu işi jQuery ile yapıyorum ancak burada get metodu üzerinden örnek vereceğim.

    Dil butonlarımız şu şekilde olsun.

    <a class="dilSec" href= "?dil=tr">TR</a>
    <a class="dilSec" href= "?dil=en">En</a>

    Kodlar

    Burada dil seçimini get metodu ile gönderiyoruz.
    Son olarak seçilen dilin sessiona atanması olayına bakalım. Burada get ile gelen dil verimizi session’a atıyoruz.

    # Dil seçimi yapılmışsa
    if($_GET[’dil’]) {
    # Dil seçimini session’a ata.
    $_SESSION[’dil’] = $_GET[’dil’];

    # Anasayfa’ya yönlendir.
    header("Location:index.php");
    }

    Kodlar

    Şimdi kodları toparlayıp yapıya genel olarak bakalım. Kodları sadece link ile veriyorum.

    Kodlar


    Buraya kadar olan kısım sistemin temeli ve bu temelin sitenin ana yapısı üzerine uygulanışı üzerine idi. Ancak çoklu dil yapısında dil seçimi değiştiğinde seçilen dile uygun içeriği de getirmeniz gerekir. Bu kısım sizin veri tabanı yapınız ile alakalı. Ben her bir dildeki veri için ayrı bir kayıt girildiği duruma göre olayı kısaca anlatacağım.

    //Tablo Yapısı
    id baslik icerik
    1 Hakkımızda Hakkımızda Yazısı.
    2 About US About us text.

    Buna göre hakkimizda.php’de şöyle bir kod yapısı işimizi görecektir.

    if ($dil == "en") {
    $ID = 2;
    }else {
    $ID = 1;
    }

    sorgu-> ... WHERE id = ’$ID’

    Dil yapısı genel olarak böyle. Bu mantık üzerine kodları kendi sisteminize uyarlayabilirsiniz.

    Zafer K. arkadaşıma makalesi için teşekkürler.
  • 14-03-2021, 15:36:49
    #4
    Joddey adlı üyeden alıntı: mesajı görüntüle
    Domainimi erisim yapilan ülkeye göre yonlendirme nasil yapabilirim hocalarim

    Dearmoon.org/tr
    Dearmoon.org/en
    Dearmoon.org/jp
    yada
    tr.Dearmoon.org
    en.Dearmoon.org
    jp.Dearmoon.org

    seklinde
    tesekkur ederim
    subdomain şekilde ve her biri birbirinden farklı siteler olacaksa index.php den gelen tarayıcı diline göre yönlendirme yapabilirsin.
  • 14-03-2021, 16:33:14
    #5
    profweb adlı üyeden alıntı: mesajı görüntüle
    IP adresinden konumu tespit ederek.
    webkit adlı üyeden alıntı: mesajı görüntüle
    Uygulama
    Şimdi örnek bir web sitesi düşünelim. Ben konuyu anlatmak adına sitenin menüsü üzerinden gideceğim. Siz de aynı mantıkla sitenin diğer kısımlarına bunu uygulayabilirsiniz. Örneğin sitemizde menümüz şu şekilde olsun.

    <ul>
    <li><a href= "index.php">Anasayfa</a></li>
    <li><a href= "hakkimizda.php">Hakkımızda</a></li>
    <li><a href= "iletisim.php">İletişim</a></li>
    </ul>

    Kodlar

    Şimdi menüde yer alan menü isimleri yerine değişkenler yazıyoruz. Böylece menü isimlerinin dinamik bir hal almasını sağlıyoruz.

    <ul>
    <li><a href= "index.php"><?php echo $diller[’anasayfa’];?></a></li>
    <li><a href= "hakkimizda.php"><?php echo $diller[’hakkimizda’];?></a></li>
    <li><a href= "iletisim.php"><?php echo $diller[’iletisim’];?></a></li>
    </ul>

    Kodlar

    Artık menü isimlerimiz dinamik. Sıradaki işlem bu değişkenlere seçilen dile göre uygun veriyi getirmek.
    Öncelikle sitemizin menü isimlerini tanımlayacağımız dil dosyaları oluşturacağız. Bunun için dil isimli bir klasör oluşturup içine tr.php ve en.php adında iki adet dil dosyası oluşturalım ve değişkenlerimizi burada tanımlayalım.

    //tr.php
    $diller[’title’] = "Test Sayfası ";
    $diller[’anasayfa’] = "Anasayfa";
    $diller[’hakkimizda’] = "Hakkımızda";
    $diller[’iletisim’] = "İletişim";

    //en.php
    $diller[’title’] = "Test Page - zaferk.com";
    $diller[’anasayfa’] = "Home";
    $diller[’hakkimizda’] = "About Us";
    $diller[’iletisim’] = "Contact";

    Kodlar

    Burada her dil dosyasında her bir menünün Türkçe ve İngilizce karşılığı için bir değişken oluşturuyoruz.
    Şimdi dil seçimi olayına bakalım. Dil seçimini session ile tutacağız.

    # Seçili dili kontrol ediyoruz
    if ($_SESSION[’dil’] == "en") {
    $dil = "en";
    }
    elseif ($_SESSION[’dil’] == "tr") {
    $dil = "tr";
    }
    else {
    # Eğer dil seçilmemişse tarayıcı dilini varsayılan dil olarak seçiyoruz
    $dil = substr($_SERVER[’HTTP_ACCEPT_LANGUAGE’],0,2);
    }

    Kodlar

    Burada sistemde seçilmiş bir dil varsa bu seçimi session’dan alıp değişkene atıyoruz. Eğer herhangi bir seçim yapılmamışsa tarayıcı dilini alıp onu varsayılan dil yapıyoruz.
    Sonraki aşama olarak dil seçme butonlarına bakalım. Dil seçim butonları yardımı ile kullanıcı seçimini kodlarımıza iletiyoruz. Ben normalde bu işi jQuery ile yapıyorum ancak burada get metodu üzerinden örnek vereceğim.

    Dil butonlarımız şu şekilde olsun.

    <a class="dilSec" href= "?dil=tr">TR</a>
    <a class="dilSec" href= "?dil=en">En</a>

    Kodlar

    Burada dil seçimini get metodu ile gönderiyoruz.
    Son olarak seçilen dilin sessiona atanması olayına bakalım. Burada get ile gelen dil verimizi session’a atıyoruz.

    # Dil seçimi yapılmışsa
    if($_GET[’dil’]) {
    # Dil seçimini session’a ata.
    $_SESSION[’dil’] = $_GET[’dil’];

    # Anasayfa’ya yönlendir.
    header("Location:index.php");
    }

    Kodlar

    Şimdi kodları toparlayıp yapıya genel olarak bakalım. Kodları sadece link ile veriyorum.

    Kodlar


    Buraya kadar olan kısım sistemin temeli ve bu temelin sitenin ana yapısı üzerine uygulanışı üzerine idi. Ancak çoklu dil yapısında dil seçimi değiştiğinde seçilen dile uygun içeriği de getirmeniz gerekir. Bu kısım sizin veri tabanı yapınız ile alakalı. Ben her bir dildeki veri için ayrı bir kayıt girildiği duruma göre olayı kısaca anlatacağım.

    //Tablo Yapısı
    id baslik icerik
    1 Hakkımızda Hakkımızda Yazısı.
    2 About US About us text.

    Buna göre hakkimizda.php’de şöyle bir kod yapısı işimizi görecektir.

    if ($dil == "en") {
    $ID = 2;
    }else {
    $ID = 1;
    }

    sorgu-> ... WHERE id = ’$ID’

    Dil yapısı genel olarak böyle. Bu mantık üzerine kodları kendi sisteminize uyarlayabilirsiniz.

    Zafer K. arkadaşıma makalesi için teşekkürler.
    left adlı üyeden alıntı: mesajı görüntüle
    subdomain şekilde ve her biri birbirinden farklı siteler olacaksa index.php den gelen tarayıcı diline göre yönlendirme yapabilirsin.
    cok tesekkur ederim hocalarim