Wawasan & Cerita dari BBYTS

Temukan artikel, ide, dan teknologi terbaru yang kami bagikan untuk menginspirasi dan mengedukasi.

🌐 Laravel Multilanguage: Panduan Lengkap Membuat Aplikasi Multi-Bahasa

CNFadil Hijayat RumasorengΒ· 02 Sep 2025Β· 2
🌐 Laravel Multilanguage: Panduan Lengkap Membuat Aplikasi Multi-Bahasa

🌐 Panduan Lengkap Laravel Multilanguage (Localization)

Kalau kamu sedang membangun aplikasi Laravel yang digunakan oleh banyak orang dari berbagai negara, maka fitur multilanguage atau localization adalah jawabannya. Dengan fitur ini, kamu bisa menampilkan teks dan konten sesuai bahasa pilihan pengguna.

Bayangkan, satu aplikasi tapi bisa berbicara Bahasa Indonesia, Bahasa Inggris, bahkan Bahasa Jepang β€” tanpa ribet bikin project terpisah. Laravel sudah menyiapkan semua β€œalat” bawaan untuk mewujudkannya.


πŸ“Œ Apa Itu Localization di Laravel?

Localization (l10n) adalah proses menerjemahkan teks dan pesan aplikasi ke dalam berbagai bahasa. Laravel menyediakan mekanisme bawaan untuk mengatur dan mengambil terjemahan sesuai locale atau bahasa yang digunakan.

Secara default, Laravel menggunakan bahasa Inggris. Tapi tenang, kamu bisa menambah bahasa lain hanya dengan membuat folder dan file terjemahan baru.


βš™οΈ Langkah Dasar Konfigurasi

1. Atur Default Locale

Buka file config/app.php lalu ubah nilai locale sesuai bahasa default yang kamu mau. Misalnya, kalau ingin aplikasi default ke bahasa Indonesia:

'locale' => 'id',

2. Struktur Folder Bahasa

Laravel menyimpan semua file terjemahan di folder resources/lang/. Struktur dasarnya kira-kira seperti ini:

resources/lang/
β”œβ”€β”€ en/
β”‚   └── messages.php
β”œβ”€β”€ id/
β”‚   └── messages.php
  • Setiap folder = 1 bahasa.

  • Di dalamnya, kita simpan file PHP berisi array terjemahan.


3. Contoh Isi File Bahasa

resources/lang/en/messages.php

return [
    'welcome' => 'Welcome to our website!',
    'login' => 'Login',
];

resources/lang/id/messages.php

return [
    'welcome' => 'Selamat datang di situs kami!',
    'login' => 'Masuk',
];

4. Cara Menampilkan Terjemahan di Blade

Laravel menyediakan dua cara utama untuk memanggil teks terjemahan:

{{ __('messages.welcome') }}

Atau bisa juga dengan:

@lang('messages.login')

Keduanya sama-sama valid, tinggal pilih mana yang lebih nyaman.


🌍 Menentukan Bahasa Secara Dinamis

Kadang, pengguna ingin mengganti bahasa sesuai preferensi mereka. Laravel mendukung pengaturan locale secara dinamis.


1. Mengubah Locale Saat Runtime

Kamu bisa mengatur bahasa secara langsung lewat kode:

App::setLocale('id');

Biasanya kode ini ditempatkan di AppServiceProvider atau melalui Middleware supaya otomatis untuk setiap request.


2. Middleware Otomatis untuk Bahasa

Supaya lebih rapi, kita bisa membuat middleware khusus:

php artisan make:middleware SetLocale

Edit file app/Http/Middleware/SetLocale.php:

public function handle($request, Closure $next)
{
    $locale = session('locale', config('app.locale'));
    app()->setLocale($locale);

    return $next($request);
}

Lalu, daftarkan middleware-nya di app/Http/Kernel.php:

protected $middlewareGroups = [
    'web' => [
        // middleware bawaan Laravel
        \App\Http\Middleware\SetLocale::class,
    ],
];

Dengan cara ini, Laravel akan otomatis membaca bahasa dari session.


3. Ganti Bahasa Lewat URL

Kalau mau lebih simpel, kamu bisa membuat route untuk mengganti bahasa:

Route::get('/lang/{locale}', function ($locale) {
    session(['locale' => $locale]);
    return redirect()->back();
});

Lalu di Blade, tinggal tambahkan tombol untuk memilih bahasa:

<a href="{{ url('/lang/en') }}">English</a>
<a href="{{ url('/lang/id') }}">Indonesia</a>

πŸ” Tips Lanjutan

1. Pisahkan File Berdasarkan Fitur

Supaya lebih rapi, sebaiknya buat file terjemahan per fitur:

resources/lang/en/
β”œβ”€β”€ auth.php
β”œβ”€β”€ dashboard.php
β”œβ”€β”€ messages.php

2. Menggunakan Parameter dan Plural

Kadang, kita butuh menampilkan teks yang dinamis. Contohnya:

// messages.php
'welcome_user' => 'Welcome, :name!',

Di Blade:

{{ __('messages.welcome_user', ['name' => 'Rumasoreng']) }}

Laravel akan otomatis mengganti :name dengan nama pengguna.


🎯 Kapan Harus Menggunakan Localization?

Kebutuhan

Cocok Pakai Laravel Localization

Aplikasi multi-bahasa UI

βœ… Sangat cocok

Set bahasa per pengguna

βœ… Bisa pakai session/middleware

Produk internasional / SaaS

βœ… Mudah diterapkan


βœ… Kesimpulan

  • Laravel sudah menyediakan fitur localization bawaan.

  • Cukup buat folder dan file bahasa di resources/lang.

  • Gunakan middleware atau session untuk mengatur bahasa per pengguna.

  • Sangat cocok untuk aplikasi yang menargetkan pengguna global.

Dengan memanfaatkan fitur localization, kamu tidak hanya membuat aplikasi lebih user-friendly, tapi juga siap bersaing di pasar internasional.

πŸ’¬ Komentar

Yanto
03/09/25, 05.23

Im interested

Zayn
03/09/25, 02.55

Thanks bang πŸ™