martes, 26 de julio de 2016

Carbon no reconoce Locale

Si llegaste hasta esta entrada es porque has utilizado Carbon en algún proyecto o, como es mi caso,  utilizas Laravel que tiene a Carbon como una de sus dependencias. En cualquiera de los casos sabemos que es una librería que ayuda en gran manera al manejo de fechas al momento de programar.

Dentro de un proyecto que hemos estado trabajando nos encontramos con la necesidad de mostrar las fechas en formato más legible, por ejemplo: Martes, 26 de Julio del 2016, resultaba que en una de las computadoras del equipo (En concreto la mía) si funcionaba bien cuando escribíamos el:

setlocale(LC_TIME, 'es_SV');

$now = \Carbon\Carbon::now() ;
       

$data['now_str'] = $now->formatLocalized('%A, %d de %B del %Y');


Pero en otras resultaba en Inglés, de igual manera en el servidor principal así era, viendo un poco la documentación de Carbon vemos que utiliza la función setlocale() de php http://php.net/setlocale, la cual funciona con los idiomas que tiene instalado el sistema operativo, he ahí la razón del porqué a mi si me lo mostraba bien.


Para Linux


Esto lo he comprobado en Ubuntu y Fedora, espero que en otras distros no varíe mucho.

Indagando un poco leí que podemos listar los idiomas instalados yendo a una terminal y ejecutando:

locale -a

Que nos muestra algo parecido a:







Sino aparece el "locale" que nos interesa podemos instalarlo con:

sudo locale-gen es_SV

Luego ejecutamos los dos comandos:

sudo update-locale

y

sudo dpkg-reconfigure locales



Y listo, no necesitamos ni reiniciar los servicios, por lo menos a mi no hubo necesidad de hacerlo.


Para Windows


Con esto quedo pendiente, tengo que hacer unas pruebas aún

No hay comentarios :

Publicar un comentario