• 18-08-2008, 19:01:12
    #1
    ingilizce dil dosyan aşaıdaki gibi olsun
    eng.php PHP Kodu:
    <?php
    $h
    ='Welcome';
    ?>

    Türkçe dil dosyan aşağıdaki gibi olsun.
    tr.php
    PHP Kodu:
    <?php
    $h
    ='Hoş geldiniz';
    ?>


    esas programında aşağıdaki gibi olsun.
    dosys.php

    PHP Kodu:
    <?php
    session_start
    ();
    if(
    $_GET['dil']=='en'){
    $dil='eng.php';
    }elseif(
    $_GET['dil']=='tr'){
    $dil='tr.php';
    }
    $_SESSION['dil']=$dil;
    if(!
    $_SESSION['dil']){
    $dil='tr.php';
    $_SESSION['dil']=$dil;
    }
    ?>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <?php
    include($_SESSION['dil']);
    echo
    $h;
    ?>
    <a href="dosys.php?dil=en">ingilizce</a>|<a href="dosys.php?dil=tr">Türkçe</a>
    </body>
    </html>

    cevizde arkadaslar böyle bir örnek vermiş güzel hoş.anlamadğım nokta bnm sitede yüzlerce yer var ingilzice olması gereken nsl ayarıcam bide örnek kod varmı acaba örnek bir script bu mantıkta 2 dil olarak çalışan şimdiden teşekkürler
  • 18-08-2008, 19:07:53
    #2
    aslında o durumu şöyle toparlayabilirsin...

    <?
    // Eng
    define("welcome","Hoşgeldiniz");
    ?>

    bu sayfayı lang-en.php olarak kaydettiğini düşün..

    <?
    include 'lang-en.php';
    echo welcome;
    ?>

    hoşgeldiniz olur... :S
    dil mantığında ben bunu kullanıyorum ama... bilemem tabi..
  • 18-08-2008, 19:08:47
    #3
    ama snnkinde sürekli en yapmam gerekicek session ile 1 kez en e tıklamak yeterli olcak snrm:s
  • 18-08-2008, 19:10:31
    #4
    Mantık doğru biraz daha değiştirilebilir.

    Ancak bunu sitene uyarlamak istersen siteni baştan aşağıya editmen lazım
  • 18-08-2008, 21:55:56
    #5
    ozk4n adlı üyeden alıntı: mesajı görüntüle
    ama snnkinde sürekli en yapmam gerekicek session ile 1 kez en e tıklamak yeterli olcak snrm:s
    Session browser'ı kapatınca siliniyo diye biliyorum.
    Cookie ile zaman belirterek istediğin süre kadar tutabilirsin.
  • 19-08-2008, 23:16:06
    #6
    Üyeliği durduruldu
    <?
    switch($_GET['dil']){
    case 'tr' :
    include("tr.php");
    break;
    case 'en' :
    include("en.php");
    break;
    default :
    include("tr.php");
    }

    sitendeki linklerdede sonlarına &dil=tr yada dil=en yap
  • 22-08-2008, 14:26:51
    #7
    gargomelia adlı üyeden alıntı: mesajı görüntüle
    <?
    switch($_GET['dil']){
    case 'tr' :
    include("tr.php");
    break;
    case 'en' :
    include("en.php");
    break;
    default :
    include("tr.php");
    }
    sitendeki linklerdede sonlarına &dil=tr yada dil=en yap
    bunu biraz daha geliştirirsek şöyle daha iyi olur gibi
    Alıntı
    switch($_GET['dil'] ? $_GET['dil'] : $_SESSION['dil']){
    case 'tr' :
    $_SESSION['dil']='tr';
    include("tr.php");
    break;
    case 'en' :
    $_SESSION['dil']='en';
    include("en.php");
    break;
    default :
    $_SESSION['dil']='';
    include("tr.php");
    }
    Bu şekilde her seferinde linkde dil=tr veya dil=en gibi bir şey yazmana gerek kalmaz
  • 22-08-2008, 20:13:39
    #8
    Üyeliği durduruldu
    Dahada geliştirmek isteyenler browser'ın dilini alabilirler.
    $_SERVER['HTTP_ACCEPT_LANGUAGE'] ile
    Biraz daha uçurmak isteyenler IP bazlı çalışabilir.
  • 22-08-2008, 23:49:19
    #9
    Üyeliği durduruldu
    ERYILMAZ adlı üyeden alıntı: mesajı görüntüle
    aslında o durumu şöyle toparlayabilirsin...

    <?
    // Eng
    define("welcome","Hoşgeldiniz");
    ?>

    bu sayfayı lang-en.php olarak kaydettiğini düşün..

    <?
    include 'lang-en.php';
    echo welcome;
    ?>

    hoşgeldiniz olur... :S
    dil mantığında ben bunu kullanıyorum ama... bilemem tabi..
    yeterince doğru bir mantık defination kullanılması eğer arkadaşınkisi gibi değişken kullanılırsa script aşırı ağır çalışacaktır.array yada defination en iyi seçenek