Класс Locale

Класс Java java.util.Locale позволяет учесть особенности региональных представлений алфавита, символов, чисел и дат. Автоматически виртуальная машина использует текущие региональные установки операционной системы, но при необходимости их можно изменять.

Для некоторых стран региональные параметры устанавливаются с помощью констант, например: Locale.US, Locale.FRANCE.

Для всех остальных объект класса Locale нужно создавать с помощью конструктора, например: Locale rus = new Locale("ru", "RU");

Существует константа Locale.ROOT. Она представляет локаль, для которой язык, страна равны пустой строке(""). Эта локаль является базовой для всех остальных локалей. Используется для написания приложений, не зависящих от локали.

Определить текущий вариант региональных параметров можно следующим образом: Locale current = Locale.getDefault();

А можно и изменить для текущего экземпляра (instance) JVM: Locale.setDefault(Locale.CANADA)

Рассмотрим пример использования класса Locale:

import java.util.Locale;

public class LocaleDemo1 {
    public static void main(String[] args) {
        Locale fr = Locale.FRANCE;
        Locale us = Locale.US;
        Locale uk = new Locale("uk", "UA");

        Locale.setDefault(Locale.CANADA);
        Locale current = Locale.getDefault();
        getLocaleInfo(current);

        getLocaleInfo(fr);
        getLocaleInfo(us);
        getLocaleInfo(uk);
    }

    private static void getLocaleInfo(Locale current) {
        System.out.println("Код региона: " + current.getCountry());
        System.out.println("Название региона: " + current.getDisplayCountry());
        System.out.println("Код языка региона: " + current.getLanguage());
        System.out.println("Название языка региона: "
                + current.getDisplayLanguage());
        System.out.println();
    }
}
Read also:
Comments