Проверьте, существует ли локаль или нет - PullRequest
0 голосов
/ 25 января 2012

Мне нужно установить локаль по умолчанию, если локаль не существует. Но я не понимаю, как проверить, существует ли локаль или нет.

Предположим, я передаю locale:xyz, чем как проверить, существует locale xyz или нет.

пожалуйста, предложите.

Ответы [ 3 ]

2 голосов
/ 25 января 2012

Что такое xyz;это код языка, код страны или какой-то другой идентификатор для локали?

Вы можете позвонить java.util.Locale.getAvailableLocales(), чтобы получить список локалей, поддерживаемых JVM, на котором работает ваша программа, и провести соответствующее сравнениечтобы узнать, находится ли искомая локаль в этом списке.

0 голосов
/ 11 марта 2014

Вы также можете использовать метод locale.getISO3Language();.Если выдается MissingResourceException, локаль недоступна, в противном случае все работает нормально.

    final Locale locale = new Locale("xx");
    try {
        locale.getISO3Language();
    } catch (final MissingResourceException ex) {
        throw new IllegalArgumentException("Not a valid locale.");
    }
0 голосов
/ 25 января 2012

Попробуйте

if(!"US".equals(Locale.getDefault().getCountry())){
        System.out.println(Locale.getDefault());
        Locale.setDefault(Locale.US);
    }

    System.out.println(Locale.getDefault());

Если не США, он установит его

...