🌱 Digital Garden

Search

Search IconIcon to open search

Agregar Localizacion (i18n) basado en configuracion del navegador

Last updated Nov 10, 2023 Edit Source

Es un topico bastante interesante y que se alcanza de distintas formas.

Sin embargo, al estar trabajando bajo una comunicacion cliente-servidor con una API, como podemos lograr esto?

Pues hay varias formas, la primera es que todas las peticiones que vienen desde un navegador tienen el header Accept-Language el cual puede tomar valores como es-ES,es;q=0.9 o en-US,en;q=0.5, estos son de mucha ayuda para, por request, colocar el nombre de los mensajes, app, etc.

Otra forma es hacerlo guardando un campo de preferencias por usuario a nivel base de datos y con un middleware obtener los datos traducidos de cada uno de ellos

Lo mas viable es agregar un middleware que escucha al header Accept-Language y que retorna el mensaje adecuado para cada uno de ellos utilizando algun helper del framework, en laravel seria App::setLocale.