• 15-09-2010, 22:43:42
    #1
    Merhabalar

    Arkadaşlar sizlerle ilk defa yazmıştım olduğum dökümanı paylaşıyorum.Bu nedenle sürçü lisan ettiysem affola.

    İlk önce index.php oluşturuyoruz.
    <?php
    echo '<center><title>DIL Kontrol</title>';
    echo '<a href="kontrol.php?dil=TR">TÜRKÇE</a><a href="kontrol.php?dil=TR"></a> - <a href="kontrol.php?dil=EN">ENGLISH</a></div>'."<br>"; 
    echo '</center>';
    ?>
    kontrol.php oluşturuyoruz içine ;
    <?php
    
    $dil =$_GET["dil"];
    include ("$dil.php");
    
    echo '<table width="200" border="1">
      <tr>
        <th scope="col">'.Ana.'</th>
        <th scope="col">'.Dersler.'</th>
        <th scope="col">'.Moduller.'</th>
        <th scope="col">'.Dokumanlar.'</th>
        <th scope="col">'.Haberler.'</th>
      </tr>
    </table>'
    
    ?>
    TR.php oluşturuyoruz içine ;
    <?php
    
    define ("Ana","Anasayfa");
    define ("Dersler","Dersler");
    define ("Moduller","Modüller");
    define ("Dokumanlar","Dökümanlar");
    define ("Haberler","Haberler");
    
    ?>
    EN.php oluşturuyoruz içine;
    <?php
    
    define ("Ana","Home Page");
    define ("Dersler","Lessons");
    define ("Moduller","Moduls");
    define ("Dokumanlar","Documenta");
    define ("Haberler","News");
    
    ?>
    Önizleme - İndir

    Saygılarımla
  • 15-09-2010, 22:48:03
    #2
    tşk güzel bir makale olmuş basit ama gerçekten alıştırma özelliginde olmuş emegine saglık.
  • 15-09-2010, 22:48:51
    #3
    Teşekkürler Coderim eline sağlık ilerde senle beraber scriptde kodlamak isterim kısmet olursa (:
  • 15-09-2010, 22:53:01
    #4
    eyvallah teşekkür ederim.Script kodlamaya başla ben geliyorum.
  • 16-09-2010, 00:32:05
    #5
    Üyeliği durduruldu
    php de dil işlemlerini dizi değişkenler şeklide yaparsanız çok daha faydalı olur.
    örn
    $_yd_anasayfa = array
    (
    "tr" => "anasayfa",
    "en" => "Home"
    );

    böylece bir kelimenin tüm anlamlarını tek bir değişkende ve tüm çevrim işini tek bir dosyada toplamış olursunuz.
    yeni bir dil eklerken de zahmetsizce eklersiniz

    ayrıca aktif dili session da tutarsınız
    örn : $_yd_anasayfa[$_SESSION["lng"]];
  • 16-09-2010, 10:06:59
    #6
    Teşekkür ederim ama ayrı dosyalarda daha düzenli hale getirdim.Sizinkida uygun ama yeni bir dil eklediğimizde sıkıntılar doğuracaktır.
  • 16-09-2010, 10:16:02
    #7
    Elinize sağlık güzel olmuş
  • 16-09-2010, 10:18:48
    #8
    Smarty için;

    Dilli fonksiyonu;

      
    $ayar[dil]="tr";  
    $varolandils = mysql_query("SHOW COLUMNS FROM _diller");
    while ($bilgiiiii = mysql_fetch_array($varolandils)) $varolandiller[] = $bilgiiiii[0];
    
            //  {trans}kelime{/trans}
            function do_translation ($params, $content)
            {
              global $ayar,$d,$dilurl,$varolandiller;
             
              if (isset($content)) 
              {
                $lang = $params['lang'];
                if ($ayar['dil']<>$dilurl)
                {
                  $content=strip_tags(trim(mysql_real_escape_string($content)));
    
                  if (in_array(trim($dilurl),$varolandiller))
                  {
                      $val=$d->get_var("SELECT ".$dilurl." FROM _diller WHERE ".$ayar['dil']." = '$content' ");
                      
                      if ($val) 
                        return $val;
                      else 
                        return $content;
                  }
                  else 
                  {
                    return $content;
                  }
                }
                else return $content;
              }
            }
        
            $s->register_block('dilli', 'do_translation');
    Bu kodların anlamı nedir ?

    Smarty template engine kullananbirisi yaptığı template içine dilin değişmesini istediği yerlerde {dilli}sayfa{/dilli} yazar ve türkçe seçili yaptığında sayfa kelimesini yazacağından farklı bir dil seçildiğinde veritabanındaki o dil sutununda sayfa karşılığı bulunur ve dilli sayfayı o dile çevirir.

    Google api eklenerek köklü çeviriler yaptırılabilir ama türkçe çeviri kalitesi yeterli değil.

    Fonksiyonu fikir vermesi için koydum isteyen istediği gibi yazar, kulanır. Eksik kısımlar vardır ama yapacak bişey yok sayfalarca modül yazmak ayıp olur
  • 16-09-2010, 10:19:01
    #9
    Üyeliği durduruldu
    elinize sağlik güzel bi makale olmuş