2 cara membuat multi language pada website dengan PHPada 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:
define("_NAME", "Fill Your Name");
trus untuk lang-id.php:
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
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
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
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
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
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
<?
//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
<?
//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

)