Kali ini saya akan coba menyusun ulang gaya penulisan agar lebih mudah dibaca, terkhusus untuk para developer yang stuck di tengah jalan. Maka dari itu kalian bisa berikan tanggapan kalian dari gaya penulisan baru ini di kolom komentar.
#masalah
Website sudah konsisten pakai bahasa indonesia tapi, errornya kayak gini :
Pernah mengalami stuck seperti di atas ?
Tenang, sharing kita kali ini adalah bagaimana cara untuk mengganti bahasa dari error validation milik laravel yang defaultnya berbahasa inggris. (ya iyalah yg buat orang sono)
#solusi
satu
Pertama, yang harus kita lakukan adalah mendownload file validation sesuai bahasa yang akan kita pakai.
Untuk mendownload versi lengkapnya kalian bisa menjalankan perintah :
composer require caouecs/laravel-lang
source: https://github.com/caouecs/Laravel-lang
dua
Jika ingin memkai hanya bahasa indonesia nya saja, buatlah folder baru di dalam directory resource/lang dengan nama id dan simpan ke-empat file di atas didalam folder id tersebut.
lalu copy disini isi dari tiap2 file dibawah ini :
auth.php
<?php | |
return [ | |
/* | |
|-------------------------------------------------------------------------- | |
| Baris-baris bahasa untuk autentifikasi | |
|-------------------------------------------------------------------------- | |
| | |
| Baris bahasa berikut digunakan selama proses autentifikasi untuk beberapa pesan | |
| yang perlu kita tampilkan ke pengguna. Anda bebas untuk memodifikasi | |
| baris bahasa sesuai dengan keperluan aplikasi anda. | |
| | |
*/ | |
'failed' => 'Identitas tersebut tidak cocok dengan data kami.', | |
'throttle' => 'Terlalu banyak usaha masuk. Silahkan coba lagi dalam :seconds detik.', | |
]; |
pagination.php
<?php | |
return [ | |
/* | |
|--------------------------------------------------------------------------------------- | |
| Baris Bahasa untuk Penomoran Halaman | |
|--------------------------------------------------------------------------------------- | |
| | |
| Baris bahasa berikut meggunakan pustaka penomoran untuk membuat | |
| tautan yang sederhana. Anda bebas untuk mengubahnya kapan pun yang Anda | |
| inginkan menyesuaikan dengan pandangan Anda agar lebih cocok ke aplikasi Anda. | |
| | |
*/ | |
'previous' => '« Sebelumnya', | |
'next' => 'Berikutnya »', | |
]; |
passwords.php
<?php | |
return [ | |
/* | |
|--------------------------------------------------------------------------------------- | |
| Baris Bahasa untuk Pengingat Kata Sandi | |
|--------------------------------------------------------------------------------------- | |
| | |
| Baris bahasa berikut adalah baris standar yang cocok dengan alasan yang diberikan | |
| oleh pembongkar kata sandi yang telah gagal dalam upaya pembaruan kata | |
| sandi, misalnya token tidak valid atau kata sandi baru tidak valid. | |
| | |
*/ | |
'reset' => 'Kata sandi Anda sudah direset!', | |
'sent' => 'Kami sudah mengirim surel yang berisi tautan untuk mereset kata sandi Anda!', | |
'throttled' => 'Harap tunggu sebelum mencoba lagi.', | |
'token' => 'Token pengaturan ulang kata sandi tidak sah.', | |
'user' => 'Kami tidak dapat menemukan pengguna dengan alamat surel tersebut.', | |
]; |
validation.php
<?php | |
return [ | |
/* | |
|--------------------------------------------------------------------------------------- | |
| Baris Bahasa untuk Validasi | |
|--------------------------------------------------------------------------------------- | |
| | |
| Baris bahasa berikut ini berisi standar pesan kesalahan yang digunakan oleh | |
| kelas validasi. Beberapa aturan mempunyai banyak versi seperti aturan 'size'. | |
| Jangan ragu untuk mengoptimalkan setiap pesan yang ada di sini. | |
| | |
*/ | |
'accepted' => ':attribute harus diterima.', | |
'active_url' => ':attribute bukan URL yang valid.', | |
'after' => ':attribute harus berisi tanggal setelah :date.', | |
'after_or_equal' => ':attribute harus berisi tanggal setelah atau sama dengan :date.', | |
'alpha' => ':attribute hanya boleh berisi huruf.', | |
'alpha_dash' => ':attribute hanya boleh berisi huruf, angka, strip, dan garis bawah.', | |
'alpha_num' => ':attribute hanya boleh berisi huruf dan angka.', | |
'array' => ':attribute harus berisi sebuah array.', | |
'before' => ':attribute harus berisi tanggal sebelum :date.', | |
'before_or_equal' => ':attribute harus berisi tanggal sebelum atau sama dengan :date.', | |
'between' => [ | |
'numeric' => ':attribute harus bernilai antara :min sampai :max.', | |
'file' => ':attribute harus berukuran antara :min sampai :max kilobita.', | |
'string' => ':attribute harus berisi antara :min sampai :max karakter.', | |
'array' => ':attribute harus memiliki :min sampai :max anggota.', | |
], | |
'boolean' => ':attribute harus bernilai true atau false', | |
'confirmed' => 'Konfirmasi :attribute tidak cocok.', | |
'date' => ':attribute bukan tanggal yang valid.', | |
'date_equals' => ':attribute harus berisi tanggal yang sama dengan :date.', | |
'date_format' => ':attribute tidak cocok dengan format :format.', | |
'different' => ':attribute dan :other harus berbeda.', | |
'digits' => ':attribute harus terdiri dari :digits angka.', | |
'digits_between' => ':attribute harus terdiri dari :min sampai :max angka.', | |
'dimensions' => ':attribute tidak memiliki dimensi gambar yang valid.', | |
'distinct' => ':attribute memiliki nilai yang duplikat.', | |
'email' => ':attribute harus berupa alamat surel yang valid.', | |
'ends_with' => ':attribute harus diakhiri salah satu dari berikut: :values', | |
'exists' => ':attribute yang dipilih tidak valid.', | |
'file' => ':attribute harus berupa sebuah berkas.', | |
'filled' => ':attribute harus memiliki nilai.', | |
'gt' => [ | |
'numeric' => ':attribute harus bernilai lebih besar dari :value.', | |
'file' => ':attribute harus berukuran lebih besar dari :value kilobita.', | |
'string' => ':attribute harus berisi lebih besar dari :value karakter.', | |
'array' => ':attribute harus memiliki lebih dari :value anggota.', | |
], | |
'gte' => [ | |
'numeric' => ':attribute harus bernilai lebih besar dari atau sama dengan :value.', | |
'file' => ':attribute harus berukuran lebih besar dari atau sama dengan :value kilobita.', | |
'string' => ':attribute harus berisi lebih besar dari atau sama dengan :value karakter.', | |
'array' => ':attribute harus terdiri dari :value anggota atau lebih.', | |
], | |
'image' => ':attribute harus berupa gambar.', | |
'in' => ':attribute yang dipilih tidak valid.', | |
'in_array' => ':attribute tidak ada di dalam :other.', | |
'integer' => ':attribute harus berupa bilangan bulat.', | |
'ip' => ':attribute harus berupa alamat IP yang valid.', | |
'ipv4' => ':attribute harus berupa alamat IPv4 yang valid.', | |
'ipv6' => ':attribute harus berupa alamat IPv6 yang valid.', | |
'json' => ':attribute harus berupa JSON string yang valid.', | |
'lt' => [ | |
'numeric' => ':attribute harus bernilai kurang dari :value.', | |
'file' => ':attribute harus berukuran kurang dari :value kilobita.', | |
'string' => ':attribute harus berisi kurang dari :value karakter.', | |
'array' => ':attribute harus memiliki kurang dari :value anggota.', | |
], | |
'lte' => [ | |
'numeric' => ':attribute harus bernilai kurang dari atau sama dengan :value.', | |
'file' => ':attribute harus berukuran kurang dari atau sama dengan :value kilobita.', | |
'string' => ':attribute harus berisi kurang dari atau sama dengan :value karakter.', | |
'array' => ':attribute harus tidak lebih dari :value anggota.', | |
], | |
'max' => [ | |
'numeric' => ':attribute maskimal bernilai :max.', | |
'file' => ':attribute maksimal berukuran :max kilobita.', | |
'string' => ':attribute maskimal berisi :max karakter.', | |
'array' => ':attribute maksimal terdiri dari :max anggota.', | |
], | |
'mimes' => ':attribute harus berupa berkas berjenis: :values.', | |
'mimetypes' => ':attribute harus berupa berkas berjenis: :values.', | |
'min' => [ | |
'numeric' => ':attribute minimal bernilai :min.', | |
'file' => ':attribute minimal berukuran :min kilobita.', | |
'string' => ':attribute minimal berisi :min karakter.', | |
'array' => ':attribute minimal terdiri dari :min anggota.', | |
], | |
'not_in' => ':attribute yang dipilih tidak valid.', | |
'not_regex' => 'Format :attribute tidak valid.', | |
'numeric' => ':attribute harus berupa angka.', | |
'password' => 'Kata sandi salah.', | |
'present' => ':attribute wajib ada.', | |
'regex' => 'Format :attribute tidak valid.', | |
'required' => ':attribute wajib diisi.', | |
'required_if' => ':attribute wajib diisi bila :other adalah :value.', | |
'required_unless' => ':attribute wajib diisi kecuali :other memiliki nilai :values.', | |
'required_with' => ':attribute wajib diisi bila terdapat :values.', | |
'required_with_all' => ':attribute wajib diisi bila terdapat :values.', | |
'required_without' => ':attribute wajib diisi bila tidak terdapat :values.', | |
'required_without_all' => ':attribute wajib diisi bila sama sekali tidak terdapat :values.', | |
'same' => ':attribute dan :other harus sama.', | |
'size' => [ | |
'numeric' => ':attribute harus berukuran :size.', | |
'file' => ':attribute harus berukuran :size kilobyte.', | |
'string' => ':attribute harus berukuran :size karakter.', | |
'array' => ':attribute harus mengandung :size anggota.', | |
], | |
'starts_with' => ':attribute harus diawali salah satu dari berikut: :values', | |
'string' => ':attribute harus berupa string.', | |
'timezone' => ':attribute harus berisi zona waktu yang valid.', | |
'unique' => ':attribute sudah ada sebelumnya.', | |
'uploaded' => ':attribute gagal diunggah.', | |
'url' => 'Format :attribute tidak valid.', | |
'uuid' => ':attribute harus merupakan UUID yang valid.', | |
/* | |
|--------------------------------------------------------------------------------------- | |
| Baris Bahasa untuk Validasi Kustom | |
|--------------------------------------------------------------------------------------- | |
| | |
| Di sini Anda dapat menentukan pesan validasi untuk atribut sesuai keinginan dengan menggunakan | |
| konvensi "attribute.rule" dalam penamaan barisnya. Hal ini mempercepat dalam menentukan | |
| baris bahasa kustom yang spesifik untuk aturan atribut yang diberikan. | |
| | |
*/ | |
'custom' => [ | |
'attribute-name' => [ | |
'rule-name' => 'custom-message', | |
], | |
], | |
/* | |
|--------------------------------------------------------------------------------------- | |
| Kustom Validasi Atribut | |
|--------------------------------------------------------------------------------------- | |
| | |
| Baris bahasa berikut digunakan untuk menukar 'placeholder' atribut dengan sesuatu yang | |
| lebih mudah dimengerti oleh pembaca seperti "Alamat Surel" daripada "surel" saja. | |
| Hal ini membantu kita dalam membuat pesan menjadi lebih ekspresif. | |
| | |
*/ | |
'attributes' => [ | |
], | |
]; |
Langkah selanjutnya adalah mengubah konfigurasi bahasa dari project laravel kita di dalam file config/app.php
Menjadi seperti berikut :
/*
|-------------------------------------------------------------------
| Application Timezone
|-------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Jakarta',
/*
|-------------------------------------------------------------------
| Application Locale Configuration
|-------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'id',
/*
|-------------------------------------------------------------------
| Application Fallback Locale
|-------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'id',
/*
|-------------------------------------------------------------------
| Faker Locale
|-------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'id_ID',
#selesai
Setelah itu coba login untuk melihat hasilnya.
Sekian sharing kita kali ini, semoga bermanfaat. pertanyaan lebih lanjut bisa ditanyakan di kolom komentar. Jika kalian merasa, artikel ini bermanfaat. Silahkan share ke teman-teman yang lain jg ya..
Salam Laravel Explorer !
Wassalamu’alaikum Warahmatullahi Wabarakatuh
*first published:
Top comments (6)
Bro kalo ngubah ':date' di bawah ini jadi Indonesia gimana ya?
gua pas make itu ':date' nya jadi tetep bahasa inggris
itu tampil sesuai dgn value yg kamu masukin di validasinya
kemungkinan kodinganmu gini:
yang mana tomorrow itu bawaan bahasa dari validasi laravelnya, jadi kalo mau lebih jelas mungkin bisa kasi tanggal pake function php atau carbon (library tanggal)
Bro, library nya udah abandoned dan diarahkan ke library lain yang ini : github.com/Laravel-Lang/lang
thanks, masih relevan tutorialnya. keren
Thanks bro
sama-sama bro, btw blog (joglohub) nya keren.. 👍🏻