Spec-Zone .ru
спецификации, руководства, описания, API
Изоляция Специфичных для локали Данных
След: Интернационализация

Урок: Изоляция Специфичных для локали Данных

Специфичные для локали данные должны быть адаптированы согласно соглашениям языка конечного пользователя и области. Текст, выведенный на экран пользовательским интерфейсом, является самым очевидным примером специфичных для локали данных. Например, у приложения с кнопкой Cancel в США будет кнопка Abbrechen в Германии. В других странах у этой кнопки будут другие метки. Очевидно, Вы не хотите к hardcode это название кнопки. Не был бы это быть хорошим, если Вы могли бы автоматически получить корректную метку для данного Locale? К счастью, Вы можете, при условии, что Вы изолируете специфичные для локали объекты в a ResourceBundle.

В этом уроке Вы изучите, как создать и получить доступ ResourceBundle объекты. Если Вы спешите исследовать некоторые примеры кодирования, идти вперед и проверять последние два раздела в этом уроке. Затем можно возвратиться к первым двум разделам, чтобы получить некоторую концептуальную информацию о ResourceBundle объекты.

О Классе ResourceBundle

ResourceBundle объекты содержат специфичные для локали объекты. Когда Вы нуждаетесь в специфичном для локали объекте, Вы выбираете его от a ResourceBundle, который возвращает объект, который соответствует конечного пользователя Locale. Этот раздел объясняет как a ResourceBundle связывается с a Locale, и описывает ResourceBundle подклассы.

Подготовка Использовать ResourceBundle

Прежде, чем Вы создадите Ваш ResourceBundle объекты, следует сделать небольшое планирование. Во-первых, идентифицируйте специфичные для локали объекты в своей программе. Затем организуйте их в категории и сохраните их в различном ResourceBundle объекты соответственно.

Поддержка ResourceBundle с Файлами Свойств

Если Ваше приложение содержит String объекты, которые должны быть преобразованы на различные языки, можно сохранить их String объекты в a PropertyResourceBundle, который поддерживается рядом файлов свойств. Так как файлы свойств являются простыми текстовыми файлами, они могут быть созданы и сохраняться Вашими трансляторами. Вы не должны изменить исходный код. В этом разделе Вы изучите, как установить файлы свойств, которые поддерживают a PropertyResourceBundle.

Используя ListResourceBundle

ListResourceBundle class, который является подклассом ResourceBundle, управляет специфичными для локали объектами со списком. A ListResourceBundle поддерживается файлом class, что означает, что следует кодировать и скомпилировать новый исходный файл каждый раз поддержка дополнительного Locale необходим. Однако, ListResourceBundle объекты полезны, потому что в отличие от файлов свойств, они могут сохранить любой тип специфичного для локали объекта. Ступая через пример программы, этот раздел демонстрирует, как использовать a ListResourceBundle.

Настройка Загрузки Пакета Ресурса

Этот раздел представляет новые возможности улучшиться ResourceBundle.getBundle гибкость фабрики. ResourceBundle.Control class сотрудничает с методами фабрики для того, чтобы загрузить пакеты ресурса. Это позволяет рассматривать каждый существенный шаг процесса загрузки пакета ресурса и его управления кэшем как отдельный метод.


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

Предыдущая страница: Предыдущий Урок
Следующая страница: О Классе ResourceBundle