separador punto por idioma configuracion coma cambiar java internationalization

java - punto - ¿Cuál es la diferencia entre crear una configuración regional para en-US y en_US?



configuracion regional y de idioma (4)

"en" es el código de idioma especificado por ISO 639. mientras que EE.UU. es el código de país especificado por 3166.
En Java, el objeto Locale reconoce el idioma como languageCode_countryCode (por ejemplo, en_US) y no como languageCode-countryCode .

Tengo todos los valores de mis recursos en la tabla y el formato según el requisito. Tengo que cambiar los idiomas en el sitio web según la selección del Usuario en la lista desplegable en la parte superior de la página. Si utilizo el código de idioma como en_US, entonces está funcionando bien. Si utilizo en-Us como código de idioma, entonces no funciona. Cuál podría ser el problema. ¿Cuál es correcto seguir?


A partir de Java8, la inicialización de la configuración regional debe realizarse utilizando la etiqueta de idioma "en-US" Locale.forLanguageTag ("en-US"). ToString (); devuelve la salida: en_US

Where as Locale.forLanguageTag ("en_US") no crea la configuración regional requerida. Será por defecto a la configuración regional del sistema. Locale.forLanguageTag ("en_US"). ToString () devuelve null


O puede usar Locale us = Locale.forLanguageTag("en-US") y us.toLanguageTag() , y eso hará la conversión por usted sin tener que crear su propia implementación propensa a errores.


"en-US" es una etiqueta de idioma IETF . Si bien la clase Java''a Locale se basó claramente en las etiquetas de idioma IETF, usa guiones bajos en lugar de guiones al separar los códigos de idioma de los códigos de país (y también las variantes), por lo que llamar a toString() en el Locale equivalente le dará en_US .

A partir de Java 7 puede usar Locale.forLanguageTag(String) y toLanguageTag() para convertir entre etiquetas de idioma y objetos Locale .

Cuando convierta cadenas a objetos Locale , es una buena idea normalizar dividiendo los componentes en guiones y guiones bajos, recortando el primer componente (el código del idioma) y colocando la parte superior del segundo componente (el código del país).