Multi bahasa pada sebuah website dan web aplikasi sudah umum digunakan, mengapa perlu menggunakan multi bahasa? mengingat Website yang kalian buat tidak hanya dilihat oleh Orang - orang Indonesia melainkan dari penjuru dunia perlu kalian tambahkan Feature Multi bahasa pada website dan web aplikasi yang kalian buat, untuk kemudahan saya menggunakan Framework Codeigniter untuk penggunakan Multi Bahasa karena default sudah tersedia dalam framework ini.

Mengapa tidak menggunakan Framework lain seperti YII, Laravel, CakePHP, Zend dll. mengingat Framework2 tersebut diatas lebih bagus dan cepat dalam memproses (Katanya). Simple saja jawabannya, Karena saya sudah terbiasa dan belum 100% menggunakan Feature - Feature yang disediakan oleh CI sediri, bukan berarti saya tidak belajar Framework2 lainnya Tetep belajar untuk update Knowlege :). 

Mari kita mulai mencoba, ada 2 Trik yang akan dibahas pada Artikel ini

1. Secara manual

2. Secara Autoload

yang perlu kalian lakukan adalah membuat Folder baru pada Folder Language  Default dari Codeigniter adalah English tinggal kalian tambahkan lagi sesuai dengan kebutuhan kalian misalkan Indonesian. Pada masing - masing folder kalian tambahkan nama file baru misal error_lang.php, _lang.php wajib kalian sertakan ini standart dari CI, sedangkan error merupakan nama initial untuk pemanggilan.

isikan seperti berikut pada masing2 file

Pada bahasa english (folder English file error_lang.php):

<?php
    $lang['error_savedata'] = "Can't save data on Server.";
    $lang['error_updatedata'] = "Can't update data on Server.";
?>

Pada Bahasa indonesia (folder Indonesian file error_lang.php):

<?php
    $lang['error_savedata'] = "Tidak dapat menyimpan data ke server";
    $lang['error_updatedata'] = "Tidak dapat memperbaiki data ke server.";
?>

Setelah itu kalian buat Sebuah Controller dan View baru terserah kalian beri nama file apa, Saya mengunakan default dari CI (welcome.php, welcome_message.php)

Sekarang bagaimana cara menampilkannya?

1. Cara manual 

pada method Index() kalian sisipkan seperti berikut

$this->lang->load('error', 'indonesian'); // ubah indonesian sesuai dengan nama folder yang ada difolder Language, error sesuai dengan nama inisial yang kalian buat.

lengkapnya seperti berikut:

public function index(){
     $this->lang->load('error', 'indonesian');
     $this->load->view('welcome_message');
}

pada view kalian tinggal tambahkan seperti berikut

<?php
        echo $this->lang->line('error_savedata');
        echo $this->lang->line('error_updatedata');
?>

Ada opsi untuk memudahkan kalian dengan menambahkan helper

pada method Index() sisipkan script berikut

public function index(){
     $this->lang->load('error', 'indonesian');

     $this->load->helper('language');
     $this->load->view('welcome_message');
}

 

untuk pemanggilan bisa menggunakan

<?php echo lang('error_savedata');

echo lang('error_updatedata');

?>

simple bukan.... :)

 

2. Cara Autoload

- Pada config.php kalian edit disesuaikan nama bahasa

$config['language']    = 'english'; // bisa diubah jadi indonesian, seusai nama foldernya

- Pada autoload.php kalian edit disesuaikan helper dan language

$autoload['helper'] = array('language'); //Helper bawaan CI

$autoload['language'] = array('error'); // error adalah nama inisial file bahasa sesaikan dengan nama file di tiap2 foder bahasa

sekarang kalian tinggal panggil menggunakan lang();

<?php
    echo lang('error_savedata');
    echo lang('error_updatedata');
?>

 

Mudah bukan dengan menggunakan Framework Codeigniter untuk Feature Multi Language

 

Semoga membantu.