Membuat websites 2 bahasa dengan PHP Part 2



Selamat siang agan-agan sekalian, siang ini saya ingin bagi-bagi tutorial website multi bahasa dengan php dimana content dan lain-lain nya bisa bergatin bahasa. Tutorial ini di request oleh pengunjung blog ini dan kebetulan saya tidak sibuk dan akhirnya saya bisa sharing tutorial semoga bermanfaat bagi kita semua. Sebelum ke tutorial ini kalian harus pelajari tutorial Membuat websites 2 bahasa dengan PHP, karena tutorial ini berhubungan dengan sebelumnya.
Oke pertama-tama kalian siapkan folder sebagai berikut:
  1. Struktur file :
    /www
            /config
                  - koneksi.php
            /lang
                  - control.php
                 /english
                          - english.php
                 /indonesia
                          - indonesia.php
             - index.php
Berikut code-code file yg di perlukan: File lang English.php
<?php
define("WELCOME", "Welcome to English Language Websites");
define("BACK", "Back");
define("READ", "Read More");
?>
File lang Indonesia.php
<?php
define("WELCOME", "Selamat Datang di websites Bahasa Indonesia");
define("BACK", "Kembali");
define("READ", "Selengkapnya");
?>
File Koneksi.php
<?php
$server =  "localhost";
$username = "root";
$password = "";
$database = "lang";

// Koneksi dan memilih database di server
mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");
?>
File Function control.php
<?php
function selectLang($f) {
   switch ($f) {
      case "en":
       require_once "english/english.php";
       break;
      case "id":
       require_once "indonesia/indonesia.php";
       break;
   }
}
?>
File Index.php
<?php
  include "lang/control.php";
  include "config/koneksi.php";
  if ($_GET['lang']!="") {
    selectLang($_GET['lang']);
  } else {
    selectLang("id");  //Set ke bahasa default
  }
?>
<head>
<title><?php echo WELCOME;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php 
$select =mysql_query("select * from tb_lang");
while($result=mysql_fetch_array($select)){
 echo "<a href='index.php?lang=".$result['index_key']."'>".$result['name_lang']."</a> <br>";
}

if($_GET['lang']!=""){
 $select =mysql_query("select * from tb_lang where index_key='".$_GET['lang']."'");
 $result=mysql_fetch_array($select);
 $select =mysql_query("select * from tb_conten where id_lang='".$result['id_lang']."'");
 while($result=mysql_fetch_array($select)){
  echo "<h2>".$result['name']."</h2>";
  echo "<p>".$result['desc']."...<a href='index.php'>".READ."</a></p>";
 }
 
}
?>
<a href='index.php'><?php echo BACK;?></a>
</body>
</html>
Kemudian persiapkan database untuk mengatur content bahasanya: Sialakan buat database dengan nama lang dan berikut table-table dari databse lang: Berikut table tb_conten:
CREATE TABLE IF NOT EXISTS `tb_conten` (
  `id_conten` int(5) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `desc` text NOT NULL,
  `id_lang` int(5) NOT NULL,
  PRIMARY KEY (`id_conten`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `tb_conten`
--

INSERT INTO `tb_conten` (`id_conten`, `name`, `desc`, `id_lang`) VALUES
(1, 'Alasan Mengapa Bersepeda Adalah Olahraga yang Komplit', 'Jika biasanya untuk melatih setiap bagian otot di tubuh, Anda memerlukan latihan yang berbeda-beda, maka dengan bersepeda hampir semua otot tubuh bisa dilatih. Itulah mengapa bersepeda adalah olahraga yang komplit.', 1),
(2, 'Reasons Why Cycling is the Complete Sports', 'If you usually to train every muscle group in your body, you need a different workout, then by cycling almost all muscles of the body can be trained. That''s why cycling is a complete sport.', 2),
(3, 'Berkediplah 20 Kali, Jika Sering di Depan Komputer', 'Jika Anda banyak bekerja atau melakukan aktifitas sehari-hari dengan komputer, maka jangan lupa untuk berkedip sebanyak 20 kali. Walau tak harus pas 20, namun 20 kali adalah jumlah ideal bagi Anda untuk tetap memiliki mata yang sehat.', 1),
(4, 'Blink 20 time, if often in Front of Computer', 'If you do a lot of work or perform daily activities with the computer, then do not forget to blink 20 times. Although not necessarily fit 20, but 20 times is the ideal number for you to still have healthy eyes.', 2);
Berikut table tb_lang:
CREATE TABLE IF NOT EXISTS `tb_lang` (
  `id_lang` int(5) NOT NULL AUTO_INCREMENT,
  `index_key` varchar(5) NOT NULL,
  `name_lang` varchar(100) NOT NULL,
  `desc_lang` text NOT NULL,
  PRIMARY KEY (`id_lang`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `tb_lang`
--

INSERT INTO `tb_lang` (`id_lang`, `index_key`, `name_lang`, `desc_lang`) VALUES
(1, 'id', 'Bahasa Indonesia', 'Bahasa indonesia'),
(2, 'en', 'Language English', 'Bahasa Inglish');
Hasil Akhirnya seperti berikut:



Silakan di modifikasi dan semoga bermanfaat:
Link Download disini
Salam hangat,
Depri Pramana

8 komentar

:D , dicoba dulu ya,, semoga lebih mantap dari yg versi perdana kemaren..

terimakasih mas atas tutorialnya.. bermanfaat sekali

Ok gan, terima kasih atas kunjungannya. :)

gan harusnya tutorilanya ad demonya bisa download scripnya..boleh minta gan scriptnya?

Ok gan, saya lupa upload scriptnya. sekrang saya upload gan.

mas,,klau ingin buat dua buah bahasa dengan banyak halaman gimana,,mas?..trus pengaturan baasany d luar halamanny,,mas..ada menu sendiri..makasih sebelumnya,,y mas..

sebenernya konsepnya sama aja mas, setiap table harus ada id_lang nya masing2. kalo diataskan cuma pada tb_content.

Silakan Berikan Komentar anda yang bisa mendukung blog ini, komentar anda saya harapkan, terima kasih
EmoticonEmoticon