Langsung ke konten utama

Implementasi MultiLanguage di CodeIgniter

Dalam tutorial kali ini saya akan menjelaskan bagaimana membuat multilanguage di projek kita menggunakan Framework CodeIgniter. Jadi ceritanya kemarin saya disuruh belajar CodeIgniter untuk membuat multilanguage di projek yang sudah dibuat sebelumnya. Sudah lama banget nggak ngoding pakai PHP, jadi rada canggung juga kalau disuruh ngoding pakai PHP. Hehe

Beruntung CodeIgniter sudah menyediakan fitur untuk multilanguage, jadi kita bisa dengan mudah membuat fitur tersebut, Tinggal setting dan koding sedikit, selesai deh. Caranya bagaimana? Simak tutorial berikut sampai selesai:

1. Berikut struktur folder dari Projek CodeIgniter, jadi untuk membuat multilanguage kita cuman men-setting 4 folder penting di dalam folder application:

Struktur folder di CodeIgniter

2. Klik di folder application, nanti akan keluar semua folder seperti dibawah ini (yang akan kita setting adalah folder yang di highlight merah):


3. Pertama: Folder application/config/ (untuk meng-enable Hooks)
Buka folder config dan cari config.php dan cari $config['enable_hooks'] dan ganti FALSE menjadi TRUE

4. Kedua: Masih di dalam folder application/config/
Cari hooks.php selanjutnya copy-paste kodingan dibawah ini (untuk mendefinisikan Hook-nya):

$hook['post_controller_constructor'] = array(
    'class'    => 'LanguageLoader',
    'function' => 'initialize',
    'filename' => 'LanguageLoader.php',
    'filepath' => 'hooks'
);

5. Selanjutnya buat file LanguageLoader.php dan buat kelas LanguageLoader di application/hooks/ kodingannya seperti dibawah:

<?php
class LanguageLoader
{
    function initialize() {
        $ci =& get_instance();
        $ci->load->helper('language');
        $siteLang = $ci->session->userdata('site_lang');
        if ($siteLang) {
            $ci->lang->load('message',$siteLang);
        } else {
            $ci->lang->load('message','english');
        }
    }
}


6. Sebelum membuat kodingan untuk switch bahasanya, kita harus pastikan kalau settingan application/config/autoload.php seperti dibawah: (Untuk men-load session library dan URL helper)

$autoload['libraries'] = array('session');
$autoload['helper'] = array('url');

7. Selanjutnya buat file LanguageSwitcher.php di application/controllers/ dan copy-paste kodingan dibawah ini:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class LanguageSwitcher extends CI_Controller
{
    public function __construct() {
        parent::__construct();    
    }

    function switchLang($language = "") {
       
        $language = ($language != "") ? $language : "english";
        $this->session->set_userdata('site_lang', $language);
       
        redirect($_SERVER['HTTP_REFERER']);
       
    }
}

8. Nah, terakhir di folder application/language/ buat folder bahasa yang mau kita buat. Misal disini saya membuat multilanguage hanya untuk 2 bahasa saja, yaitu bahasa Indonesia dan Inggris (bisa dibuat banyak).

Di dalam folder language

Masing-masing di dalam folder tersebut (english dan indo), buat file message_lang.php dan isinya contohnya seperti dibawah:

- Di application/language/english/message_lang.php

<?php
$lang["menu_test"] = "Test";

- Di application/language/indo/message_lang.php

<?php
$lang["menu_test"] = "Testing";

Poin pentingnya adalah kita harus membuat ID contoh "menu_test" yang sama antara bahasa Inggris dan Indo supaya aplikasi bisa tahu kalau kita pilih bahasa inggris maka akan ditampilkan itu, dan kalau Indonesia akan ditampilkan satunya lagi.

9. Terakhir, di Folder application/view/ tambahkan dropdown berikut untuk mengubah bahasanya:

<select onchange="javascript:window.location.href='<?php echo base_url(); ?>LanguageSwitcher/switchLang/'+this.value;">
<option value="english" <?php if($this->session->userdata('site_lang') == 'english') echo 'selected="selected"'; ?>>English</option>
<option value="indo" <?php if($this->session->userdata('site_lang') == 'indo') echo 'selected="selected"'; ?>>Indonesia</option>
</select>
<p><?php echo $this->lang->line('menu_test'); ?></p>

NB: Sengaja saya selipkan <p><?php echo $this->lang->line('menu_test'); ?></p> diatas untuk mengetes apakah yang kita buat sudah benar atau belum.

Untuk multilanguage-nya:

