feat: Implement English and Indonesian localization by adding language files and updating Composer dependencies.

This commit is contained in:
Yoga Pangestu 2026-01-28 09:11:01 +07:00
parent 0757696f24
commit 1d2e861c79
12 changed files with 1464 additions and 1 deletions

View File

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

996
composer.lock generated

File diff suppressed because it is too large Load Diff

48
lang/en.json Normal file
View File

@ -0,0 +1,48 @@
{
"(and :count more error)": "(and :count more error)",
"(and :count more errors)": "(and :count more error)|(and :count more errors)|(and :count more errors)",
"A decryption key is required.": "A decryption key is required.",
"All rights reserved.": "All rights reserved.",
"Encrypted environment file already exists.": "Encrypted environment file already exists.",
"Encrypted environment file not found.": "Encrypted environment file not found.",
"Environment file already exists.": "Environment file already exists.",
"Environment file not found.": "Environment file not found.",
"errors": "errors",
"Forbidden": "Forbidden",
"Go to page :page": "Go to page :page",
"Hello!": "Hello!",
"If you did not create an account, no further action is required.": "If you did not create an account, no further action is required.",
"If you did not request a password reset, no further action is required.": "If you did not request a password reset, no further action is required.",
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:",
"Invalid filename.": "Invalid filename.",
"Invalid JSON was returned from the route.": "Invalid JSON was returned from the route.",
"Location": "Location",
"Login": "Login",
"Logout": "Logout",
"Not Found": "Not Found",
"of": "of",
"Page Expired": "Page Expired",
"Pagination Navigation": "Pagination Navigation",
"Payment Required": "Payment Required",
"Please click the button below to verify your email address.": "Please click the button below to verify your email address.",
"Regards,": "Regards,",
"Register": "Register",
"Reset Password": "Reset Password",
"Reset Password Notification": "Reset Password Notification",
"results": "results",
"Server Error": "Server Error",
"Service Unavailable": "Service Unavailable",
"Showing": "Showing",
"The given data was invalid.": "The given data was invalid.",
"The response is not a streamed response.": "The response is not a streamed response.",
"The response is not a view.": "The response is not a view.",
"This action is unauthorized.": "This action is unauthorized.",
"This password reset link will expire in :count minutes.": "This password reset link will expire in :count minutes.",
"to": "to",
"Toggle navigation": "Toggle navigation",
"Too Many Requests": "Too Many Requests",
"Unauthorized": "Unauthorized",
"Verify Email Address": "Verify Email Address",
"Whoops!": "Whoops!",
"You are receiving this email because we received a password reset request for your account.": "You are receiving this email because we received a password reset request for your account."
}

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

@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
return [
'failed' => 'These credentials do not match our records.',
'password' => 'The provided password is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
];

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

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

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

@ -0,0 +1,11 @@
<?php
declare(strict_types=1);
return [
'reset' => 'Your password has been reset.',
'sent' => 'We have emailed your password reset link.',
'throttled' => 'Please wait before retrying.',
'token' => 'This password reset token is invalid.',
'user' => 'We can\'t find a user with that email address.',
];

158
lang/en/validation.php Normal file
View File

