Me encuentro con un tipo de problema aquí.Obteniendo el lenguaje OS en java
Soy francés y trabajo en una versión en inglés de Windows XP. Por lo tanto, establezco las opciones regionales en francés, pero todavía tengo una interfaz de usuario en inglés.
Estoy trabajando en una pequeña aplicación Java SE, y decidió internacionalizar que el uso de los recursos paquete.
para visualizar el idioma adecuado, se crea el paquete con esta función:
private static ResourceBundle bundle = ResourceBundle
.getBundle("locale.Strings", Locale.getDefault());
Pero la función Locale.getDefault() devuelve la configuración regional (es decir: francés) y no el lenguaje de interfaz de usuario del sistema. Como resultado, mi interfaz de usuario se establece de forma predeterminada en francés, en un entorno inglés. Y bueno, eso no es realmente lo que esperaba ...
¿Alguien sabe de una manera independiente de la plataforma para recuperar el idioma de la interfaz del sistema? ¡Gracias de antemano!
Editar: fijo Local a Locale, gracias.
Bueno, me parece que lo que hace Java es lo correcto. Si configuró su sistema operativo con las preferencias francesas y el sistema operativo sigue mostrando todo en inglés, pero no en Java, el sistema operativo no está bien, pero Java sí, ¿verdad? Si quieres todo en inglés, ¿por qué no lo configuras con las preferencias en inglés? –
¿no debería ser 'Locale.getDefault()' y no 'Local.getDefault()'? –
@JBNizet no es un requisito tan inusual. Soy holandés y, al igual que OP, prefiero que mi GUI sea inglés, mientras que los formatos numéricos y los formatos de fecha aparecen de la manera en que estoy acostumbrado en mi propia configuración regional (por ejemplo, las fechas de primer mes de América son bastante me confunde, requiriendo tiempo de análisis adicional en mi cerebro). Las traducciones de software a menudo son abismales, doblemente en dominios como la programación donde la jerga es el inglés. – Barend