<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Líneas de lenguaje de validación
    |--------------------------------------------------------------------------
    |
    | Las siguientes líneas de idioma contienen los mensajes de error predeterminados utilizados por
    | la clase de validador. Algunas de estas reglas tienen múltiples versiones,
    como
    | las reglas de tamaño. Siéntase libre de ajustar cada uno de estos mensajes aquí.
    |
    */

    'accepted'        => 'El campo :attribute debe ser aceptado.',
    'accepted_if'     => 'El campo :attribute debe ser aceptado cuando :other es :value.',
    'active_url'      => 'El campo :attribute debe ser una URL válida.',
    'after'           => 'El campo :attribute debe ser una fecha posterior a :date.',
    'after_or_equal'  => 'El campo :attribute debe ser una fecha posterior o igual a :date.',
    'alpha'           => 'El campo :attribute solo debe contener letras.',
    'alpha_dash'      => 'El campo :attribute solo debe contener letras, números, guiones y guiones bajos.',
    'alpha_num'       => 'El campo :attribute solo debe contener letras y números.',
    'array'           => 'El campo :attribute debe ser un array.',
    'ascii'           => 'El campo :attribute solo debe contener caracteres alfanuméricos y símbolos de un solo byte.',
    'before'          => 'El campo :attribute debe ser una fecha anterior a :date.',
    'before_or_equal' => 'El campo :attribute debe ser una fecha anterior o igual a :date.',
    'between'         => [
        'array'   => 'El campo :attribute debe tener entre :min y :max elementos.',
        'file'    => 'El campo :attribute debe tener entre :min y :max kilobytes.',
        'numeric' => 'El campo :attribute debe estar entre :min y :max.',
        'string'  => 'El campo :attribute debe tener entre :min y :max caracteres.',
    ],
    'boolean'               => 'El campo :attribute debe ser verdadero o falso.',
    'can'                   => 'El campo :attribute contiene un valor no autorizado.',
    'cannot_delete_related' => 'No se puede eliminar el registro porque tiene registros relacionados.',
    'confirmed'             => 'La confirmación del campo :attribute no coincide.',
    'contains'              => 'El campo :attribute carece de un valor requerido.',
    'current_password'      => 'La contraseña es incorrecta.',
    'date'                  => 'El campo :attribute debe ser una fecha válida.',
    'date_equals'           => 'El campo :attribute debe ser una fecha igual a :date.',
    'date_format'           => 'El campo :attribute debe coincidir con el formato :format.',
    'decimal'               => 'El campo :attribute debe tener :decimal lugares decimales.',
    'declined'              => 'El campo :attribute debe ser rechazado.',
    'declined_if'           => 'El campo :attribute debe ser rechazado cuando :other es :value.',
    'different'             => 'El campo :attribute y :other deben ser diferentes.',
    'digits'                => 'El campo :attribute debe tener :digits dígitos.',
    'digits_between'        => 'El campo :attribute debe tener entre :min y :max dígitos.',
    'dimensions'            => 'El campo :attribute tiene dimensiones de imagen no válidas.',
    'distinct'              => 'El campo :attribute tiene un valor duplicado.',
    'doesnt_end_with'       => 'El campo :attribute no debe terminar con uno de los siguientes: :values.',
    'doesnt_start_with'     => 'El campo :attribute no debe comenzar con uno de los siguientes: :values.',
    'email'                 => 'El campo :attribute debe ser una dirección de correo electrónico válida.',
    'ends_with'             => 'El campo :attribute debe terminar con uno de los siguientes: :values.',
    'enum'                  => 'El campo :attribute seleccionado no es válido.',
    'event_full'            => 'El evento seleccionado está completo.',
    'exists'                => 'El campo :attribute seleccionado no es válido.',
    'extensions'            => 'El campo :attribute debe tener una de las siguientes extensiones: :values.',
    'file'                  => 'El campo :attribute debe ser un archivo.',
    'filled'                => 'El campo :attribute debe tener un valor.',
    'gt'                    => [
        'array'   => 'El campo :attribute debe tener más de :value elementos.',
        'file'    => 'El campo :attribute debe ser mayor que :value kilobytes.',
        'numeric' => 'El campo :attribute debe ser mayor que :value.',
        'string'  => 'El campo :attribute debe ser mayor que :value caracteres.',
    ],
    'gte' => [
        'array'   => 'El campo :attribute debe tener :value elementos o más.',
        'file'    => 'El campo :attribute debe ser mayor o igual a :value kilobytes.',
        'numeric' => 'El campo :attribute debe ser mayor o igual a :value.',
        'string'  => 'El campo :attribute debe ser mayor o igual a :value caracteres.',
    ],
    'hex_color' => 'El campo :attribute debe ser un color hexadecimal válido.',
    'image'     => 'El campo :attribute debe ser una imagen.',
    'in'        => 'El campo :attribute seleccionado no es válido.',
    'in_array'  => 'El campo :attribute debe existir en :other.',
    'integer'   => 'El campo :attribute debe ser un número entero.',
    'ip'        => 'El campo :attribute debe ser una dirección IP válida.',
    'ipv4'      => 'El campo :attribute debe ser una dirección IPv4 válida.',
    'ipv6'      => 'El campo :attribute debe ser una dirección IPv6 válida.',
    'json'      => 'El campo :attribute debe ser una cadena JSON válida.',
    'list'      => 'El campo :attribute debe ser una lista.',
    'lowercase' => 'El campo :attribute debe estar en minúsculas.',
    'lt'        => [
        'array'   => 'El campo :attribute debe tener menos de :value elementos.',
        'file'    => 'El campo :attribute debe ser menor que :value kilobytes.',
        'numeric' => 'El campo :attribute debe ser menor que :value.',
        'string'  => 'El campo :attribute debe ser menor que :value caracteres.',
    ],
    'lte' => [
        'array'   => 'El campo :attribute no debe tener más de :value elementos.',
        'file'    => 'El campo :attribute debe ser menor o igual a :value kilobytes.',
        'numeric' => 'El campo :attribute debe ser menor o igual a :value.',
        'string'  => 'El campo :attribute debe ser menor o igual a :value caracteres.',
    ],
    'mac_address' => 'El campo :attribute debe ser una dirección MAC válida.',
    'max'         => [
        'array'   => 'El campo :attribute no debe tener más de :max elementos.',
        'file'    => 'El campo :attribute no debe ser mayor que :max kilobytes.',
        'numeric' => 'El campo :attribute no debe ser mayor que :max.',
        'string'  => 'El campo :attribute no debe ser mayor que :max caracteres.',
    ],
    'max_digits' => 'El campo :attribute no debe tener más de :max dígitos.',
    'mimes'      => 'El campo :attribute debe ser un archivo de tipo: :values.',
    'mimetypes'  => 'El campo :attribute debe ser un archivo de tipo: :values.',
    'min'        => [
        'array'   => 'El campo :attribute debe tener al menos :min elementos.',
        'file'    => 'El campo :attribute debe ser al menos de :min kilobytes.',
        'numeric' => 'El campo :attribute debe ser al menos :min.',
        'string'  => 'El campo :attribute debe tener al menos :min caracteres.',
    ],
    'min_digits'       => 'El campo :attribute debe tener al menos :min dígitos.',
    'missing'          => 'El campo :attribute debe estar ausente.',
    'missing_if'       => 'El campo :attribute debe estar ausente cuando :other es :value.',
    'missing_unless'   => 'El campo :attribute debe estar ausente a menos que :other sea :value.',
    'missing_with'     => 'El campo :attribute debe estar ausente cuando :values esté presente.',
    'missing_with_all' => 'El campo :attribute debe estar ausente cuando :values estén presentes.',
    'multiple_of'      => 'El campo :attribute debe ser un múltiplo de :value.',
    'not_in'           => 'El campo :attribute seleccionado no es válido.',
    'not_regex'        => 'El formato del campo :attribute no es válido.',
    'numeric'          => 'El campo :attribute debe ser un número.',
    'password'         => [
        'letters'       => 'El campo :attribute debe contener al menos una letra.',
        'mixed'         => 'El campo :attribute debe contener al menos una letra mayúscula y una letra minúscula.',
        'numbers'       => 'El campo :attribute debe contener al menos un número.',
        'symbols'       => 'El campo :attribute debe contener al menos un símbolo.',
        'uncompromised' => 'El campo :attribute proporcionado ha aparecido en una filtración de datos. Elija un :attribute diferente.',
    ],
    'payment_cant_be_refunded'                => 'El pago no puede ser reembolsado.',
    'present'                                 => 'El campo :attribute debe estar presente.',
    'present_if'                              => 'El campo :attribute debe estar presente cuando :other es :value.',
    'present_unless'                          => 'El campo :attribute debe estar presente a menos que :other sea :value.',
    'present_with'                            => 'El campo :attribute debe estar presente cuando :values esté presente.',
    'present_with_all'                        => 'El campo :attribute debe estar presente cuando :values estén presentes.',
    'prohibited'                              => 'El campo :attribute está prohibido.',
    'prohibited_if'                           => 'El campo :attribute está prohibido cuando :other es :value.',
    'prohibited_unless'                       => 'El campo :attribute está prohibido a menos que :other esté en :values.',
    'prohibits'                               => 'El campo :attribute prohíbe que :other esté presente.',
    'provider_unavailable'                    => 'El proveedor no está disponible para la fecha y hora seleccionadas.',
    'refund_value_greater_than_payment_value' => 'El valor del reembolso no puede ser mayor que el valor del pago.',
    'regex'                                   => 'El formato del campo :attribute no es válido.',
    'required'                                => 'El campo :attribute es obligatorio.',
    'required_array_keys'                     => 'El campo :attribute debe contener entradas para: :values.',
    'required_if'                             => 'El campo :attribute es obligatorio cuando :other es :value.',
    'required_if_accepted'                    => 'El campo :attribute es obligatorio cuando :other es aceptado.',
    'required_if_declined'                    => 'El campo :attribute es obligatorio cuando :other es rechazado.',
    'required_unless'                         => 'El campo :attribute es obligatorio a menos que :other esté en :values.',
    'required_with'                           => 'El campo :attribute es obligatorio cuando :values está presente.',
    'required_with_all'                       => 'El campo :attribute es obligatorio cuando :values están presentes.',
    'required_without'                        => 'El campo :attribute es obligatorio cuando :values no está presente.',
    'required_without_all'                    => 'El campo :attribute es obligatorio cuando ninguno de :values está presente.',
    'same'                                    => 'El campo :attribute y :other deben coincidir.',
    'size'                                    => [
        'array'   => 'El campo :attribute debe contener :size elementos.',
        'file'    => 'El campo :attribute debe ser de :size kilobytes.',
        'numeric' => 'El campo :attribute debe ser :size.',
        'string'  => 'El campo :attribute debe tener :size caracteres.',
    ],
    'starts_with' => 'El campo :attribute debe comenzar con uno de los siguientes: :values.',
    'string'      => 'El campo :attribute debe ser una cadena.',
    'timezone'    => 'El campo :attribute debe ser una zona horaria válida.',
    'unique'      => 'El campo :attribute ya ha sido tomado.',
    'uploaded'    => 'El campo :attribute falló al subir.',
    'uppercase'   => 'El campo :attribute debe estar en mayúsculas.',
    'url'         => 'El campo :attribute debe ser una URL válida.',
    'ulid'        => 'El campo :attribute debe ser un ULID válido.',
    'uuid'        => 'El campo :attribute debe ser un UUID válido.',
    /*
    |--------------------------------------------------------------------------
    | Líneas de lenguaje de validación personalizada
    |--------------------------------------------------------------------------
    |
    | Aquí puede especificar mensajes de validación personalizados para atributos utilizando la
    | convención "attribute.rule" para nombrar las líneas. Esto hace que sea rápido especificar
    | una línea de lenguaje personalizada específica para una regla de atributo determinada.
    |
    */

    'custom' => [
        'attribute-name' => [
            'rule-name' => 'mensaje-personalizado',
        ],
        'document' => [
            'invalid' => 'El CPF o CNPJ proporcionado es inválido.',
        ],
        'user_id' => [
            'already_linked_to_client'   => 'Este usuario ya está vinculado a un cliente.',
            'already_linked_to_provider' => 'Este usuario ya está vinculado a un proveedor.',
        ],
        'zip_code' => [
            'invalid' => 'El código postal proporcionado no es válido. Debe contener 8 dígitos.',
        ],
        'source' => [
            'invalid' => 'El tipo de origen no es válido. Debe ser Provider o Client.',
        ],
        'source_id' => [
            'not_found' => 'El registro de origen no fue encontrado.',
        ],
        'address_type' => [
            'invalid' => 'El tipo de dirección no es válido.',
        ],
        'schedule' => [
            'weekly_limit_exceeded'                   => 'Este proveedor ya tiene 2 agendas con este cliente en la misma semana.',
            'provider_not_working'                    => 'El proveedor no trabaja en este día/período.',
            'provider_blocked'                        => 'El proveedor tiene un bloqueo en este día/horario.',
            'invalid_price'                           => 'El precio informado es inválido para el tipo de período seleccionado.',
            'invalid_price_range'                     => 'El precio mínimo no puede ser mayor que el precio máximo.',
            'invalid_period_type'                     => 'El tipo de período es inválido. Debe ser 2, 4, 6 u 8.',
            'price_not_in_range'                      => 'El precio debe estar entre el precio mínimo y máximo definido para esta oportunidad.',
            'provider_conflicting_schedule'           => 'El proveedor tiene un agendamiento conflictivo en este día/horario.',
            'provider_conflicting_same_proposal'      => 'El proveedor ya tiene una propuesta enviada para este agendamiento.',
            'provider_conflicting_proposal_same_date' => 'El proveedor ya tiene una propuesta para un agendamiento en el mismo día.',
            'client_blocked_by_provider'              => 'El cliente está bloqueado por este proveedor.',
            'provider_blocked_by_client'              => 'El proveedor está bloqueado por este cliente.',
        ],
        'opportunity' => [
            'already_assigned'      => 'Esta oportunidad ya tiene un proveedor asignado.',
            'proposal_already_sent' => 'Ya has enviado una propuesta para esta oportunidad.',
            'provider_refused'      => 'Fuiste rechazado anteriormente para esta oportunidad.',
            'provider_not_working'  => 'El proveedor no trabaja en este día/período.',
            'provider_blocked'      => 'El proveedor tiene un bloqueo en este día/horario.',
            'schedule_conflict'     => 'El proveedor ya tiene una agenda en este horario.',
            'code_already_verified' => 'El código ya fue verificado para este agendamiento.',
            'invalid_code'          => 'El código informado es inválido.',
        ],
        'provider_client_block' => [
            'already_blocked' => 'Este cliente ya está bloqueado por este proveedor.',
        ],
        'client_provider_block' => [
            'already_blocked' => 'Este proveedor ya está bloqueado por este cliente.',
        ],
        'review' => [
            'already_reviewed' => 'Esta agenda ya fue evaluada por este usuario.',
            'invalid_origin'   => 'El campo origen debe ser "providers" o "clients".',
        ],
        'review_improvement' => [
            'already_exists' => 'Este tipo de mejora ya está vinculado a esta evaluación.',
        ],
    ],
    /*
    |--------------------------------------------------------------------------
    | Atributos de validación personalizados
    |--------------------------------------------------------------------------
    |
    | Las siguientes líneas de idioma se utilizan para intercambiar el marcador de posición de atributo
    | con algo más amigable para el lector, como "Dirección de correo electrónico" en lugar de "correo electrónico".
    | Esto simplemente nos ayuda a hacer que nuestro mensaje sea más expresivo.
    |
    */

    'attributes' => [
        'client'   => 'cliente',
        'gender'   => 'género',
        'provider' => 'prestador',
    ],
];
