Saturday, March 26, 2016

Implementasi MultiLanguage di CodeIgniter

Implementasi MultiLanguage di CodeIgniter - Hello friend Panduan SEO | Panduan SEO terlengkap tuk pemula yang ingin mulai belajar SEO. Panduan gratis ini meningkatkan pengunjung ke situs anda. On this article you read this time with the title Implementasi MultiLanguage di CodeIgniter , We have prepared this article well for you to read and take the information in it. hopefully the contents of the post Articles Tutorial Codeigniter, That we write this you can understand. okay, happy reading.

Title : Implementasi MultiLanguage di CodeIgniter
links : Implementasi MultiLanguage di CodeIgniter

Read also


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/




Thus the article Implementasi MultiLanguage di CodeIgniter

That's an article Implementasi MultiLanguage di CodeIgniter This article will be useful for you all. okay, see you in other article posting. Do not forget to keep visiting on Panduan SEO | Blogger, Tips , Adsense, Google.

You are now reading the article Implementasi MultiLanguage di CodeIgniter with the link address https://belajarpanduanseo.blogspot.com/2016/03/implementasi-multilanguage-di.html


Do not forget to share ^_^ because sharing is caring and I'm waiting for your comment




EmoticonEmoticon