Laravel - Pelan Pemasyarakatan: Panduan Untuk Pemula

Hai, para pengembang yang sedang belajar! Hari ini, kita akan memulai perjalanan yang menarik ke dunia pelan pemasyarakatan Laravel. Jangan khawatir jika Anda baru saja memulai dalam pemrograman - saya akan menjadi panduan ramah Anda, menjelaskan segala sesuatu secara langkah demi langkah. Pada akhir panduan ini, Anda akan dapat membuat aplikasi Laravel Anda berbicara dalam banyak bahasa! Mari kita mulai!

Laravel - Localization

Apa Itu Pelan Pemasyarakatan?

Sebelum kita masuk ke kode, mari kita memahami apa arti pelan pemasyarakatan. Bayangkan Anda menciptakan website yang fantastis, tetapi semua pengguna Anda tidak berbicara dalam bahasa yang sama. Apakah bagus kalau situs Anda dapat secara otomatis berubah bahasa berdasarkan preferensi pengguna? Itu tepatnya apa yang pelan pemasyarakatan lakukan!

Pelan pemasyarakatan adalah proses penyesuaian aplikasi Anda ke dalam bahasa dan wilayah yang berbeda. Itu seperti mengajarkan aplikasi Anda menjadi multilingual!

Mengapa Pelan Pemasyarakatan Penting?

Biarkan saya share cerita singkat. Beberapa tahun yang lalu, salah satu murid saya menciptakan situs e-commerce yang menakjubkan. Itu sempurna... kecuali hanya dalam Bahasa Inggris. Ketika dia mencoba untuk mengembangkan ke pasar yang berbicara Spanyol, dia menyadari dia harus membangun hampir semua hal lagi! Jika dia telah menggunakan pelan pemasyarakatan dari awal, itu akan jauh lebih mudah.

Pelan pemasyarakatan membantu Anda:

  1. Mencapai audiens global
  2. Menyempurnakan pengalaman pengguna
  3. Menambahkan keterlibatan dan retensi pengguna

Sekarang, mari kita lihat bagaimana Laravel membuat proses ini mudah!

Menyiapkan Pelan Pemasyarakatan di Laravel

Langkah 1: Membuat Berkas Bahasa

Pertama, kita perlu membuat berkas bahasa. Laravel membuat ini sangat mudah!

  1. Pergi ke direktori resources/lang dalam proyek Laravel Anda.
  2. Buat folder baru untuk setiap bahasa yang Anda ingin dukung. Misalnya, en untuk Bahasa Inggris, es untuk Spanyol.
  3. Dalam setiap folder, buat berkas PHP yang dinamai sesuai fitur yang Anda ingin terjemahkan. Mari kita mulai dengan messages.php.

Inilah struktur direktori Anda mungkin terlihat seperti ini:

resources/
lang/
en/
messages.php
es/
messages.php

Sekarang, mari kita menambahkan beberapa terjemahan ke dalam berkas-berkas ini:

// resources/lang/en/messages.php
return [
'welcome' => 'Selamat datang di situs web kami!',
'goodbye' => 'Goodbye, see you soon!',
];

// resources/lang/es/messages.php
return [
'welcome' => '¡Bienvenido a nuestro sitio web!',
'goodbye' => '¡Adiós, hasta pronto!',
];

Langkah 2: Menggunakan Terjemahan di Kode Anda

Sekarang kita memiliki terjemahan, mari kita gunakan mereka di kode kita. Laravel menyediakan beberapa cara untuk melakukan ini:

Metode 1: Menggunakan Fungsi Bantu __()

echo __('messages.welcome');

Ini akan mengeluarkan "Selamat datang di situs web kami!" jika aplikasi diatur ke Bahasa Inggris, atau "¡Bienvenido a nuestro sitio web!" jika diatur ke Spanyol.

Metode 2: Menggunakan Fungsi Bantu trans()

echo trans('messages.goodbye');

Ini melakukan hal yang sama seperti __() tetapi beberapa pengembang lebih suka sintaks ini.

Metode 3: Menggunakan Direktif @lang di Template Blade

Dalam template Blade Anda, Anda dapat menggunakan direktif @lang:

<h1>@lang('messages.welcome')</h1>

Ini sangat berguna ketika Anda bekerja dengan template HTML.

Langkah 3: Mengubah Locale Aplikasi

Sekarang, bagaimana kita mengatakan ke Laravel tentang bahasa mana yang harus digunakan? Ada beberapa cara:

Metode 1: Mengatur Locale Default

Dalam berkas config/app.php, Anda dapat mengatur locale default:

'locale' => 'id',

Metode 2: Mengubah Locale di Waktu Eksekusi

Anda dapat mengubah locale secara dinamis dalam kode Anda:

App::setLocale('id');

Ini berguna ketika Anda ingin mengubah bahasa berdasarkan preferensi pengguna atau pengaturan.

Metode 3: Menggunakan Middleware untuk Locale

Untuk kontrol yang lebih lanjut, Anda dapat membuat middleware untuk mengatur locale berdasarkan berbagai faktor. Ini adalah contoh sederhana:

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\App;

class SetLocale
{
public function handle($request, Closure $next)
{
if ($request->session()->has('locale')) {
App::setLocale($request->session()->get('locale'));
}
return $next($request);
}
}

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

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

Teknik Pelan Pemasyarakatan Lanjut

Pluralisasi

Laravel dapat menangani pluralisasi untuk Anda! Ini adalah cara:

// Dalam berkas bahasa Anda
'apples' => '{0} No apples|{1} One apple|[2,*] :count apples',

// Dalam kode Anda
echo trans_choice('apples', 0); // Mengeluarkan: No apples
echo trans_choice('apples', 1); // Mengeluarkan: One apple
echo trans_choice('apples', 5); // Mengeluarkan: 5 apples

Pelan Pemasyarakatan dengan Parameter

Anda juga dapat menggunakan parameter dalam terjemahan Anda:

// Dalam berkas bahasa Anda
'welcome_name' => 'Selamat datang, :name!',

// Dalam kode Anda
echo __('messages.welcome_name', ['name' => 'John']); // Mengeluarkan: Selamat datang, John!

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dunia pelan pemasyarakatan Laravel. Dengan alat ini, Anda sekarang dapat membuat aplikasi Anda berbicara dalam banyak bahasa!

Ingat, kunci untuk menguasai pelan pemasyarakatan (dan pemrograman umum) adalah praktik. Cobalah menciptakan proyek kecil dan implementasikan pelan pemasyarakatan dari awal. Anda akan terkejut betapa cepat itu menjadi kebiasaan!

Semangat coding, dan moga aplikasi Anda dapat berbicara dalam banyak bahasa! ??️?

Metode Deskripsi Contoh
__() Fungsi bantu untuk terjemahan __('messages.welcome')
trans() Fungsi bantu lainnya untuk terjemahan trans('messages.goodbye')
@lang Direktif Blade untuk terjemahan @lang('messages.welcome')
App::setLocale() Mengatur locale aplikasi App::setLocale('id')
trans_choice() Terjemahan dengan pluralisasi trans_choice('apples', 5)

Credits: Image by storyset