28 Cambiar el idioma de los mensajes en el curso de LARAVEL 10 - Sistema de control de asistencia

Duración: 13 min
Módulo: Notificaciones y Mensajes Personalizados 🎉 Lección 2 de 3

Descripción

🎬 Lección 28: 🌍 Localización y Campo de Imagen Opcional

Enlace del Video: https://youtu.be/I3RoofkarkI

💡 Objetivo:

Mejorar la experiencia del usuario traduciendo los mensajes de validación al español y ajustando la lógica de la base de datos y del controlador para que el campo de la fotografía sea opcional.

1️⃣ Localización y Mensajes de Error en Español 🇪🇸

Para que los mensajes de validación sean comprensibles para el usuario final, se lleva a cabo el proceso de localización:

  • Instalación del Paquete: Se utiliza un comando de Composer (composer require laravel-lang/lang) para descargar y crear la estructura de carpetas de idiomas (lang) [01:29].
  • Archivos de Traducción: Dentro de la nueva carpeta lang, se crea un directorio es y se rellena con los archivos de traducción clave, como validation.php y auth.php, asegurando que todos los mensajes de error ahora estén en español.
  • Configuración Principal: Finalmente, se edita el archivo de configuración config/app.php y se cambia la variable locale de 'en' a 'es' [05:50].
    • Resultado: Todos los mensajes del sistema, tanto de autenticación como de validación (ej. "El campo email es obligatorio"), se muestran ahora en español [06:09].

2️⃣ Flexibilidad de la Imagen (Campo Opcional) 📸

Para evitar que el sistema falle si el usuario no tiene una imagen a la mano, el campo de fotografía se modifica para ser opcional:

  • Migración (nullable): Se modifica el archivo de la migración de la tabla miembros para añadir el método ->nullable() a la columna fotografia [08:45]. Esto permite que el campo almacene un valor nulo (NULL) en la base de datos sin generar errores.
  • Controlador (hasFile): En el método store() del MiembrosController, se envuelve la lógica de subida del archivo ($request->file('fotografia')->store(...)) dentro de una condición if ($request->hasFile('fotografia')) [10:37].
    • Esta comprobación asegura que la acción de subir y guardar la ruta de la imagen solo se ejecute si realmente se envió un archivo en el formulario.
    • Resultado: El registro se guarda exitosamente incluso si no se proporciona una imagen, dejando la columna fotografia con el valor NULL [11:44].