paises mundo mexico codigos codigo ciudades argentina java internationalization locale currency

java - mundo - iso 3166-1 excel



Si tiene el código de país ISO `US`,` FR`, ¿cómo obtiene el código de configuración regional(`Locale.US`,` Locale.FRANCE`)? (4)

Si tiene el código de país US , FR (código de país ISO-3166-1 alpha-2), ¿cómo obtiene el código de Locale.US regional ( Locale.US , Locale.FRANCE ) para hacer algo como esto?

System.out.println(DecimalFormat.getCurrencyInstance(Locale.US).format(12.34)); System.out.println(DecimalFormat.getCurrencyInstance(Locale.FRANCE).format(12.34)); $12.34 12,34 €


En Java7 está el Locale.Builder , pero antes hay una forma sencilla. Sin embargo, puedes crear un método de utilidad:

  1. loop Locale.getAvailableLocales()
  2. para cada control si locale.getCountryCode().equals(countryCodeParam) y lo devuelve

No puede, porque una configuración regional se usa para contener un idioma, no un país. Puede contener un idioma para un país específico y para una variante específica en este país, pero es un idioma primero. Y no hay una relación uno-a-uno entre un idioma y un país. La mayoría de los idiomas se hablan en varios países, y muchos países tienen varios idiomas.

Si tenía el código de país para un idioma, podría usar una new Locale(code) . Pero con un código de país, todo lo que puede hacer es llamar a getAvailableLocales , recorrer los resultados y encontrar uno que tenga su código de país. Pero puede haber varios.


Puede crear la configuración regional,

new Locale("en", "US") new Locale("fr", "FR")

o

itere a través de Locale.getAvailableLocales() hasta que encuentre su configuración regional y luego use esa instancia.


Una localidad se especifica más importante por el código de idioma ISO-639, es posible también un código de país ISO-3166 y una variante. La clase Locale tiene constructores que toman solo un código de idioma, o un código de país, o una variante adicional.

Si solo tiene el código de país, primero necesita un mapa que lo convierta en un código de idioma, pero eso no necesariamente produce un resultado único, muchos países usan más de un idioma oficial.