Cara Membuat Multi Bahasa Di Laravel Framework
Laravel pertama memperkenalkan lokalisasi untuk aplikasi laravel. Lokalisasi adalah topik yang sangat menarik ditambahkan di laravel 5. Pelokalan memungkinkan Anda mengelola pesan dalam berbagai bahasa. Ini berarti Anda dapat mengelola banyak bahasa dalam aplikasi Anda. Misalnya, saya memiliki judul seperti "Home Page", yang merupakan judul statis, saat ini dalam bahasa Inggris, tetapi jika situs ini dibuka dalam bahasa Spanyol, namanya akan seperti .
Jadi laravel menyimpan pesan multibahasa dalam file. Ini dapat dengan mudah dilakukan dengan menggunakan pembantu 'trans'. laravel menyediakan file dalam resources/lang
sehingga Anda dapat melakukannya dengan mudah di aplikasi laravel Anda.
Di direktori "resources/lang
" terdapat folder terpisah untuk berbagai bahasa dan Anda dapat membuat folder baru untuk bahasa Anda sendiri. Berikut adalah contoh sederhana dari lokalisasi. Pertama buat resources/lang/en/messages.php
dan masukkan kode berikut di file tersebut.
Lokasi file : resources/lang/en/messages.php
return [
'title' => 'Home Page Title - English',
'heading' => 'Home Page Heading - English',
];
Anda sekarang memiliki file messages.php untuk bahasa Inggris. File ini digunakan untuk mengambil pesan berbahasa Inggris. Anda sekarang dapat menambahkan pesan bahasa Anda sendiri menggunakan Create New Folder. Jadi buat folder 'es' untuk pesan dalam bahasa Spanyol. Jadi mari buat folder 'es' baru di resources/lang. Pertama buat resources/lang/es/messages.php dan masukkan kode berikut di file tersebut.
Lokasi file: resources/lang/es/messages.php
return [
'title' => 'Home Page Title - Spanish',
'heading' => 'Home Page Heading - Spanish',
];
Sekarang Anda siap menggunakan trans helper di mana saja dalam file tampilan, rute, atau pengontrol. Berikut ini contoh dalam file tampilan:
Lokasi file: resouces/tampilan/welcome.blade.php
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-md-8">
<h1 class="text-primary" >{{ trans('messages.heading') }}</h1>
<?php App::setLocale('es'); ?>
<h1 class="text-primary" >{{ trans('messages.heading') }}</h1>
</div>
</div>
@endsection
Pada contoh di atas, "App::setLocale" dapat digunakan sebagai fungsi fasad ini untuk menentukan bahasa runtime. Output menampilkan pesan bahasa Inggris terlebih dahulu, kemudian pesan bahasa Spanyol.
Anda juga dapat memodifikasi app.php untuk menentukan bahasa default "Spanyol". Jika Anda ingin mengubahnya, buka config/app.php dan tentukan nama folder locale = language. Anda juga dapat menyetel pesan bahasa "fallback_locale". fallback_locale berarti bahwa jika bahasa yang saat ini disetel tidak memiliki pesan, maka akan diambil dari bahasa ini secara default. Anda dapat melihat konfigurasi di bawah ini.
config/app.php
[
.....
'locale' => 'en',
......
'fallback_locale' => 'en',
.....
]
Sekarang mari kita mulai mengimplementasikannya ke dalam aplikasi laravel Anda. ini sangat bagus.