Una vez que ya hemos configurado la autenticación en Laravel estamos relajados y felices, hasta que probamos unas credenciales incorrectas y sale un mensaje en inglés indicando que las credenciales son incorrectas.
El mensaje dice: these credentials do not match our records.
Recordemos que uno de los defectos que la mayoría de los programadores tenemos es que pensamos que las otras personas son como nosotros y que usarán un traductor o sabrán inglés, cuando la realidad es que no.
Por ello es que hoy veremos cómo mostrar mensajes de error en español, en el framework Laravel. Verás que es muy sencillo.
Primero: configura el idioma español
Para que esto funcione y para que lo hagamos bien, tenemos que cambiar el idioma. Abre el archivo ubicado en config/app.php y busca la línea que dice locale. Cámbiala de manera que quede así:
'locale' => 'es',
Abajo de ella hay otra que dice fallback_locale, asegúrate de que esté en inglés de la siguiente manera:
'fallback_locale' => 'en',
Esto es para que si no se encuentra una traducción se ponga el mensaje en inglés pero no cause errores.
Pongo una imagen para ilustrar:
Ahora ya hemos cambiado el idioma, es hora de agregar una traducción.
Traducir mensaje
Ahora vamos a crear una traducción. Para ello crea un archivo llamado auth.php que esté dentro de resources/lang/es (si el directorio llamado es no existe, debes crearlo).
Dentro del archivo coloca lo siguiente para personalizar el mensaje de error:
<?php
return [
'failed' => 'El usuario o la contraseña son incorrectos, intenta de nuevo.', # mensaje si no coinciden datos
'throttle' => 'Muchos intentos de login. Intenta de nuevo en :seconds segundos.', # mensaje si intenta loguearse muchas veces y falla
];
Lo que estamos haciendo es agregar un arreglo con los mensajes que se mostrarán, pero ahora los mensajes están en idioma español.
El primer campo indica el mensaje que se muestra cuando las credenciales son incorrectas. El segundo se encarga de indicar que el usuario ha intentado varias veces de manera errónea, y se le pone un límite.
Guarda cambios y con eso basta. Si pruebas de nuevo, verás que ahora el mensaje sale en español:
Nota: obviamente no saldrá ese mensaje de error ni esa interfaz, recuerda que el mensaje de error estará en la variable $errors
que puedes mostrar con blade y que el diseño depende de ti.
Con eso terminamos por hoy. Te invito a leer sobre PHP y Laravel.