• 19-03-2015, 23:10:40
    #1
    Üyeliği durduruldu
    Arkadaşlar @DNSZ İsimli arkadaşımınız yaklaşık 1,5 saat uğraştı ve kodu çalıştırdık.


    Sitenin başına
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);  
    
    if ($lg === 'tr'){
    		$kod = '<meta http-equiv="refresh" content="0; url=?_t=Türkçe+%28TR%29&ref=tr">';
    		if(!isset($_COOKIE["TRmi2"])){
    		echo $kod;
    		setcookie("TRmi2","TRmi2",time() + 3600*24);
    		}
    }elseif ($lg === 'en') {  
    		$kod = '<meta http-equiv="refresh" content="0; url=?_t=Engilish+%28en%29&ref=en">';
    		if(!isset($_COOKIE["ENmi2"])){
    		echo $kod;
    		setcookie("ENmi2","ENmi2",time() + 3600*24);
    		}
    }
    bu kodu ekleyerek bütün sorunları çözmüş bulunmaktayız otomatik dil algılaması aktif oldu.


    ÇOk teşekkür ediyorum kendisine.
  • 19-03-2015, 23:18:13
    #2
    Üyeliği durduruldu
    tarayıcı dilini seçmesi için

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    echo $lg;
    kodunu kullanabilirsin.

    Yönlendirmesi için şöyle bişey;

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    Header('Location: '.$_SERVER["SERVER_NAME"].'/'.$lg.'');


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:18:13 -->-> Daha önceki mesaj 23:16:05 --

    Eğer sayfa zaten Türkçe ise ve senin tarayıcında Türkçeyse doğal olarak sayfayı yeniler, ondan hata verir.

    Bunu önlemek için

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
            }elseif ($lg == 'ru') {
                echo 'Yeppa.';
            }
    Bu şekilde "yeppa." içeriğini sadece dili rusça olanlar görecektir.
  • 19-03-2015, 23:21:01
    #3
    Üyeliği durduruldu
    DNSZ adlı üyeden alıntı: mesajı görüntüle
    tarayıcı dilini seçmesi için

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    echo $lg;
    kodunu kullanabilirsin.

    Yönlendirmesi için şöyle bişey;

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    Header('Location: '.$_SERVER["SERVER_NAME"].'/'.$lg.'');


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:18:13 -->-> Daha önceki mesaj 23:16:05 --

    Eğer sayfa zaten Türkçe ise ve senin tarayıcında Türkçeyse doğal olarak sayfayı yeniler, ondan hata verir.

    Bunu önlemek için

    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
            }elseif ($lg == 'ru') {
                echo 'Yeppa.';
            }
    Bu şekilde "yeppa." içeriğini sadece dili rusça olanlar görecektir.

    Teşekkürler hocam lakin pek anlayamadım index.php dosyasını size özelden göndersem bide yönlendirmenin nasıl olacağını yardım edermisiniz rüca etsem?
  • 19-03-2015, 23:22:50
    #4
    Üyeliği durduruldu
    Awoor adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam lakin pek anlayamadım index.php dosyasını size özelden göndersem bide yönlendirmenin nasıl olacağını yardım edermisiniz rüca etsem?
    Çok hızlı cevap verdiniz, koda bir göz atın mutlaka anlarsınız mantığı.

    $lg ile tarayıcı dilini çekiyoruz, örn: tr
    if ile tr mi diye kontrol ediyoruz, değilse ru mu diye kontrol ediyoruz. ru ise yönlendirme kodunu içine koyuyoruz.
  • 19-03-2015, 23:23:50
    #5
    Üyeliği durduruldu
    DNSZ adlı üyeden alıntı: mesajı görüntüle
    Çok hızlı cevap verdiniz, koda bir göz atın mutlaka anlarsınız mantığı.

    $lg ile tarayıcı dilini çekiyoruz, örn: tr
    if ile tr mi diye kontrol ediyoruz, değilse ru mu diye kontrol ediyoruz. ru ise yönlendirme kodunu içine koyuyoruz.
    İnceledim hocam

    Türkçeyi seçince /index.html?_t=Türkçe+%28TR%29

    İngilizce Seçince /index.html?_t=English+%28en%29


    Bu şekilde nasıl yapacağım ? <?php içine ekliyoruz demi verdiğiniz kodları.
  • 19-03-2015, 23:26:26
    #6
    Üyeliği durduruldu
    Awoor adlı üyeden alıntı: mesajı görüntüle
    İnceledim hocam

    Türkçeyi seçince /index.html?_t=Türkçe+%28TR%29

    İngilizce Seçince /index.html?_t=English+%28en%29


    Bu şekilde nasıl yapacağım ? <?php içine ekliyoruz demi verdiğiniz kodları.
    <?php
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
    }elseif ($lg == 'en') {
        Header('Location: index.html?_t=English+%28en%29');
    }
    ?>
    Bu kodu header'da ob_start(); 'ın altına koyun.
    Tarayıcı dilinizi ingilizce yapın.
    Ana siteye girdiğinizde sizi otomatikman ingilizce siteye yönlendiricek.
  • 19-03-2015, 23:32:21
    #7
    Üyeliği durduruldu
    DNSZ adlı üyeden alıntı: mesajı görüntüle
    <?php
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
    }elseif ($lg == 'en') {
        Header('Location: index.html?_t=English+%28en%29');
    }
    ?>
    Bu kodu header'da ob_start(); 'ın altına koyun.
    Tarayıcı dilinizi ingilizce yapın.
    Ana siteye girdiğinizde sizi otomatikman ingilizce siteye yönlendiricek.
    Hocam dediğinizi yaptım
    <?php
    ob_start();
    $lg = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($lg == 'tr'){
    }elseif ($lg == 'tr') {
        Header('Location: index.html?_t=Türkçe+%28TR%29');
    }
    
    
    $url = isset($_GET['_page_url']) ? $_GET['_page_url'] : 'index.html';
    $url = str_replace(array('../'), '', $url);
    
    // setup environment
    require_once('core/includes/master.inc.php');
    
    // include template
    $templateFile = SITE_TEMPLATES_PATH . '/' . $url;
    if (file_exists($templateFile))
    {
        require_once(SITE_TEMPLATES_PATH . '/' . $url);
        exit;
    }
    
    // compatibility with old .php files
    if(strpos($url, '.html') !== false)
    {
    	$filePath = DOC_ROOT.'/'.str_replace('.html', '.php', $url);
    	if (file_exists($filePath))
    	{
    		coreFunctions::redirect(WEB_ROOT.'/'.str_replace('.html', '.php', $url));
    	}
    }
    
    // assume file related
    $filePath = null;
    if (strpos($url, '~') !== false)
    {
        $endPart = strtolower(substr($url, strlen($url) - 2, 2));
        switch ($endPart)
        {
            // stats page
            case '~s':
                $filePath = 'stats.html';
                break;
            // delete page
            case '~d':
                $filePath = 'delete_file.html';
                break;
            // share page
            case '~i':
                $filePath = 'share_file.html';
                break;
            // view folder page
            case '~f':
                $filePath = 'view_folder.html';
                break;
        }
    }
    
    if ($filePath !== null)
    {
        if (file_exists(SITE_TEMPLATES_PATH . '/' . $filePath))
        {
            require_once(SITE_TEMPLATES_PATH . '/' . $filePath);
            exit;
        }
    }
    
    // try file download
    require_once(CORE_PAGE_DIRECTORY_ROOT . '/file_download.php');


    Buyrun index.php dosyam bu sitede footerdeki site şuan ekli lakin yönlendirmiyor ?
  • 19-03-2015, 23:34:42
    #8
    Üyeliği durduruldu
    Ben yardım etmeye çalışıyorum hazır işini yapmaya değil. Amacım senin işini görmek de değil herkes bilgilensin maksat.

    Verdiğim kodu değiştirmeden eklersen çalışır.
    her dil için de birer tane aynısından oluşturursun
  • 19-03-2015, 23:41:06
    #9
    Üyeliği durduruldu
    http://prntscr.com/6iv7a8 dediğinizi yaptım hata devam etmekte @DNSZ

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:41:06 -->-> Daha önceki mesaj 23:34:43 --

    DNSZ adlı üyeden alıntı: mesajı görüntüle
    Ben yardım etmeye çalışıyorum hazır işini yapmaya değil. Amacım senin işini görmek de değil herkes bilgilensin maksat.

    Verdiğim kodu değiştirmeden eklersen çalışır.
    her dil için de birer tane aynısından oluşturursun
    Terslemenize gerek yok hocam , http://prntscr.com/6iv7a8

    Bu hatayı aldığım için diyorum verdiğiniz kodu değiştirmediğimdede.