Laravel Localization adalah cara yang powerful untuk menangani multiple language atau bahasa pada aplikasi Laravel. mcamara/laravel-localization
adalah paket yang menyediakan alat bantu untuk mempermudah implementasi dan manajemen terjemahan dalam proyek Laravel. Berikut adalah langkah-langkah untuk mengintegrasikan mcamara/laravel-localization
:
Instalasi Paket:
Pertama-tama, instal paket menggunakan Composer:
composer require mcamara/laravel-localization
Tambahkan Service Provider:
Buka file config/app.php
dan tambahkan Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider::class
ke dalam array providers
:
'providers' => [
// ...
Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider::class,
],
Tambahkan Middleware:
Buka file app/Http/Kernel.php
dan tambahkan middleware ke dalam array $middlewareGroups
atau $middleware
:
'web' => [
// ...
\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class,
],
Publish Konfigurasi dan Views:
Jalankan perintah artisan untuk mempublish konfigurasi dan views:
php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider"
Ini akan membuat file laravellocalization.php
di dalam direktori config
dan menyalin views ke direktori resources/views/vendor/laravellocalization
.
Konfigurasi:
Buka file config/laravellocalization.php
dan sesuaikan pengaturan sesuai kebutuhan aplikasi Anda. Pastikan untuk memeriksa dan mengonfigurasi driver URL manager yang digunakan oleh paket.
Tambahkan Middleware Grup:
Jika Anda ingin melindungi beberapa route yang memerlukan autentikasi atau otorisasi, Anda dapat menambahkan middleware group di dalam file app/Http/Kernel.php
. Contoh:
'web' => [
// ...
\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
\Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class,
'web',
],
Gunakan Helper Function:
Anda dapat menggunakan helper function localize_url
untuk menghasilkan URL dengan bahasa yang benar. Contoh:
$url = localize_url('en', 'your/route');
Juga, Anda bisa menggunakan localization_url
helper function untuk mendapatkan URL untuk setiap bahasa yang diaktifkan:
$url = localization_url('fr');
Terjemahan View dan Routes:
Anda dapat menggunakan fungsi @lang
di views dan file terjemahan di resources/lang
untuk menangani teks yang dapat diterjemahkan. Juga, perbarui file routes/web.php
untuk menangani terjemahan route.
Contoh file terjemahan di resources/lang/id/example.php
:
return [
'welcome' => 'Selamat datang!',
];
Penggunaan di dalam view:
{{ __('example.welcome') }}
Penggunaan di dalam controller:
trans('example.welcome');