@ -0,0 +1,158 @@
<?php
declare(strict_types=1);
return [
'accepted' => 'The :attribute field must be accepted.',
'accepted_if' => 'The :attribute field must be accepted when :other is :value.',
'active_url' => 'The :attribute field must be a valid URL.',
'after' => 'The :attribute field must be a date after :date.',
'after_or_equal' => 'The :attribute field must be a date after or equal to :date.',
'alpha' => 'The :attribute field must only contain letters.',
'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.',
'alpha_num' => 'The :attribute field must only contain letters and numbers.',
'any_of' => 'The :attribute field is invalid.',
'array' => 'The :attribute field must be an array.',
'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.',
'before' => 'The :attribute field must be a date before :date.',
'before_or_equal' => 'The :attribute field must be a date before or equal to :date.',
'between' => [
'array' => 'The :attribute field must have between :min and :max items.',
'file' => 'The :attribute field must be between :min and :max kilobytes.',
'numeric' => 'The :attribute field must be between :min and :max.',
'string' => 'The :attribute field must be between :min and :max characters.',
],
'boolean' => 'The :attribute field must be true or false.',
'can' => 'The :attribute field contains an unauthorized value.',
'confirmed' => 'The :attribute field confirmation does not match.',
'contains' => 'The :attribute field is missing a required value.',
'current_password' => 'The password is incorrect.',
'date' => 'The :attribute field must be a valid date.',
'date_equals' => 'The :attribute field must be a date equal to :date.',
'date_format' => 'The :attribute field must match the format :format.',
'decimal' => 'The :attribute field must have :decimal decimal places.',
'declined' => 'The :attribute field must be declined.',
'declined_if' => 'The :attribute field must be declined when :other is :value.',
'different' => 'The :attribute field and :other must be different.',
'digits' => 'The :attribute field must be :digits digits.',
'digits_between' => 'The :attribute field must be between :min and :max digits.',
'dimensions' => 'The :attribute field has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'doesnt_contain' => 'The :attribute field must not contain any of the following: :values.',
'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.',
'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.',
'email' => 'The :attribute field must be a valid email address.',
'ends_with' => 'The :attribute field must end with one of the following: :values.',
'enum' => 'The selected :attribute is invalid.',
'exists' => 'The selected :attribute is invalid.',
'extensions' => 'The :attribute field must have one of the following extensions: :values.',
'file' => 'The :attribute field must be a file.',
'filled' => 'The :attribute field must have a value.',
'gt' => [
'array' => 'The :attribute field must have more than :value items.',
'file' => 'The :attribute field must be greater than :value kilobytes.',
'numeric' => 'The :attribute field must be greater than :value.',
'string' => 'The :attribute field must be greater than :value characters.',
],
'gte' => [
'array' => 'The :attribute field must have :value items or more.',
'file' => 'The :attribute field must be greater than or equal to :value kilobytes.',
'numeric' => 'The :attribute field must be greater than or equal to :value.',
'string' => 'The :attribute field must be greater than or equal to :value characters.',
],
'hex_color' => 'The :attribute field must be a valid hexadecimal color.',
'image' => 'The :attribute field must be an image.',
'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field must exist in :other.',
'in_array_keys' => 'The :attribute field must contain at least one of the following keys: :values.',
'integer' => 'The :attribute field must be an integer.',
'ip' => 'The :attribute field must be a valid IP address.',
'ipv4' => 'The :attribute field must be a valid IPv4 address.',
'ipv6' => 'The :attribute field must be a valid IPv6 address.',
'json' => 'The :attribute field must be a valid JSON string.',
'list' => 'The :attribute field must be a list.',
'lowercase' => 'The :attribute field must be lowercase.',
'lt' => [
'array' => 'The :attribute field must have less than :value items.',
'file' => 'The :attribute field must be less than :value kilobytes.',
'numeric' => 'The :attribute field must be less than :value.',
'string' => 'The :attribute field must be less than :value characters.',
],
'lte' => [
'array' => 'The :attribute field must not have more than :value items.',
'file' => 'The :attribute field must be less than or equal to :value kilobytes.',
'numeric' => 'The :attribute field must be less than or equal to :value.',
'string' => 'The :attribute field must be less than or equal to :value characters.',
],
'mac_address' => 'The :attribute field must be a valid MAC address.',
'max' => [
'array' => 'The :attribute field must not have more than :max items.',
'file' => 'The :attribute field must not be greater than :max kilobytes.',
'numeric' => 'The :attribute field must not be greater than :max.',
'string' => 'The :attribute field must not be greater than :max characters.',
],
'max_digits' => 'The :attribute field must not have more than :max digits.',
'mimes' => 'The :attribute field must be a file of type: :values.',
'mimetypes' => 'The :attribute field must be a file of type: :values.',
'min' => [
'array' => 'The :attribute field must have at least :min items.',
'file' => 'The :attribute field must be at least :min kilobytes.',
'numeric' => 'The :attribute field must be at least :min.',
'string' => 'The :attribute field must be at least :min characters.',
],
'min_digits' => 'The :attribute field must have at least :min digits.',
'missing' => 'The :attribute field must be missing.',
'missing_if' => 'The :attribute field must be missing when :other is :value.',
'missing_unless' => 'The :attribute field must be missing unless :other is :value.',
'missing_with' => 'The :attribute field must be missing when :values is present.',
'missing_with_all' => 'The :attribute field must be missing when :values are present.',
'multiple_of' => 'The :attribute field must be a multiple of :value.',
'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute field format is invalid.',
'numeric' => 'The :attribute field must be a number.',
'password' => [
'letters' => 'The :attribute field must contain at least one letter.',
'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.',
'numbers' => 'The :attribute field must contain at least one number.',
'symbols' => 'The :attribute field must contain at least one symbol.',
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
],
'present' => 'The :attribute field must be present.',
'present_if' => 'The :attribute field must be present when :other is :value.',
'present_unless' => 'The :attribute field must be present unless :other is :value.',
'present_with' => 'The :attribute field must be present when :values is present.',
'present_with_all' => 'The :attribute field must be present when :values are present.',
'prohibited' => 'The :attribute field is prohibited.',
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
'prohibited_if_accepted' => 'The :attribute field is prohibited when :other is accepted.',
'prohibited_if_declined' => 'The :attribute field is prohibited when :other is declined.',
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
'prohibits' => 'The :attribute field prohibits :other from being present.',
'regex' => 'The :attribute field format is invalid.',
'required' => 'The :attribute field is required.',
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
'required_if' => 'The :attribute field is required when :other is :value.',
'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
'required_if_declined' => 'The :attribute field is required when :other is declined.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => 'The :attribute field is required when :values is present.',
'required_with_all' => 'The :attribute field is required when :values are present.',
'required_without' => 'The :attribute field is required when :values is not present.',
'required_without_all' => 'The :attribute field is required when none of :values are present.',
'same' => 'The :attribute field must match :other.',
'size' => [
'array' => 'The :attribute field must contain :size items.',
'file' => 'The :attribute field must be :size kilobytes.',
'numeric' => 'The :attribute field must be :size.',
'string' => 'The :attribute field must be :size characters.',
],
'starts_with' => 'The :attribute field must start with one of the following: :values.',
'string' => 'The :attribute field must be a string.',
'timezone' => 'The :attribute field must be a valid timezone.',
'ulid' => 'The :attribute field must be a valid ULID.',
'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to upload.',
'uppercase' => 'The :attribute field must be uppercase.',
'url' => 'The :attribute field must be a valid URL.',
'uuid' => 'The :attribute field must be a valid UUID.',
];

48
lang/id.json Normal file
View File

@ -0,0 +1,48 @@
{
"(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.",
"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.',
];

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

@ -0,0 +1,158 @@
<?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.',
'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.',
];