From 496f7a9179f387f8888858964f279f01cb37bae8 Mon Sep 17 00:00:00 2001 From: bayu Date: Wed, 31 Dec 2025 09:55:38 +0700 Subject: [PATCH] setup language switch --- app/View/Components/CountrySelector.php | 25 +++ lang/en/auth.php | 20 ++ lang/en/languages.php | 8 + lang/en/pagination.php | 19 ++ lang/en/passwords.php | 22 ++ lang/en/validation.php | 198 ++++++++++++++++++ lang/id/languages.php | 8 + public/img/flags/id.png | Bin 0 -> 12581 bytes .../components/country-selector.blade.php | 24 +++ resources/views/home/fashion-v1.blade.php | 36 +--- 10 files changed, 326 insertions(+), 34 deletions(-) create mode 100644 app/View/Components/CountrySelector.php create mode 100644 lang/en/auth.php create mode 100644 lang/en/languages.php create mode 100644 lang/en/pagination.php create mode 100644 lang/en/passwords.php create mode 100644 lang/en/validation.php create mode 100644 lang/id/languages.php create mode 100644 public/img/flags/id.png create mode 100644 resources/views/components/country-selector.blade.php diff --git a/app/View/Components/CountrySelector.php b/app/View/Components/CountrySelector.php new file mode 100644 index 0000000..f243598 --- /dev/null +++ b/app/View/Components/CountrySelector.php @@ -0,0 +1,25 @@ + 'These credentials do not match our records.', + 'password' => 'The provided password is incorrect.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + +]; diff --git a/lang/en/languages.php b/lang/en/languages.php new file mode 100644 index 0000000..6d7cf51 --- /dev/null +++ b/lang/en/languages.php @@ -0,0 +1,8 @@ + 'Indonesia', + 'en' => 'English' + +]; diff --git a/lang/en/pagination.php b/lang/en/pagination.php new file mode 100644 index 0000000..d481411 --- /dev/null +++ b/lang/en/pagination.php @@ -0,0 +1,19 @@ + '« Previous', + 'next' => 'Next »', + +]; diff --git a/lang/en/passwords.php b/lang/en/passwords.php new file mode 100644 index 0000000..fad3a7d --- /dev/null +++ b/lang/en/passwords.php @@ -0,0 +1,22 @@ + '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.", + +]; diff --git a/lang/en/validation.php b/lang/en/validation.php new file mode 100644 index 0000000..9e92832 --- /dev/null +++ b/lang/en/validation.php @@ -0,0 +1,198 @@ + '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_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.', + '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.', + 'ulid' => 'The :attribute field must be a valid ULID.', + 'uuid' => 'The :attribute field must be a valid UUID.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/lang/id/languages.php b/lang/id/languages.php new file mode 100644 index 0000000..6d7cf51 --- /dev/null +++ b/lang/id/languages.php @@ -0,0 +1,8 @@ + 'Indonesia', + 'en' => 'English' + +]; diff --git a/public/img/flags/id.png b/public/img/flags/id.png new file mode 100644 index 0000000000000000000000000000000000000000..471d3c046897a279e0dbaab0be5f657db956ce3c GIT binary patch literal 12581 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 literal 0 HcmV?d00001 diff --git a/resources/views/components/country-selector.blade.php b/resources/views/components/country-selector.blade.php new file mode 100644 index 0000000..1900b41 --- /dev/null +++ b/resources/views/components/country-selector.blade.php @@ -0,0 +1,24 @@ + + diff --git a/resources/views/home/fashion-v1.blade.php b/resources/views/home/fashion-v1.blade.php index 4f038a7..1f62edf 100644 --- a/resources/views/home/fashion-v1.blade.php +++ b/resources/views/home/fashion-v1.blade.php @@ -198,40 +198,8 @@ - - + +