Locale (bspw. de_DE) bekommen von Locale.getISOCountries

internet

Top Contributor
hallo,

Problem:
Wie bekomme ich bspw. diesen Code: de_DE

Erklärung:
ich hole mir mit folgendem Code alle Länder nach dem ISO Standard.
Java:
String[] locales = Locale.getISOCountries();

Nun möchte ich den Code bekommen wie bswp. de_DE
Ich schreibe sowohl die Länder als auch den Code (bspw. de_DE) zu jedem Land in eine zweite Tabelle "Language".

Wenn ich das über die getAvailableLocales mache, also:
Java:
Locale[] locales = Locale.getAvailableLocales();

und dann das hier mache, geht das auch einwandfrei.
Java:
locale.toString()

Allerdings bekomme ich dann nicht alle ISO3 Länder (manche sind NULL)
Wenn nun ebenso locale.toString() mache, bekomme ich nur folgendes als Beispiel:
_AD


Hier ist mein ganzer Code:
Java:
String[] locales = Locale.getISOCountries();
for (String countryCode : locales) {
	 
			Locale obj = new Locale("", countryCode);
			
			CountryGeneral newCountryGeneral = new CountryGeneral();
			try {
		
				newCountryGeneral.setCountryCode(obj.getCountry());
				newCountryGeneral.setName(obj.getDisplayCountry());
				newCountryGeneral.setDescription(obj.getDisplayName());
				newCountryGeneral.setCountryIso3Code(obj.getISO3Country());
				newCountryGeneral.setCountryIso3Language(obj
						.getISO3Language());

				try {
					LanguageGeneral languageGeneral = languageService
							.findLanguageGeneralByIsoCode(obj.toString());
					newCountryGeneral.setLanguageGeneral(languageGeneral);
				}

				catch (LanguageGeneralNotFoundException e) {
					LanguageGeneral languageGeneral = new LanguageGeneral();
					languageGeneral.setIsoCode(obj.toString());
					languageGeneral.setNameGerman(obj.getDisplayLanguage());
					newCountryGeneral.setLanguageGeneral(languageGeneral);
				}
			} catch (MissingResourceException e) {
			}


Vielen Dank für Eure Hilfe.
 

Zurück
Oben