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…

8 Browser Android Terbaik yang Cepat dengan Fitur Komplit || Tambah Wawasan

Browser Android Terbaik – Saat Ini Aktivitas Browsing Menjadi Kebutuhan Wajib Di Kalangan Masyarakat. Dengan Browsing Kita Dapat Mengetahui Berbagai Macam Hal, Mulai Dari Mempelajari Sesuatu Hingga Sekedar Mencari Berita Yang Tengah Booming Di Masyarakat.


Aktivitas Satu Ini Pun Sekarang Bisa Kita Lakukan Di Mana Saja Dengan Menggunakan Smartphone Android. Sebetulnya Setiap Hp Android Sudah Dibekali Dengan Aplikasi Browser Bawaan, Akan Tetapi Banyak Pengguna Yang Merasa Kurang Puas Dengan Kinerjanya. Entah Itu Lemotlah, Boros Kuota, Berat, Ataupun Banyak Iklan.



Nah Bagi Kamu Yang Mencari Browser Android Tercepat, Ringan, Hemat Kuota, Dan Bebas Iklan, Berikut Beberapa Rekomendasi Terbaik Yang Wajib Dicoba.

Aplikasi Browser Android Terbaik yang Cepat dan Banyak Fitur Menarik
1. Google Chrome
Browser Android Terbaik
Chrome Merupakan Browser Besutan Google Inc. Dengan Aplikasi Ini Kamu Tidak Hanya Bisa Menghemat Kuota Browsing Hingga 50 % Saja, Tetapi Kamu Juga Dapat Menikmati Berbagai Layanan T…