Kalau ingin membuat multilanguage di View:
<p><?php echo $this->lang->line('menu_test'); ?></p>

Kalau ingin membuat multilanguage di Controller:
$this->lang->line('menu_test')

Sekian dan Terima gaji.

Source: http://www.codexworld.com/


Komentar

Postingan populer dari blog ini

10 Contoh Peluang Usaha Bagi Pengangguran || Tambah Wawasan

Contoh Peluang Usaha Bagi Pengangguran - Selamat Datang Pengunjung Budiman , Pada Kesempatan Kali Ini Kami Akan Membagikan Beberapa Referensi Bagi Anda Yang Membutuhkan Jenis Usaha Terutapa Bagi Pengangguran . Kami Akan Memberikan 10 Jenis Usaha Sebagai Referensi Sehingga Anda Dapat Memilah Usaha Mana Yang Cocok Untuk Di Jalankan.
Menjadi Seorang Usaha Memang Tidak Enak , Terkadang Kita Hanya Mendapatkan Pekerjaan Musiman Saja Dimana Apabila Lagi Sedang Tidak Musimnya Kita Akan Menganggur Atau Bekerja Ala Kadarnya.

Saat Ini Pengangguran Bisa Menyerang Siapa Saja , Baik Itu Mulai Yang Tidak Sekolah , Lulusan Sd , Smp Dan Sma/Smk Bahkan Orang Yang Sudah Mendapatkan Gelar Sarjana Pun Banyak Yang Menganggur.
Saat Ini Tingkat Persaingan Tenaga Kerja Sangatlah Kuat Dan Sulit Untuk Mendapatkan Pekerjaan Terlebih Lagi Bagi Anda Yang Tidak Tamat Sekolah Atau Hanya Mendapatkan Ijasah Maksimal Smp Tentu Hal Ini Menjadi Masalah Yang Sangat Besar.
Baca : Peluang Usaha Sampingan Bagi Pelajar Modal Keci…

Contoh Cover Proposal Skripsi Teknik Informatika

Contoh Cover Proposal Skripsi Teknik Informatika - Membuat cover proposal skripsi merupakan tujuan utama dalam membuat skripsi. Untuk membuat cover skripsi dibutuhkan format penulisan skripsi yang benar, pada artikel ini akan membahas cara membuat cover proposal skripsi pada jurusan teknik informatika pada dengan format bahasa indonesia.

Sebenarnya pada setiap universitas disediahkan format penulisan proposal skripsi tersendiri, adakalanya lain universitas lain juga format penulisan skripsi nya.

Berikut ini adalah contoh cover proposal skripsi jurusan teknik informatika


Pada gambar diatas dapat kita lihat bahwa:Judul       : Huruf besar dengan bentuk pohon vektor dengan hurup arial dan ukuran hurup 14 dan centre                   screen Logo       : Logo warna centre screen dengan ukuran 5 x 5 mm Dibawah logo terdapat tulusan Oleh: dan dibawahnya nama anda dan NPM anda
Selanjutnya pada bagian bawah halaman terdapat jurusan kuliah anda, dan dibawahnya lagi terdapat fakultas perkuliahan anda d…

Contoh Soal Psikotes Bank (Mandiri, BCA, BNI, Danamon, BTN) Jawabannya Seri Deret, Matematika 2016

Contoh Soal Psikotes Bank (Mandiri, BCA, BNI, Danamon, BTN) Jawabannya Seri Deret, Matematika
Kembali lagi kami update soal-soal psikotes terbaru sebagai latihan dalam persiapan seleksi lowongan kerja. Kali ini kami akan memberikan contoh soal psikotes bank secara gratis dan tidak perlu di download (ebook pdf). Soal latihan ini berisi soal psikotes seri deret dan matematika yang sering ditanyakan dalam ujian di bank seperti psikotes bank Mandiri, BCA, BNI, Danamon, BTN dan berlaku juga untuk yang syariah.
Contoh Soal Psikotes Bank (Mandiri, BCA, BNI, Danamon, BTN) Jawabannya Seri Deret, Matematika
Kisi-kisi soal ini sudah dilengkapi dengan kunci jawaban dan tidak ketinggalan pembahasan soalnya. Dan soal-soal psikotes ini merupakan bagian kecil dari paket kunpulan soal psikotes klik disini

Baiklah langsung kita ke topik kita mengenai soal-soal psikotes bank. Contoh Soal Psikotes Bank (Mandiri, BCA, BNI, Danamon, BTN)
01. 8, 17, 33, …, …, 257.
Bilangan yang tepat untuk mengisi tit…