Archivos por Etiqueta: language

Java: Country names and iso3166 for i18n

Para sacar la lista de Paises en un Idioma concreto con su codigo ISO:

import java.util.Locale;

public class Countries {
  public static void main(final String[] args) {
    // ENGLISH, SPANISH, FRENCH, ITALIAN, GERMAN
    final Locale lang = Locale.ENGLISH;
    final String[] countries = Locale.getISOCountries();
    for (final String countryCode : countries) {
      final Locale locale = new Locale("", countryCode);
      System.out.println(locale.getCountry() + "=" + 
                         locale.getDisplayCountry(lang));
    }
  }
}

Esto devuelve el codigo de pais en formato ISO-3166-1 (2 letras) y su texto humano, tal que así:

ES=Spain
FR=France
...etc...

Para recuperar el Texto de un pais partiendo del codigo ISO (2 letras) sería:

public static String getCountry(final String isoCode, final Locale lang) {
  return new Locale("", isoCode).getDisplayCountry(lang);
}
getCountry("ES", Locale.GERMAN) => "Spanien"

Referencia: Locale