Multi Bahasa Localization Laravel – Multi bahasa merupakan fitur pada website untuk menampilkan informasi dalam berbagai bahasa. Laravel telah menyediakan fitur multi bahasa. sehingga untuk membuat fitur multi bahasa dengan laravel menjadi sangat mudah.
Kita tidak perlu lagi menginstall package-package yang lain. kita bisa langsung membuat website yang bisa menampilkan data atau text dalam berbagai bahasa.
Tentu pasti teman-teman pernah melihat website yang memiliki multi bahasa, dimana website tersebut bisa menampilkan informasi bukan hanya dalam satu bahasa saja. misalnya bisa menampilkan informasi dalam bahasa indonesia, bisa juga menampilkan informasi dalam bahasa inggris. inilah yang disebut dengan fitur multi bahasa pada website.
Multi Bahasa Localization Laravel
Pada tutorial ini kita akan belajar membuat pengaturan multi bahasa pada laravel. seperti biasa, kita akan belajar dengan langsung menerapkan contoh. sehingga akan lebih mudah dipahami oleh teman-teman.
Laravel sudah menyediakan fitur untuk membuat multi bahasa di dalamnya. dimana dengan laravel kita bisa dengan lebih mudah membuat pengaturan untuk bahasa. tidak hanya satu atau dua bahasa, bahkan banyak sekali bahasa yang bisa kita terapkan.
Tergantung berapa banyak bahasa yang kita sediakan.
Pada contoh ini kita akan membuat sebuah halaman form biodata. dimana bahasa pada halaman form biodata ini bisa berubah-ubah, untuk contoh ini, bahasa yang kita gunakan adalah bahasa indonesia (id) dan bahasa inggris (en).
Untuk selengkapnya tentang laravel localization, silahkan ikuti contoh dan penjelasan berikut ini.
Multi Bahasa Localization Laravel
Yang pertama kali yang harus kita lakukan untuk membuat multi bahasa di laravel adalah mempersiapkan semacam library atau kamus dalam folder resources/lang.
Bahasanya kita pisah-pisahkan ke dalam folder masing-masing. kita akan membuat 2 buah folder dalam resources/lang. yaitu :
en
id
Pengaturan bahasa inggris akan kita simpan dalam folder en. dan pengaturan untuk bahasa indonesia kita simpan dalam folder id.
Cara membuat pengaturan multi language/multi bahasa dengan laravel, pengaturannya kita buat dalam bentuk array. array yang kita buat adalah array yang memiliki key dan value.
Key sebagai pemanggil, dan value berisi isinya. bingung? tenang.
Buat file biodata.php dalam folder id. dan buat juga file biodata.php dalam folder en.
resources/lang/en/biodata.php
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
return[
'welcome'=>'Welcome to our website.',
"title"=>"Please fill form below correctly.",
"profil"=>[
"name"=>"Your Name",
"address"=>"Your Address",
"hobby"=>"Your Hobby",
"job"=>"Your Job",
],
"button"=>"Save",
"thank"=>"Thank you for your contribution.",
];
pada file biodata.php yang kita buat dalam folder en ini, kita membuat array dengan key welcome, title, profil, button dan thank. masing-masing key tersebut sudah kita isi dengan bahasa-bahasa inggris yang akan kita gunakan.
Pada file biodata.php yang kita buat dalam folder id juga kita isi dengan key yang sama, hanya value nya yang berbeda-beda.
resources/lang/id/biodata.php
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
return[
'welcome'=>'Selamat datang di website kami.',
"title"=>"Silahkan isi formulir berikut dengan benar.",
"profil"=>[
"name"=>"Nama Lengkap Anda",
"address"=>"Alamat Anda",
"hobby"=>"Hobi Anda",
"job"=>"Pekerjaan Anda",
],
"button"=>"Simpan",
"thank"=>"Terima kasih atas kontribusi anda.",
];
Jadi ini semacam translate yang kita buat.
Pengaturan bahasa ini bisa kita panggil nantinya dengan
1
2
3
4
5
//cara pertama
@lang("nama_file_bahasa/key_array_nya")
//cara kedua
{{__("nama_file_bahasa/key_array_nya")}}
Oke ya? kita lanjutkan dulu dengan membuat route untuk menampilkan sebuah view. karena nanti kita akan membuat view untuk menampilkan form formulir yang sudah dijelaskan di atas.
routes/web.php
1
2
3
4
// localization default
Route::get('/form',function(){
return view('biodata');
});
di sini kita membuat sebuah route ‘/form’. yang menampilkan view biodate.blade.php.
Jadi sekarang buat view baru dengan nama biodata.blade.php
resources/views/biodata.blade.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Multi Bahasa Localization Laravel-www.malasngoding.com</title>
Seperti yang teman-teman lihat pada view biodata.blade.php di atas. kita memanggil pengaturan-pengaturan bahasa yang sudah kita buat dalam folder lang tadi.
Salah satu contohnya perhatikan pada <h2> .. </h2>. di situ kita memanggil key welcome dari file biodata.php ( @lang(biodata.welcome) ). begitu juga dengan yang lainnya.
Ok, sekarang kita coba lihat hasilnya. jalankan proyek laravelnya.
php artisan serve
dan akses route ‘/form’ nya.
localhost:8000/form
multi bahasa localization laravel
Perhatikan pada gambar di atas. yang tampil adalah formulir dalam bahasa inggris. kenapa bahasa inggris ? karena kita belum menentukan bahasa apa yang akan kita gunakan. sehingg secara default laravel akan menggunakan bahasa inggris.
Mengatur Bahasa Default Localization Laravel
Untuk mengatur bahasa defaultnya, pengaturannya ada di config/app.php. buka dan cari pengaturan berikut. ubah menjadi “id” (bahasa indonesia).
jika sebelumnya
1
'locale'=>'en',
ubah menjadi
1
'locale'=>'id',
maka sekarang bahasa defaultnya adalah bahasa indonesia.
kita lihat hasilnya
localhost:8000/form
multi language laravel
Maka tampil form formulir yang sesuai dengan bahasa yang sudah kita tentukan tadi.
Sampai di sini kita sudah selesai membuat multi bahasa atau multi language dengan laravel localization.
Multi Bahasa Localization Laravel Dengan URL
Tapi bagaimana caranya jika kita ingin memilih bahasanya secara otomatis. kita bisa membuatnya dengan fungsi setLocale() melalui url.
Jadi jika diakses localhost:8000/form/en atau localhost/en/form, maka bahasa yang digunakan adalah bahasa inggris (en). untuk url nya bebas terserah teman-teman untuk memilih 2 pilihan di atas, sesuai selesa masing-masing.
Dan jika diakses localhost:8000/form/id atau localhost:8000/id/form, maka bahasa yang akan digunakan adalah bahasa indonesia (id).
Buka route web.php, silahkan buat route baru seperti berikut.
routes/web.php
1
2
3
4
5
// localization pilih bahasa
Route::get('/{locale}/form',function($locale){
App::setLocale($locale);
return view('biodata');
});
Perhatikan route yang kita buat seperti di atas, di sini kita menangkap url pertama pada route sebagai locale. dan kita set dengan fungsi App::setLocale() seperti yang sudah dijelaskan sebelumnya. Baru kemudian kita panggil view biodata.blade.php nya.
Pada route ini saya membuat dengan format /bahasa/form. Maka sekarang coba akses localhost:8000/en/form. maka akan tampil formulir dengan bahasa inggris.
multi bahasa laravel
dan jika kita akses localhost:8000/id/form. maka bahasa yang digunakan adalah bahasa indonesia.
laravel multi bahasa
Oke selesai sudah Tutorial Laravel #40 : Multi Bahasa Localization Laravel. kita sudah selesai membuat contoh multi bahasa pada laravel. sampai jumpa pada tutorial laravel selanjutnya.
Hanya di www.malasngoding.com, tutorial laravel terlengkap untuk pemula sampau mahir. Terima kasih 🙂
Diki Alfarabi Hadi
Coding enthusiast.
Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.
Action URL Laravel – Action URL adalah sebuah fitur pada laravel untuk tujuan generate URL ke controller, dan juga bisa mengirimkan data parameter seperti pada ...
Import Excel Laravel – Setelah sebelumnya kita belajar tentang membuat export atau cetak laporan excel pada laravel, seperti ada yang kurang jika kita tidak membahas ...
Export Excel Laravel – Fitur export atau cetak laporan excel merupakan salah satu fitur yang paling penting. bagi teman-teman yang sering membuat aplikasi pesanan dari ...
Membuat Laporan PDF Dengan DOMPDF Laravel – Halo selamat datang kembali di seri tutorial laravel lengkap berbahasa indonesia. di malasngoding.com. pada tutorial ini kita akan ...
Download Ebook belajar HTML & CSS dasar untuk pemula gratis.
Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana.
materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.