-->
Riedayme Pengetahuan untuk Mempelajari Pemrograman khususnya pada Website, Mobile dan Desktop saya tuliskan disini.
Riedayme
Riedayme

Membuat Multi Bahasa CodeIgniter 3

Fitur multi bahasa sangat penting kalau aplikasi sudah terbilang cukup besar, karena akan memudahkan pengguna nantinya.

Fitur ini dijelaskan diawal oleh saya karena kalau saya jelaskan diakhir nantinya bakalan banyak kode yang dirubah makannya diawal saya jelasinya jadi nanti tinggal lanjutin isi dari setiap bahasanya saja.

Langkah Kerja

  • pertama buat file dengan nama app_lang.php pada folder application/language/english dan application/language/indonesia
  • untuk file app_lang.php yang berada didalam folder english masukan kode ini
<?php
$lang['welcome_message'] = 'Welcome to';
  • untuk file app_lang.php yang berada didalam folder indonesia masukan kode ini
<?php
$lang['welcome_message'] = 'Selamat Datang di';
  • kemudian karena language ini adalah fungsi yang akan sering diload maka disini harus menaruhkan kodenya kedalam file controller yang berada di core yaitu application/core/MY_App.php 
  • masukan kode function ini didalam class MY_App
public function set_language(){
    $set_language = $this->session->userdata('language');
    if ($set_language) {
        $this->lang->load('app_lang',$set_language);
    } else {
        $this->lang->load('app_lang','indonesia');
    }
}
  • masih didalam folder MY_App.php masukan kode ini didalam function __construct
$this->set_language();
  • kemudian buat sebuah file controller baru didalam folder app dengan nama Set_Language.php dan isi kode dibawah ini
<?php  
defined('BASEPATH') OR exit('no direct script access allowed');

class Set_Language extends MY_App
{
 
    function switch($language = "indonesia") {
        
        $this->session->set_userdata('language', $language);
        
        redirect($_SERVER['HTTP_REFERER']);
        
    }
}
  • selanjutnya adalah menambahkan tombol ganti bahasa tepatnya untuk halaman app dengan masuk kebagian views app yaitu application/views/app/_layouts/nav-top.php
  • tambahkan kode berikut untuk tombol gantinya
<div class="c-dropdown dropdown u-mr-small">
    <button class="c-btn c-btn--secondary c-btn--small dropdown-toggle u-pl-xsmall u-pr-xsmall" id="dropdownMenuButton1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        <i class="fa fa-flag"></i>
    </button>

    <div class="c-dropdown__menu dropdown-menu" aria-labelledby="dropdownMenuButton1" x-placement="bottom-start" style="position: absolute; transform: translate3d(0px, 39px, 0px); top: 0px; left: 0px; will-change: transform;">
        <a class="c-dropdown__item dropdown-item" href="<?php echo base_url('app/set_language/switch/english') ?>">English</a>
        <a class="c-dropdown__item dropdown-item" href="<?php echo base_url('app/set_language/switch/indonesia') ?>">Indonesia</a>        
    </div>
</div>
  • setelah itu mengganti tulisan dengan mengambilnya dari folder language dengan masuk kedalam file dashboard yaitu application/views/app/dashboard.php
  • silahkan ganti isinya dengan kode dibawah ini
<?php $this->load->view('app/_layouts/header'); ?>
<?php $this->load->view('app/_layouts/sidebar'); ?>

<div class="col-md-12 u-p-zero">

 <div class="c-card c-card--responsive h-100vh u-p-zero">
  <div class="c-card__header c-card__header--transparent o-line">
   <?php echo $this->lang->line('welcome_message').' '. APP_NAME; ?>
  </div>
  <div class="c-card__body">

   <div class="c-table-responsive">
    anda berhasil menghubungkan template dashboard ui dengan codeigniter
   </div>

  </div>
 </div>
</div>

<?php $this->load->view('app/_layouts/footer'); ?>
  • langkah selanjutnya adalah mencoba apakah bahasa berubah atau tidak pada tulisan selamat datang di dengan mengganti bahasa menjadi bahasa inggris


Referensi :
https://www.codexworld.com/multi-language-implementation-in-codeigniter/

Download File Project
0 Komentar
CodeIgniter

Artikel Terkait

Komentar