Membuat Multi Bahasa Dengan Codeigniter
terusbelajar)Spesifikasi Sourcecode
> Controllers
Simpan dengan nama Welcome.php , instruksi di atas merupakan controller home
Simpan dengan nama Lang_setter.php , instruksi di atas berfungsi untuk mengatur cookie.
> Models
Simpan dengan nama Artikel.php. Lihat pada bab query where di atas, pada ketika cookies lang_is ter-set en, maka data yang akan di tampilkan ialah data bahasa yang membunyai value ENG, begitu pula sebaliknya. instruksi ini if(get_cookie('lang_is') === 'en'){ merupakan instruksi untuk melaksanakan pengecekan cookies.
> Views
Simpan dengan nama welcome_message.php.
Full Source Code
Sumber http://www.kang-cahya.com
- Codeigniter 3.0.3
- Mysql
Pranktik
#Buat Database
Untuk nama database terserah kamu, kemudian buat tabel dengan nama artikel. Untuk fieldnya dapat ikutin gambar di bawah ini.
#Atur Codeigniter
Setelah codeigniter di d0wnl0ad, Sebelum memulai coding, persiapan awal kau dapat atur terlebih dahulu codeigniter-nya. Pada kasus ini ada beberapa library dan souce lainnya yang harus kau load terlebih dahulu.
- Pada config/autoload.php
- Load library "database".
- Load helper "url dan cookie".
- Pada config/config.php
- Set base_url
- Set encription_key
- Pada config/database.php
- Set hostname
- Set root
- Set database
# Ngoding
> Controllers
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model("artikel");
}
public function index() {
$data['list_artikel'] = $this->artikel->get_artikel();
$this->load->view('welcome_message', $data);
}
}
Simpan dengan nama Welcome.php , instruksi di atas merupakan controller home
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Lang_setter extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
echo "Forbiden 403";
}
public function set_to($language) {
if(strtolower($language) === 'english') {
$lang = 'en';
} else {
$lang = 'in';
}
set_cookie(
array(
'name' => 'lang_is',
'value' => $lang,
'expire' => '8650',
'prefix' => ''
)
);
if($this->input->server('HTTP_REFERER')){
redirect($this->input->server('HTTP_REFERER'));
}
}
}
?>
Simpan dengan nama Lang_setter.php , instruksi di atas berfungsi untuk mengatur cookie.
> Models
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Artikel extends CI_Model {
function __construct() {
parent::__construct();
}
function get_artikel(){
$this->db->select("*");
$this->db->from("artikel");
if(get_cookie('lang_is') === 'en'){$this->db->where('bahasa','ENG');}else{$this->db->where('bahasa','IDN');}
$query = $this->db->get();
return $query->result();
}
}
?>
Simpan dengan nama Artikel.php. Lihat pada bab query where di atas, pada ketika cookies lang_is ter-set en, maka data yang akan di tampilkan ialah data bahasa yang membunyai value ENG, begitu pula sebaliknya. instruksi ini if(get_cookie('lang_is') === 'en'){ merupakan instruksi untuk melaksanakan pengecekan cookies.
> Views
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
<!DOCTYPE>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
#body {
margin: 0 15px 0 15px;
}
.footer-right {
float: right;
font-size: 11px;
border-top: 1px solid #D0D0D0;
line-height: 32px;
padding: 0 10px 0 10px;
margin: 20px 0 0 0;
}
.footer-left {
float: left;
font-size: 11px;
border-top: 1px solid #D0D0D0;
line-height: 32px;
padding: 0 10px 0 10px;
margin: 20px 0 0 0;
}
#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}
</style>
</head>
<body>
<div id="container">
<?php foreach($list_artikel as $la){ ?>
<h1><?php echo $la->judul;?></h1>
<div id="body">
<?php echo $la->isi;?>
</div>
<?php } ?>
<p>
<span class="footer-left">
<?php if(get_cookie('lang_is') === 'en'){ ?>
Language : <a href="<?php echo site_url('lang_setter/set_to/indonesia');?>">IDN</a>
<?php }else{ ?>
Bahasa : <a href="<?php echo site_url('lang_setter/set_to/english');?>">ENG</a>
<?php } ?>
</span>
<span class="footer-right">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo (ENVIRONMENT === 'development') ? 'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></span>
</p>
</div>
</body>
</html>
Simpan dengan nama welcome_message.php.
Full Source Code
*) Jangan Lupa Diimport Dulu Databasenya.
0 Response to "Membuat Multi Bahasa Dengan Codeigniter"
Posting Komentar