Вы можете использовать встроенный в класс Locale:
Locale l = new Locale("", "CH");
System.out.println(l.getDisplayCountry());
печатает "Швейцария", например. Обратите внимание, что я не предоставил языка.
Так что вы можете сделать для обратного поиска является построить карту из доступных стран:
public static void main(String[] args) throws InterruptedException {
Map<String, String> countries = new HashMap<>();
for (String iso : Locale.getISOCountries()) {
Locale l = new Locale("", iso);
countries.put(l.getDisplayCountry(), iso);
}
System.out.println(countries.get("Switzerland"));
System.out.println(countries.get("Andorra"));
System.out.println(countries.get("Japan"));
}
ответ нашел на этом посту POST. Надеюсь, поможет.