Spec-Zone .ru
спецификации, руководства, описания, API
След: Интернационализация
Урок: Установка Локали
Контекст Локали
Домашняя страница > Интернационализация > Установка Локали

Контекст Локали

Платформа Java не требует, чтобы Вы использовали то же самое Locale всюду по Вашей программе. Если Вы желаете, можно присвоить различное Locale к каждому чувствительному к локали объекту в Вашей программе. Эта гибкость позволяет Вам разрабатывать многоязычные приложения, которые могут вывести на экран информацию на нескольких языках.

Однако, большинство приложений не многоязычно, и их чувствительные к локали объекты полагаются на значение по умолчанию Locale. Установленный виртуальной машиной Java, когда это запускает, значение по умолчанию Locale соответствует локали платформы узла. Определить значение по умолчанию Locale из Вашей виртуальной машины Java вызовите Locale.getDefault метод.


Отметьте: 

Возможно независимо установить локаль значения по умолчанию для двух типов использования: установка формата используется для того, чтобы отформатировать ресурсы, и установка дисплея используется в меню и диалоговых окнах. Представленный в Java SE 7 выпусков, Locale.getDefault(Locale.Category) метод берет a Locale.Category параметр. Передача FORMAT перечисление к getDefault(Locale.Category) метод возвращает локаль значения по умолчанию для того, чтобы отформатировать ресурсы. Similiarly, передавая DISPLAY перечисление возвращает локаль значения по умолчанию, используемую UI. Соответствие setDefault(Locale.Category, Locale) метод позволяет устанавливать локаль для требуемой категории. Без параметров getDefault метод возвращается DISPLAY значение по умолчанию.

На платформе Windows эти значения по умолчанию инициализируются согласно "Стандартам и Форматам" и настройкам "Display Language" в панели управления Windows.


Недопустимо установить значение по умолчанию Locale программно, потому что это совместно используется всеми чувствительными к локали классами.

Распределенные вычисления повышают некоторые интересные проблемы. Например, предположите, что Вы разрабатываете сервер приложений, который получит запросы от клиентов в различных странах. Если Locale поскольку каждый клиент отличается, что должно быть Locale из сервера? Возможно, сервер является многопоточным с каждым набором потока к Locale из клиента это обслуживает. Или возможно все данные, которые передают между сервером и клиентами, должны быть независимыми от локали.

Которые разрабатывают подход, следует взять? Если возможный, данные, которые передают между сервером и клиентами, должны быть независимыми от локали. Это упрощает проект сервера, делая клиенты, ответственные за отображение данных чувствительным к локали способом. Однако, этот подход не будет работать, если сервер должен хранить данные в специфичной для локали форме. Например, сервер мог бы сохранить испанский, английский, и французские версии тех же самых данных в различных столбцах базы данных. В этом случае сервер мог бы хотеть запросить клиент для Locale, начиная с Locale возможно, изменился начиная с последнего запроса.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Идентификация Доступных Локалей
Следующая страница: чувствительный к локали SPI Служб