• 21-11-2013, 17:33:39
    #1
    Sitemde ki video scriptine dil seçenekleri eklemek istiyorum. Yani web sitesine Türkçe ve İngilizce olmak üzere iki seçenek olacak.Bayrak olacak hangi bayrağa tıklanırsa site o dile dönüşecek.

    Bazı sitelerde araştırdım bu konuyu, index sayfalarını index.php?lang=en - index.php?lang=tr yönlendirme yapın demişler ancak bende öyle lang klasörü yok,direk .php dosyalarının içinde yazıyor.
  • 25-11-2013, 14:52:12
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @beraterylmz;

    db connect'nın olduğu yere alttaki kodu ekle.

    require_once('lang.tr.php');
    global $lang;

    lang.tr.php'de ise;

    <?php

    $lang = array(
    'home' = 'Anasayfa',
    );

    Anasayfa gördüğün yere <?php echo $lang['home'];?> eklersen yukarda require ettiğin dil paketini çağırış olursun.

    Session kullanarak require edeceğin dili seçip gösterebilirsin. İnş anlatabilmişimdir
  • 25-11-2013, 15:50:07
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @beraterylmz;

    index.php;
    <?php
    	session_start();
    	
    	if(!array_key_exists("language", $_SESSION))
    		require("lang.en.php");
    	else
    		require(sprintf("lang.%s.php", $_SESSION["language"]));
    	
    	if(array_key_exists("language", $_GET)) {
    		$_SESSION["language"] = $_GET["language"];
    		
    		header("Location: index.php");
    	}
    	
    	function get_lang_string($key) {
    		global $language;
    		
    		return $language->words[$key];
    	}
    	
    	
    ?><!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    	</head>
    	<body>
    		<ul>
    			<li><?=get_lang_string("home");?></li>
    			<li><?=get_lang_string("products");?></li>
    			<li><?=get_lang_string("about_us");?></li>
    			<li><?=get_lang_string("contact_us");?></li>
    		</ul>
    		<a href="index.php?language=en">English</a>
    		<a href="index.php?language=tr">Türkçe</a>
    	</body>
    </html>
    lang.tr.php;
    <?php
    	
    	$language = (object) array(
    		"name" => (object) array(
    			"default" => "English",
    			"localized" => "İngilizce"
    		),
    		"words" => array(
    			"home" => "Home",
    			"products" => "Products",
    			"about_us" => "About Us",
    			"contact_us" => "Contact Us"
    		)
    	);
    lang.en.php;
    <?php
    	
    	$language = (object) array(
    		"name" => (object) array(
    			"default" => "Turkish",
    			"localized" => "Türkçe"
    		),
    		"words" => array(
    			"home" => "Ana Sayfa",
    			"products" => "Ürünlerimiz",
    			"about_us" => "Hakkımızda",
    			"contact_us" => "İletişim"
    		)
    	);
    Verdiğim kodları deneme fırsatım olmadı fakat çalışacağına eminim takıldığım veya anlamadığın kısım olursa beni mesajına etiketleyip sorunu yöneltirsen sevinirim.
  • 25-11-2013, 16:37:26
    #4
    Gettext yöntemini bir araştırın
  • 25-11-2013, 18:48:10
    #5
    @saintx;

    <div id="menu">
            <ul>
                <li style="color: #CB3B3B;"><a href="<?php echo $genel_ayarlar['site_adresi']; ?>" style="color: #CB3B3B;">Ana Sayfa</a></li>
               <li><a href="yeni-videolar">Yeni Videolar</a></li>
               <li><a href="http://siteadı.org/forum" target=_"blank">Video İndir</a></li>
               <li><a href="video-gonder">Videonu Gönder</a></li>
               <li><a href="iletisim">İletişim</a></li>
            </ul>
    Şimdi <li> <a href="ana sayfa" olan yeri <li><?=get_lang_string("home");?></li> olarak mı değiştireyim?
  • 25-11-2013, 20:43:01
    #6
    @beraterylmz; Şu şekilde düzenleyin.
    <li style="color: #CB3B3B;"><a href="<?php echo $genel_ayarlar['site_adresi']; ?>" style="color: #CB3B3B;"><?=get_lang_string("home");?></a></li>
  • 25-11-2013, 22:27:09
    #7
    @saintx; Parse error: syntax error, unexpected '"contact_us"' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /home/siteadı/public_html/lang.en.php on line13
    bu hatayı aldım.
  • 25-11-2013, 23:26:49
    #8
    @beraterylmz; Dosyalarda herhangi bir oynama yaptınız mı? O hatayı almamanız gerekiyor?
  • 25-11-2013, 23:37:01
    #9
    @saintx; özel mesaj attım,nasıl yaptığım hakkında.