2077 Posts in 484 Topics- by 821 Members - Latest Member: liricklagu

Pages: [1]   Go Down
  Print  
Author Topic: Gimana Cara buat Mutli Language?  (Read 1407 times)
toplirik
phpBB Guru
*
Offline Offline

Posts: 21


coband83
View Profile WWW
« on: October 08, 2008, 04:21:42 AM »

Bang buat multi language dinamic gmn yah? Jd ga pakai lang.php/indo.php/eng.php melainkan dengan database (Kaya joomla gitu bang) thx..
Logged

Freelance Web Designer
webmaster
Administrator
phpBB Guru
*****
Offline Offline

Posts: 924


hairulazami
View Profile WWW
« Reply #1 on: October 08, 2008, 06:13:16 AM »

2 cara membuat multi language pada website dengan PHP

ada 2 cara :

1. make define sederhana di sebuah file kamus, tanpa database, sebut saja lang-en.php dan lang-id.php

didalam na jabarkan keperluan translate yang lu pengen:

ni misalna untuk lang-en.php:
Code:
define("_NAME", "Fill Your Name");


trus untuk lang-id.php:
Code:
define("_NAME", "Isi Nama Lu");

di file utama bwat pemilihan barcode untk $_GET['variable'], dari var yg didapat pada URL maka dapat di pilih include bahasanya. misalna URL lu adalah main.php?lang=EN

dan ini file main.php na

main.php
Code:
if($_GET['lang'] == 'EN')
{
        include_once "lang-en.php";
}
else
{
        include_once "lang-id.php";
}

echo _NAME;

2. cara ini lebih sempurna dan dinamis, bedanya, pemilihan bahasa dapat di set via administrator kaya yang lu bilang di Joomla

berikut struktur data dan file nya:
diperlukan :
a. file definisi language: english.php dan indonesian.php== > ada pada folder language
b. file administrator == > dalam kasus ini kita bikin sndiri saja, namanya admin-lang.php
c. file utama untuk memproses kedua file diatas == > kita bikin sndiri juga, namanya: main.php
d. table bahasa == >> lang_tbl

Code:
CREATE TABLE IF NOT EXISTS `lang_tbl` (
  `id` int(4) NOT NULL auto_increment,
  `lang` varchar(4) NOT NULL default '',
  `langFile` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `lang_tbl`
--

INSERT INTO `lang_tbl` (`id`, `lang`, `langFile`) VALUES
(1, 'en', 'english.php'),
(2, 'id', 'indonesian.php');

d. table bahasa yang aktif == >> lang_set_now

Code:
CREATE TABLE IF NOT EXISTS `lang_set_now` (
  `id` int(4) NOT NULL auto_increment,
  `langID` int(4) NOT NULL default '0',
  `langSetIs` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Dumping data for table `lang_set_now`
--

INSERT INTO `lang_set_now` (`id`, `langID`, `langSetIs`) VALUES
(1, 1, 'english.php');

file english.php
Code:
define('_LANGUAGE','en');
define('_NAME,'Fill Your Name');
define('_EMAIL','Fill Your Email');
define('_WEBSITE','Fill Your Website, But Your May Leave Blank');
define('_COMMENT','Fill Your Comment');

file indonesian.php
Code:
define('_LANGUAGE','id');
define('_NAME,'Isi Name Lu');
define('_EMAIL','Isi Email' Lu);
define('_WEBSITE','Isi Website Lu, tapi masih bisa dikosongin');
define('_COMMENT','Isi Komentar lu');

file admin-lang.php
Code:
<?
//bwat koneksi disini
mysql_connect("localhost","root","");
//ambil database disini
mysql_select_db("ujicoba");

if(isset($_POST['submit']))
{
         $ROW=mysql_fetch_array(mysql_query("SELECT * FROM lang_tbl WHERE id='$_POST[set_lang]'"));
         if(mysql_query("UPDATE lang_set_now SET langID='$ROW[id]', langSetIs='$ROW[langFile]'"))
         {
                   echo "Update Language Success";
         }
         else
         {
                   echo "Update Language Error";
         }
}

$CUR=mysql_fetch_array(mysql_query("SELECT * FROM lang_set_now"));
echo "<BR><BR>YOUR CURRENT ACTIVE LANGUAGE IS: $CUR[langSetIs]<BR><BR>";

?>
<form name='update-lang' action='' method='post'>
SET LANGUAGE:<BR>
<select name='set_lang'>
<?
$viewCUR = mysql_fetch_array(mysql_query("SELECT * FROM lang_tbl WHERE id = '$CUR[langID]'"));
echo "<option value='$viewCUR[id]'>-$viewCUR[lang]-</option>";

$QRY = mysql_query("SELECT * FROM lang_tbl");
while($ROW=mysql_fetch_array($QRY))
{
echo "<option value='$ROW[id]'>$ROW[lang]</option>";
}
?>
</select>
<BR>
<BR>
<input type=submit name=submit value=update>
</form>

</form>

nah ini bwat file main.php

Code:
<?
//bwat koneksi disini
mysql_connect("localhost","root","");
//ambil database disini
mysql_select_db("ujicoba");

$ROW=mysql_fetch_array(mysql_query("SELECT * FROM lang_set_now"));
include_once "language/$ROW[langSetIs]";

//contoh penerapan hasil keluaran bahasa ke dalam sebuah form

echo "Your Active Language is: "._LANGUAGE."<BR><BR><form>
"._NAME." <BR>
<input name='name'> <BR><BR>

"._EMAIL." <BR>
<input name='email'> <BR><BR>

"._WEBSITE." <BR>
<input name='website'> <BR><BR>

"._COMMENT." <BR>
<textarea name='comment'></textarea> <BR><BR>

<input type='submit' name='submit' value=submit>
</form>
";
?>

woke, dicoba mbro :))
Logged


webmaster
Administrator
phpBB Guru
*****
Offline Offline

Posts: 924


hairulazami
View Profile WWW
« Reply #2 on: October 09, 2008, 08:33:10 AM »

Re: 2 cara membuat multi language pada website dengan PHP

GIMANE MBRO DAH PAHAM BLON Huh??
Logged


Pages: [1]   Go Up
  Print  
 
Jump to: