• 07-07-2008, 14:52:39
    #1
    s.a arkadaşlar şimdi sitemde sadece türkçe açıklamalar var yazılım açıklamaları hepsini mysql den çekior S:s şimdi ben bu siteye bide ingilizce özellik koymak istiyorum nsl yapıcam mantığı anlatabilirsminiz.
  • 07-07-2008, 15:53:59
    #2
    Üyeliği durduruldu
    öncelikle açıklamaların bulunduğu tabloya yeni bir sütun ekle (örneğin aciklama_eng adında). sonra kullanıcının dil seçeneğini belirlemen gerek. bunu ya üyelik sistemiyle yada cookie/session ile yapabilirsin. hatta ileri gidip ip geo locator kullanabilirsin. daha sonra kullanıcının dil seçeneğine göre db den uygun açıklamayı çekip ekrana bastıracaksın.
  • 08-07-2008, 13:48:54
    #3
    Misal "İndirmek için Tıklayın!" bu yazıyı şu şekilde yazacağız download.php dosyamızın içine;

    [code]
    <? session_start(); ?>
    <? require 'inc/lang-text.php'; ?>
    //diğer kodlar yada başka şeyler buraya gelir
    // ...

    //herşey tamamsa şimdi aşağıdaki gibi yazımızı basacağız ekrana

    <? echo $lang['indirmek_icin_tiklayin']; ?>


    <?
    //lang-text.php
    require 'dil-belirle.php';
    
    foreach($dil_ayar AS $dilanahtar=>$dildeger)
    {
      echo '&nbsp; <a href="index.php?lang='.$dilanahtar.'"> <img src="img/site-img/flags/'.$dildeger[2].'" id="'.$dilanahtar.'" alt="'.$dildeger[1].'" /></a>';
    }
    ?>
    //dil-belirle.php
    
    <?
    
    //HER DİL İÇİN BURAYA DİL KISA ADINI ve DOSYA ADINI YAZIN
    //Buraya Eklenilen Her Dil Anasayfada Otomatik Olarak Görünecektir...
    $dil_ayar['tr'] = array('turkish.php','Türkçe','tr.gif');
    $dil_ayar['en'] = array('english.php','English','en.gif');
    
    //Dil Dosyalarının Olduğu Klasör
    define("DIL_KLASOR",'inc/lang');
    
    //DİL AYARLARI
    $ses_lang = $_SESSION['oturum_dil'];
    @ $gelen_dil      = $_REQUEST['lang'];
    @ $oturum_dil     = $_SESSION['oturum_dil'];
    @ $varsayilan_dil = 'tr';  //SİTE İLK AÇILDIĞINDA GEÇERLİ SAYFA DİLİ
    
    $site_dil = $varsayilan_dil;
    
    if (empty($gelen_dil))
    {
      if (!empty($oturum_dil))
      {
        $site_dil = $oturum_dil;
      }
    } else {
      if (is_array($dil_ayar[$gelen_dil]))
      {
        $site_dil = $gelen_dil;
        $_SESSION['oturum_dil'] = $gelen_dil;
      }
    }
    
    //DİL DOSYASININ SAYFAYA EKLENMESİ
    $dil_dosyasi = DIL_KLASOR.'/'.$dil_ayar["$site_dil"][0];
    
    //Dil Dosyasının Olup Olmadığı Kontrol Ediliyor
    if (file_exists($dil_dosyasi))
    {
      include($dil_dosyasi);
    } else {
      echo '<div align="center" style="color:#ff0000">HATA: Seçilen '.$dil_dosyasi.' Adresindeki Dosya Bulunamadı!</div>';
      include(DIL_KLASOR.'/'.$dil_ayar["$varsayilan_dil"][0]);
    }
    ?>
    Bir de lang adında bir klasör yaratıp içine de english.php turkish.php yapmalıyız ki dil verilerini okuyalım.

    <?php
    // turkish.php - english.php de aynı bu şekilde yapılır
    $lang = array();
    
    // Menu
    $lang['indirmek_icin_tiklayin'] = 'İndirmek için Tıklayın!';
    ?>
    Sorunuzu bu şekilde anladım, umarım yardımcı olmuşumdur.
  • 09-07-2008, 09:20:01
    #4
    başka daha kolay bir yöntm varmı acaba :/ örnek kolay kodlama