¡Hola! ¿Cómo están? ¡Bienvenidos de nuevo! Continuando con el curso de Laravel nivel intermedio, hoy veremos cómo traducir mensajes en Laravel al Español. La traducción de mensajes es tarea común cuando estás desarrollando aplicaciones destinadas a usuarios de habla hispana. Laravel facilita el uso de archivos de traducción y de algunas funciones específicas.
¡Empecemos!
Traducción de mensajes en Laravel al español
Laravel facilita la internacionalización de aplicaciones mediante la inclusión de paquetes y funciones que permiten simplificar este proceso. Con esta capacidad, podemos traducir fácilmente los mensajes de error de validación, los nombres de los campos de las tablas de la base de datos y el texto presente en las vistas.
Al momento de probar nuestro código, notamos que los mensajes de error de validación en los formularios están en inglés, ya que la configuración predeterminada de Laravel está en este idioma.

En este contexto, haremos uso del paquete de Laravel Lang, el cual ofrece clases y métodos que agilizan la implementación de traducciones en nuestra aplicación.
¿Qué es Laravel Lang?
Laravel Lang es el paquete oficial de traducciones para Laravel. Permite instalar fácilmente diferentes paquetes de idiomas en nuestra aplicación. Antes de utilizar Laravel Lang, primeramente debemos revisar su página oficial para seguir las instrucciones de instalación proporcionadas para una correcta instalación.
Directorio de traducción en Laravel
En la versión actual de Laravel 10 por defecto no viene el directorio de idiomas “/lang”, para poder personalizar los idiomas en Laravel como el Español. Debemos habilitar mediante el siguiente comando.
php artisan lang:publish
Después de publicar el paquete, al examinar el directorio de archivos de nuestro proyecto Laravel, observamos la presencia del directorio ‘/lang’, que por defecto, contiene los archivos para el idioma inglés.
Instalación del paquete de Laravel Lang
Laravel Lang es un paquete de Laravel para instalar paquetes de idiomas en nuestra aplicación. Para instalar Laravel Lang ejecutamos el siguiente comando desde la Terminal en Linux o Mac, CMD en Windows en la directorio raiz de nuestro proyecto.
composer require laravel-lang/common --dev
Una vez instalado el paquete de Laravel Lang añadimos el idioma español con el siguiente comando:
php artisan lang:add es
Si verificamos el directorio “/lang” de nuestro proyecto podemos confirmar la creación de la carpeta ‘es’, la cual representa el idioma español.
Por último, actualizamos el paquete de Laravel Lang.
php artisan lang:update
Cambiar la configuración del idioma en Laravel
Lo último, debemos cambiar la configuración del idioma de nuestro proyecto, abrimos el archivo “app.php” en el directorio “/config”, buscamos la siguiente línea de código ‘locale’ => ‘es’ y reemplazamos “es” por “en”.
Actualizamos nuestro navegador y evaluamos las validaciones de los formularios con la nueva configuración; ahora, todos los mensajes por defecto estarán en español.
Traducción de variables en Laravel
Ya solucionamos parte de los mensajes de error de validaciones, al observar con más detalle los mensajes de error. Por ejemplo, notamos que en el formulario de profesores indica “El campo nombre apellido es obligatorio” y lo correcto debe ser “El campo Nombre y Apellido es obligatorio”, lo mismo ocurre con el campo profesión que los correcto debe ser que esté con acento.
Este caso nos ocurre frecuentemente si las variables que declaramos están en inglés, que suele ser la práctica común en el desarrollo de software profesional. Para solucionar este problema, nos dirigimos al directorio “resources/lang/en” abrimos el archivo validation.php y dentro de la variable “attributes” declaramos las variables de nuestro formulario que queremos corregir.
'nombre_apellido' => 'Nombre y apellido', 'telefono' => 'Teléfono', 'direccion' => 'Dirección', 'profesion' => 'Profesión', 'grado_academico' => 'Grado académico', 'horas_academicas' => 'Horas académicas', 'profesor_id' => 'Profesor', 'alumno_id' => 'Alumnos',
Realizamos las pruebas correspondientes de las funcionalidades implementadas. Hasta aquí la clase de hoy traducir mensajes en Laravel al español, en la siguiente clase continuaremos realizando el CRUD de nuestra aplicación en Laravel esta vez para ver y eliminar registros.
¡Te espero en la siguiente clase!
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.