feat: Add Indonesian language support with translations for validation, authentication, pagination, and password management

This commit is contained in:
Yoga Pangestu 2026-03-07 13:51:49 +07:00
parent 39593b7170
commit 868a073fc2
7 changed files with 1232 additions and 1 deletions

View File

@ -20,6 +20,7 @@
},
"require-dev": {
"fakerphp/faker": "^1.23",
"laravel-lang/lang": "^15.28",
"laravel/pail": "^1.2.2",
"laravel/pint": "^1.24",
"laravel/sail": "^1.41",

996
composer.lock generated

File diff suppressed because it is too large Load Diff

49
lang/id.json Normal file
View File

@ -0,0 +1,49 @@
{
"(and :count more error)": "(dan :count kesalahan lainnya)",
"(and :count more errors)": "(dan :count kesalahan lainnya)|(dan :count kesalahan lainnya)|(dan :count kesalahan lainnya)",
"A decryption key is required.": "Kunci dekripsi diperlukan.",
"All rights reserved.": "Hak Cipta Dilindungi.",
"Encrypted environment file already exists.": "Enkripsi file environment sudah ada.",
"Encrypted environment file not found.": "Enkripsi file environment tidak ditemukan.",
"Environment file already exists.": "File environment sudah ada.",
"Environment file not found.": "file environment tidak ditemukan.",
"errors": "kesalahan",
"Forbidden": "Dilarang",
"Go to page :page": "Ke halaman :page",
"Hello!": "Halo!",
"If you did not create an account, no further action is required.": "Jika Anda tidak membuat akun, Anda tidak perlu melakukan apapun.",
"If you did not request a password reset, no further action is required.": "Jika Anda tidak meminta pengaturan ulang kata sandi, Anda tidak perlu melakukan apapun.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Jika Anda mengalami kesulitan mengklik tombol \":actionText\", salin dan tempel URL di bawah\nke browser web Anda:",
"Invalid filename.": "Nama file tidak valid.",
"Invalid JSON was returned from the route.": "JSON yang tidak valid dikembalikan dari rute.",
"length": "panjang",
"Location": "Lokasi",
"Login": "Masuk",
"Logout": "Keluar",
"Not Found": "Tidak ditemukan",
"of": "dari",
"Page Expired": "Halaman Kadaluwarsa",
"Pagination Navigation": "Navigasi Paginasi",
"Payment Required": "Pembayaran Diperlukan",
"Please click the button below to verify your email address.": "Silakan klik tombol di bawah untuk memverifikasi alamat surel Anda.",
"Regards,": "Salam,",
"Register": "Daftar",
"Reset Password": "Atur Ulang Kata Sandi",
"Reset Password Notification": "Pemberitahuan Pengaturan Ulang Kata Sandi",
"results": "hasil",
"Server Error": "Terjadi Kesalahan Server",
"Service Unavailable": "Layanan Tidak Tersedia",
"Showing": "Menampilkan",
"The given data was invalid.": "Data yang diberikan tidak valid.",
"The response is not a streamed response.": "Responsnya bukan respons yang dialirkan.",
"The response is not a view.": "Responsnya bukanlah pandangan.",
"This action is unauthorized.": "Tindakan ini tidak sah.",
"This password reset link will expire in :count minutes.": "Tautan pengaturan ulang kata sandi ini akan kedaluwarsa dalam :count menit.",
"to": "kepada",
"Toggle navigation": "Alihkan navigasi",
"Too Many Requests": "Terlalu Banyak Permintaan",
"Unauthorized": "Tidak Diizinkan",
"Verify Email Address": "Verifikasi Alamat Surel",
"Whoops!": "Aduh!",
"You are receiving this email because we received a password reset request for your account.": "Anda menerima surel ini karena kami menerima permintaan pengaturan ulang kata sandi untuk akun anda."
}

9
lang/id/auth.php Normal file
View File

@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
return [
'failed' => 'Identitas tersebut tidak cocok dengan data kami.',
'password' => 'Kata sandi salah.',
'throttle' => 'Terlalu banyak upaya masuk. Silahkan coba lagi dalam :seconds detik.',
];

8
lang/id/pagination.php Normal file
View File

@ -0,0 +1,8 @@
<?php
declare(strict_types=1);
return [
'next' => 'Berikutnya &raquo;',
'previous' => '&laquo; Sebelumnya',
];

11
lang/id/passwords.php Normal file
View File

@ -0,0 +1,11 @@
<?php
declare(strict_types=1);
return [
'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.',
];

159
lang/id/validation.php Normal file
View File

@ -0,0 +1,159 @@
<?php
declare(strict_types=1);
return [
'accepted' => ':Attribute harus diterima.',
'accepted_if' => ':Attribute harus diterima ketika :other berisi :value.',
'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.',
'any_of' => 'Bidang :attribute tidak valid.',
'array' => ':Attribute harus berisi sebuah array.',
'ascii' => ':Attribute hanya boleh berisi karakter dan simbol alfanumerik single-byte.',
'before' => ':Attribute harus berisi tanggal sebelum :date.',
'before_or_equal' => ':Attribute harus berisi tanggal sebelum atau sama dengan :date.',
'between' => [
'array' => ':Attribute harus memiliki :min sampai :max anggota.',
'file' => ':Attribute harus berukuran antara :min sampai :max kilobita.',
'numeric' => ':Attribute harus bernilai antara :min sampai :max.',
'string' => ':Attribute harus berisi antara :min sampai :max karakter.',
],
'boolean' => ':Attribute harus bernilai true atau false',
'can' => 'Bidang :attribute berisi nilai yang tidak sah.',
'confirmed' => 'Konfirmasi :attribute tidak cocok.',
'contains' => 'Bidang :attribute tidak memiliki nilai yang diperlukan.',
'current_password' => 'Kata sandi salah.',
'date' => ':Attribute bukan tanggal yang valid.',
'date_equals' => ':Attribute harus berisi tanggal yang sama dengan :date.',
'date_format' => ':Attribute tidak cocok dengan format :format.',
'decimal' => ':Attribute harus memiliki :decimal tempat desimal.',
'declined' => ':Attribute ini harus ditolak.',
'declined_if' => ':Attribute ini harus ditolak ketika :other bernilai :value.',
'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.',
'doesnt_contain' => 'Bidang :attribute tidak boleh berisi salah satu dari yang berikut: :values.',
'doesnt_end_with' => ':Attribute tidak boleh diakhiri dengan salah satu dari berikut ini: :values.',
'doesnt_start_with' => ':Attribute tidak boleh dimulai dengan salah satu dari berikut ini: :values.',
'email' => ':Attribute harus berupa alamat surel yang valid.',
'encoding' => 'Bidang :attribute harus dikodekan dalam :encoding.',
'ends_with' => ':Attribute harus diakhiri salah satu dari berikut: :values',
'enum' => ':Attribute yang dipilih tidak valid.',
'exists' => ':Attribute yang dipilih tidak valid.',
'extensions' => 'Bidang :attribute harus memiliki salah satu ekstensi berikut: :values.',
'file' => ':Attribute harus berupa sebuah berkas.',
'filled' => ':Attribute harus memiliki nilai.',
'gt' => [
'array' => ':Attribute harus memiliki lebih dari :value anggota.',
'file' => ':Attribute harus berukuran lebih besar dari :value kilobita.',
'numeric' => ':Attribute harus bernilai lebih besar dari :value.',
'string' => ':Attribute harus berisi lebih besar dari :value karakter.',
],
'gte' => [
'array' => ':Attribute harus terdiri dari :value anggota atau lebih.',
'file' => ':Attribute harus berukuran lebih besar dari atau sama dengan :value kilobita.',
'numeric' => ':Attribute harus bernilai lebih besar dari atau sama dengan :value.',
'string' => ':Attribute harus berisi lebih besar dari atau sama dengan :value karakter.',
],
'hex_color' => 'Bidang :attribute harus berupa warna heksadesimal yang valid.',
'image' => ':Attribute harus berupa gambar.',
'in' => ':Attribute yang dipilih tidak valid.',
'in_array' => ':Attribute tidak ada di dalam :other.',
'in_array_keys' => ':attribute bidang harus berisi setidaknya satu dari tombol berikut: :values.',
'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.',
'list' => 'Bidang :attribute harus berupa daftar.',
'lowercase' => ':Attribute harus berupa huruf kecil.',
'lt' => [
'array' => ':Attribute harus memiliki kurang dari :value anggota.',
'file' => ':Attribute harus berukuran kurang dari :value kilobita.',
'numeric' => ':Attribute harus bernilai kurang dari :value.',
'string' => ':Attribute harus berisi kurang dari :value karakter.',
],
'lte' => [
'array' => ':Attribute harus tidak lebih dari :value anggota.',
'file' => ':Attribute harus berukuran kurang dari atau sama dengan :value kilobita.',
'numeric' => ':Attribute harus bernilai kurang dari atau sama dengan :value.',
'string' => ':Attribute harus berisi kurang dari atau sama dengan :value karakter.',
],
'mac_address' => ':Attribute harus berupa alamat MAC yang valid.',
'max' => [
'array' => ':Attribute maksimal terdiri dari :max anggota.',
'file' => ':Attribute maksimal berukuran :max kilobita.',
'numeric' => ':Attribute maksimal bernilai :max.',
'string' => ':Attribute maksimal berisi :max karakter.',
],
'max_digits' => ':Attribute tidak boleh memiliki lebih dari :max digit.',
'mimes' => ':Attribute harus berupa berkas berjenis: :values.',
'mimetypes' => ':Attribute harus berupa berkas berjenis: :values.',
'min' => [
'array' => ':Attribute minimal terdiri dari :min anggota.',
'file' => ':Attribute minimal berukuran :min kilobita.',
'numeric' => ':Attribute minimal bernilai :min.',
'string' => ':Attribute minimal berisi :min karakter.',
],
'min_digits' => ':Attribute tidak boleh memiliki kurang dari :min digit.',
'missing' => 'Bidang :attribute harus hilang.',
'missing_if' => 'Bidang :attribute harus hilang ketika :other adalah :value.',
'missing_unless' => 'Bidang :attribute harus hilang kecuali :other adalah :value.',
'missing_with' => 'Kolom :attribute harus hilang saat ada :values.',
'missing_with_all' => 'Kolom :attribute harus hilang jika ada :values.',
'multiple_of' => ':Attribute harus merupakan kelipatan dari :value',
'not_in' => ':Attribute yang dipilih tidak valid.',
'not_regex' => 'Format :attribute tidak valid.',
'numeric' => ':Attribute harus berupa angka.',
'password' => [
'letters' => ':Attribute ini harus memiliki setidaknya satu karakter.',
'mixed' => ':Attribute ini harus memiliki setidaknya satu huruf kapital dan satu huruf kecil.',
'numbers' => ':Attribute ini harus memiliki setidaknya satu angka.',
'symbols' => ':Attribute ini harus memiliki setidaknya satu simbol.',
'uncompromised' => ':Attribute ini telah muncul di kebocoran data. Silahkan memilih :attribute yang berbeda.',
],
'present' => ':Attribute wajib ada.',
'present_if' => 'Bidang :attribute harus ada ketika :other adalah :value.',
'present_unless' => 'Bidang :attribute harus ada kecuali :other adalah :value.',
'present_with' => 'Bidang :attribute harus ada bila ada :values.',
'present_with_all' => 'Bidang :attribute harus ada ketika ada :values.',
'prohibited' => ':Attribute tidak boleh ada.',
'prohibited_if' => ':Attribute tidak boleh ada bila :other adalah :value.',
'prohibited_if_accepted' => ':attribute bidang dilarang ketika :other diterima.',
'prohibited_if_declined' => ':attribute bidang dilarang ketika :other ditolak.',
'prohibited_unless' => ':Attribute tidak boleh ada kecuali :other memiliki nilai :values.',
'prohibits' => ':Attribute melarang isian :other untuk ditampilkan.',
'regex' => 'Format :attribute tidak valid.',
'required' => ':Attribute wajib diisi.',
'required_array_keys' => ':Attribute wajib berisi entri untuk: :values.',
'required_if' => ':Attribute wajib diisi bila :other adalah :value.',
'required_if_accepted' => ':Attribute wajib diisi bila :other sesuai.',
'required_if_declined' => 'Bidang :attribute wajib diisi bila :other ditolak.',
'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' => [
'array' => ':Attribute harus mengandung :size anggota.',
'file' => ':Attribute harus berukuran :size kilobyte.',
'numeric' => ':Attribute harus berukuran :size.',
'string' => ':Attribute harus berukuran :size karakter.',
],
'starts_with' => ':Attribute harus diawali salah satu dari berikut: :values',
'string' => ':Attribute harus berupa string.',
'timezone' => ':Attribute harus berisi zona waktu yang valid.',
'ulid' => ':Attribute harus merupakan ULID yang valid.',
'unique' => ':Attribute sudah ada sebelumnya.',
'uploaded' => ':Attribute gagal diunggah.',
'uppercase' => ':Attribute harus berupa huruf kapital.',
'url' => 'Format :attribute tidak valid.',
'uuid' => ':Attribute harus merupakan UUID yang valid.',
];