Ресурс каждой региональной
Листинг 9.10. Ресурс каждой региональной настройки определяется в своем собственном соответствующем подклассе ListResourceBundle. Данный подкласс определяет атрибуты, локализованные для франкоязычного региона
import javax.microedition.lcdui.Image;
import Java.io.lOException;
/'**
Класс, представляющий локализованные ресурсы для французского языка региона Франции.
Обратите внимание на использование последовательностей
переключения уникода в строковых литералах. Использование последовательностей
переключения уникода в строковых литералах означает, что мы можем записать
этот файл с помощью одних только символов ASCII, делая его эксплуатацию
более легкой. Легко добавлять комментарии для создания удобочитаемых строк.
*/
public class I18NDemoResources_fr_FR
extends ListResourceBundle
{
// Содержит один из локализованных ресурсов. Нам необходимо
// инициализировать данную переменную в статическом
// инициализаторе данного класса.
private static Image applcon;
private Object [][] contents =
{ {"title", "All\uOOf4, tout le Monde"), // Form title.
// Создаем текст: "My third MIDlet". ("greeting", "Mon troisi\uOOe8me MIDlet"),
// «Кнопка была нажата» ("Button was Pressed").
{"alert_title", "Bouton a \uCOe9t\uOOe9 press\uOOe9"),
// «Кнопка была нажата» ("The button was pressed").
{"alert_text", "Le bouton a \uOOe9t\uOOe9 press\uOOe9!"},
("exit", "Sortie"), // Пункт меню «Выход» ("Exit").
("menu", "Menu"), // Экранная клавиша «Меню» ("Menu").
("cancel", "Quitter"), // Пункт меню «Отмена» ("Cancel").
("stop", "Arreter"), // Пункт меню «Стоп» ("Stop").
("ok", "OK"), // Пункт меню "OK".
("alert", "Alerte"), // Экранная клавиша «Уведомление» ("Alert").
i"sayhi","Dis bonjour"), // Пункт меню «Скажи- привет» ("Say Hi").
("screen", "Ecran"), // Пункт меню «Экран» ("Screen").
{"item", "Item"), //.Пункт меню «Предмет» ("Item").
("help", "Aider"), // Пункт меню «Помощь» ("Help").
("app_icon", applcon) // Значок приложения.
};
/**
Конструктор No-arg.
*/
public I18NDemoResources_fr_FR()
{
super();
/**
Получает содержимое пакета ресурсов.
@возвращает массив пар ключ-значение.
public Object [][] getContents()
{
return contends;
}
// Обратите внимание, что статический инициализатор создает
// экземпляры класса Image с другими изображениями, нежели он
// использует в региональной настройке en_US. static
{
try
{
applcon = Image.createlmage("i!8n-fr_FR.png");
}
catch (lOException ioe)
{
System.out.printIn(ioe.getMessage());
io.e.printStackTracel) ;
}
}
}
В листинге 9.11 показана программа I18NDemo3, которая использует данный набор классов пакетов ресурсов. Метод startAppO данного MID-лета создает экземпляр соответствующего класса пакета ресурсов. Он создает имя класса, связывая базовое имя семейства файлов локализованных ресурсов, I18NDemoResources, с конечной региональной настройкой. С помощью всего лишь нескольких операторов приложение получает доступ ко всем локализованным ресурсам.