Последовательности переключения
Листинг 9.12. Файл русского локализированного ресурса также содержит последовательности переключения уникода, которые дают вам возможность представлять символы кириллицы без использования каких-либо специальных текстовых редакторов или инструментов
import javax.microedition.Icdui.Image;
import Java.io.lOException;
/"*
Данный класс определяет локализованные ресурсы
для приложения I18NDemo3. Вы извлекаете ресурс, вызывая метод getObjectf)
в классе ResourceBundle.
*/
public class I18NDemoResources_ru_RU
extends ListResourceBundle
{
// Содержит один из локализованных ресурсов. Нам необходимо
// инициализировать эту переменную в статическом инициализаторе
// данного класса.
private static Image applcon;
private Object [][] contents =
// "Привет, мир".
("title", "\u0417\u0434\u0440\u0430\u0441\u0442\u0432\u0443\u0439,
\u041c\u0446\uO*440!"),
// "Мой третий MID-лет".
{"greeting", "\u041c\043e\u0439 \u0442\u0440\u0435\u0442\u0438\u0439 MIDlet!"},
// "Кнопка нажата".
{"alert_title",
"\u041a\u043d\u043e\u043f\u043a\u0430 \u041d\u0430\u0436\u0430\u0442\u0430"},
// "Кнопка была нажата!".
("alert_text", "\u041a\u043e\u043e\u043f\u043a\u0430
\u0411\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430!"},
// Экранная клавиша "Выход".
("exit", "\u0412\u044b\u0445\u043e\u0434"},
{
// Экранная клавиша "Меню".
("menu", "\u041c\u0435\u043d\u044e"},
// Пункт меню "Отмена".
{"cancel",
"\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0446\u0442\u044c"),
// Пункт меню "Стоп".
("stop", "\u0421\u0442\u043e\u043f"},
// Пункт меню "ОК". {"ok", "OK"},
// Экранная клавиша "Предупреждение".
("alert", "\u0412\u043d\u0446\u043c\u0430\u043d\u0446\u0435"),
// Пункт меню "Скажи привет".
("sayhi","\u0421\u043a\u0430\u0436\u0446
\u043f\u0440\u0446\u0432\u0435\u0442"),
it Пункт меню "Экран".
{"screen", "\u042d\u043a\u0440\u0430\u043d"),
// Пункт меню "Предмет".
("item", "\u041f\u0440\u0435\u0434\u04c3\u0435\u0442"),
// Пункт меню "Помощь".
("help", "\u041f\u043e\u043c\u043e\u0449\u044c"},
// Значок приложения. ("app_icon", applcon} };
/**
Конструктор No-arg.
*/
public I18NDemoResources_ru_RU()
super();
}
public Object [][] getContents()
}
return contents;
}
// Необходим статический инициализатор для инициализации
// переменной, которая не может быть инициализирована
// в массиве содержимого. Например, мы не можем выделить
// что-либо в массиве содержимого для создания изображения и
// выполнить требуемую обработку исключений.
static
{
try
{
applcon = Image.createlmage("i!8n-ru_RU.png");
}
catch (lOExce'ption ioe)
{
System.out.print In(ioe.getMessage());
ioe.printStackTrace() ;
}
}
}
Если вы все еще не убеждены, взгляните на листинг 9.13, который показывает ресурсы того же самого приложения, локализованные на японский язык. Класс I18NdemoResources_ja JP был создан с помощью того же текстового редактора, основанного на ASCII. Японские символы не могут быть введены в традиционном текстовом редакторе без поддержки IME. И, если вы используете IME, вы должны убедиться, что используете уникод для записи строковых литералов в файл. В противном случае вашему приложению придется выполнять преобразование посимвольной кодировки.
Содержание раздела