-->

iklan banner

Membuat Multi Bahasa Dengan Codeigniter

terusbelajar)Spesifikasi Sourcecode
Pranktik

#Buat Database

Untuk nama database terserah kamu, kemudian buat tabel dengan nama artikel. Untuk fieldnya dapat ikutin gambar di bawah ini.

Pada pembahasan kali ini aku akan membahas seputar bagaimana cara menciptakan multi bahasa de Membuat multi bahasa dengan codeigniter

#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.


Sumber http://www.kang-cahya.com

Berlangganan update artikel terbaru via email:

0 Response to "Membuat Multi Bahasa Dengan Codeigniter"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel