Normalmente prefiero tener todo el sistema de localización, idioma, etc en inglés, cuestión de gustos. Hoy me he visto en la obligación por requerimientos ajenos a cambiar la localización e idioma de un usuario en un servidor FreeBSD a español.
Todo esto puede ser modificado a través de un fichero de configuración en nuestra home, el fichero ha de llamarse ~/.login_conf. A continuación os muestro un ejemplo de cambio de localización y cotejamiento de caracteres a español:
# cat ~/.login_conf me:\ :charset=es_ES.ISO8859-15:\ :lang=es_ES.ISO8859-15:
Básicamente solo es necesario exportar el valor del nombre de la “locale” como LANG en el intérprete de órdenes de la sesión. Podemos hacerlo tanto en el fichero especificado anteriormente (~/.login_conf del usuario), como en el fichero de inicio del intérprete de órdenes del usuario (~/.profile, ~/.bashrc , ~/.cshrc).
Tendréis que aseguraros que los locales que configuráis se encuentran instalados en vuestro sistema, debéis buscarlos en /usr/share/locale:
ls -l /usr/share/locale/ | more total 310 drwxr-xr-x 2 root wheel 512 29 nov 2007 UTF-8 drwxr-xr-x 2 root wheel 512 29 nov 2007 af_ZA.ISO8859-1 drwxr-xr-x 2 root wheel 512 29 nov 2007 af_ZA.ISO8859-15 drwxr-xr-x 2 root wheel 512 29 nov 2007 af_ZA.UTF-8 drwxr-xr-x 2 root wheel 512 29 nov 2007 am_ET.UTF-8 drwxr-xr-x 2 root wheel 512 29 nov 2007 be_BY.CP1131 drwxr-xr-x 2 root wheel 512 29 nov 2007 be_BY.CP1251 drwxr-xr-x 2 root wheel 512 29 nov 2007 be_BY.ISO8859-5 drwxr-xr-x 2 root wheel 512 29 nov 2007 be_BY.UTF-8 drwxr-xr-x 2 root wheel 512 29 nov 2007 bg_BG.CP1251 drwxr-xr-x 2 root wheel 512 29 nov 2007 bg_BG.UTF-8 drwxr-xr-x 2 root wheel 512 29 nov 2007 ca_ES.ISO8859-1 drwxr-xr-x 2 root wheel 512 29 nov 2007 ca_ES.ISO8859-15 ... ...
Una vez modificado, reiniciar la sesión será suficiente para tener cambiado el idioma en nuestra shell. Para profundizar más sobre las distintas opciones y configuraciones permitidas en este sentido podéis acceder al HandBook de FreeBSD.