colombia - locale getdefault() in java
Establecer la configuraciĆ³n regional de Java (9)
Cuando uso la locación predeterminada de Java en mi máquina Linux, sale con la configuración regional de EE. UU., ¿Dónde la cambio para que salga con la configuración regional correcta?
Con las propiedades user.language
, user.country
y user.variant
.
Ejemplo:
java -Duser.language=th -Duser.country=TH -Duser.variant=TH SomeClass
Creo que Java recoge esto de las variables de entorno en las que se lanzó, por lo que deberá asegurarse de que las variables de entorno LANG y LC_ * estén configuradas correctamente.
La página de manpage configuración regional tiene información completa sobre dichas variables de entorno.
En Linux, crea un archivo en /etc/default/locale
con los siguientes contenidos
LANG=en.utf8
y luego use el comando de source
para exportar esta variable ejecutando
source /etc/default/locale
El comando de origen establece la variable de forma permanente.
Para herramientas como jarsigner
que se implementa en Java.
JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner
Puede llamar durante init o lo que sea Locale.setDefault() o -Duser.language =, -Duser.country = y -Duser.variant = en la línea de comando. Aquí hay algo en el sitio de Sun.
Puedes cambiar en la consola:
$ export LANG=en_US.utf8
Si está en Mac, simplemente usando Preferencias del Sistema -> Idiomas y arrastrando el idioma para probar hasta arriba (antes de inglés) se asegurará de que la próxima vez que abra la Aplicación, se intente con la configuración correcta.
Tuve que controlar esto en un script que se ejecutó en una máquina con configuración regional francesa, pero un programa Java específico tuvo que ejecutarse con en_US. Como ya se señaló, los siguientes trabajos:
java -Duser.language=en -Duser.country=US ...
Alternativamente,
LC_ALL=en_US.UTF-8 java ...
Yo prefiero este último
Una forma de controlar la configuración regional es establecer las propiedades del sistema java user.language y user.region.