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

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

Идентификация Специфичных для локали Объектов

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

Вы заметите, что этот список не содержит объекты, представляющие числа, даты, времена, или валюты. Формат дисплея этих объектов меняется Locale, но сами объекты не делают. Например, Вы формат a Date согласно Locale, но Вы используете то же самое Date объект независимо от Locale. Вместо того, чтобы изолировать эти объекты в a ResourceBundle, Вы форматируете их со специальными чувствительными к локали классами форматирования. Вы изучите, как сделать это в разделе Дат и Времен урока Форматирования.

Вообще, объекты хранятся в a ResourceBundle предопределяются и поставка с продуктом. Эти объекты не изменяются, в то время как программа работает. Например, следует сохранить a Menu метка в a ResourceBundle потому что это специфично для локали и не будет изменяться во время сеанса программы. Однако, недопустимо изолировать в a ResourceBundle a String возразите, что конечный пользователь входит в a TextField. Данные, такие как это String может измениться со дня на день. Это является определенным для сеанса программы, не для Locale в котором работает программа.

Обычно большинство объектов Вы должны изолировать в a ResourceBundle String объекты. Однако, не все String объекты специфичны для локали. Например, если a String элемент протокола, используемый межпроцессным взаимодействием, это не должно быть локализовано, потому что конечные пользователи никогда не видят это.

Решение, локализовать ли некоторых String объекты являются не всегда четкими. Файлы журнала являются хорошим примером. Если файл журнала пишется одной программой и чтением другим, обе программы используют файл журнала в качестве буфера для передачи. Предположите, что конечные пользователи иногда проверяют содержание этого файла журнала. Разве файл журнала не должен быть локализован? С другой стороны, если конечные пользователи редко проверяют файл журнала, стоимость преобразования, возможно, не стоит. Ваше решение локализовать этот файл журнала зависит в ряде факторов: проектирование программы, простота использования, стоимость преобразования, и обеспеченность.

Организация Объектов ResourceBundle

Можно организовать Ваш ResourceBundle объекты согласно категории объектов они содержат. Например, Вы могли бы хотеть загрузить все метки GUI для окна записи порядка в a ResourceBundle вызванный OrderLabelsBundle. Используя многократный ResourceBundle объекты предлагают несколько преимуществ:


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

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