Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° J2MeΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 56

Автор Автор нСизвСстСн

ИсслСдованиС листингов 9.9 ΠΈ 9.10 ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒ вас Π² Π²Ρ‹Π³ΠΎΠ΄Π°Ρ… использования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π°. Как-Π½ΠΈΠΊΠ°ΠΊ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ западноСвропСйскиС языки, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ французский. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π»Π΅Π³Ρ‡Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для западноСвропСйских Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… настроСк Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ сортировки ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π°. НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ французскиС символы, вводя Π΄Π²ΡƒΡ…ΠΊΠ»Π°Π²ΠΈΡˆΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ вставляя ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ мСню.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΎΠ»Π΅Π΅ явно ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ Π²Ρ‹Π³ΠΎΠ΄Ρ‹ использования ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π°. Π’ листингС 9.12 ΠΏΠΎΠΊΠ°Π·Π°Π½ класс I18NDemoResources_ru_RU, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для русского языка. На рисункС 9.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ внСшний Π²ΠΈΠ΄ экрана, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° рисункС 9.2, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ настройка устанавливаСтся Π½Π° ru_RU, которая прСдставляСт собой русский язык. Π’Π²ΠΎΠ΄ русских символов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы Π·Π°ΠΏΠ°Π΄Π½Ρ‹Ρ… языков Π±ΠΎΠ»Π΅Π΅ слоТСн, Ρ‡Π΅ΠΌ Π²Π²ΠΎΠ΄ французских символов. Однако структуру класса I18NDemoResources_ru_RU ΠΈ инструмСнты, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для Π΅Π³ΠΎ создания, Π½Π΅ приходится ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ использования ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹.



Рисунок 9.3. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹Π΅ языки. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ прСдставлСны Π½Π° вашСй ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅


Листинг 9.12. Π€Π°ΠΉΠ» русского Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ рСсурса Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ символы ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ инструмСнтов


import javax.microedition.Icdui.Image;

import Java.io.lOException;

/*


Π”Π°Π½Π½Ρ‹ΠΉ класс опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для прилоТСния I18NDemo3. Π’Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅ рСсурс, вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ getObject() Π² классС 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, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡƒΠ½ΠΈΠΊΠΎΠ΄ для записи строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π² Ρ„Π°ΠΉΠ». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ посимвольной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ.


Листинг 9.13. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со всСми элСмСнтами всСх ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹Ρ… языков ΠΌΠΈΡ€Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ восгочноазиатскиС языки, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ японский


import javax.microedition.Icdui.Image;

import Java.io.lOException;

/**


Π”Π°Π½Π½Ρ‹ΠΉ класс опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для прилоТСния I18NDemo3.

Π’Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅ рСсурс, вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ getObject() Π² классС ResourceBundle.


*/

public class I18NDemoResources_ja_JP

extends ListResourceBundle

{

// Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… рСсурсов. Нам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

// ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² статичСском ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅

// данного класса.

private static Image applcon;

private Object [][] contents =

{

// "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€"

{"title", "\u24f64\u3055\u3093, \u3053\u3093\u306b\u3061\u306f"),

// "Мой Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ MID-Π»Π΅Ρ‚".

("greeting", "\u79cl\u306e 3 \u3063\u3081\u306e MIDlet"},

// "Кнопка Π½Π°ΠΆΠ°Ρ‚Π°".

{"alert_title")

"\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u307e\u3057\u305f"},

// "Кнопка Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π°".

"alert_text",

"\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u3C7e\u3057\u305f!"}

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«Π’Ρ‹Ρ…ΠΎΠ΄Β», {"exit", "\u51fa\53e3"},

// Экранная клавиша «МСню».

("menu", "\u30el\u30cb\u30e6\u30fc"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β».

("cancel", "\u3Cad\u30e4\u30f3\u30bb\u30eb"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«Π‘Ρ‚ΠΎΠΏΒ». {"stop", "\u505c\u6b62"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню «ОК». ("ok", "OK"},

// Экранная клавиша Β«ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅Β», {"alert", "Alert"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню "Π‘ΠΊΠ°ΠΆΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ‚", ("sayhi","\u30cf\u30a4"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«Π­ΠΊΡ€Π°Π½Β».

{"screen", "\u30b9\u30af\u30ea\u30f3"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Β», {"item", "\u9805\u76ee"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ΠŸΠΎΠΌΠΎΡ‰ΡŒΒ».

("help", "\u308d"},

// Π—Π½Π°Ρ‡ΠΎΠΊ прилоТСния.

{"app_icon", applcon)

/**


ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ No-arg.


*/

public I18NDemoResources_ja JP()

{

super();

)

public Object [][] getContents ()

{

return contents;

{

// НСобходим статичСский ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

// ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π²

// массивС содСрТимого. НапримСр, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ

// Π² массивС содСрТимого для создания изобраТСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

// Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

static

{

try

{

applcon = Image.createlmage("i!8n-ja_JP.png");

{

catch (lOException ioe)

{

System.out.println(ioe.getMessage());

ioe.printStackTrace();

}

}

}


Π’ листингС 9.14 ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ„Π°ΠΉΠ» I18NDemoResources_zh_CH. Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ китайского языка.


Листинг 9.14. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ настройки zh_CN, ΠšΠΈΡ‚Π°ΠΉ, прилоТСния I18NDemo3


import javax.microedition.Icdui.Image; import Java.io.lOException;

/**


Π”Π°Π½Π½Ρ‹ΠΉ класс опрСдСляСт Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ рСсурсы для прилоТСния I18NDemo3.

Π’Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅ рСсурс, вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ getObjectO Π² классС ResourceBundle.


*/

public class I18NDemoResources_zh_CN

extends ListResourceBundle

{

// Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… рСсурсов. Нам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

// ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² статичСском ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π΅

// данного класса.

private static Image applcon;

private Object [][] contents =

{

// Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΠΎΡ€ΠΌΡ‹ "Hello, World".

("title", "\u54c8\u7f57\u4el6\754c"),

// ВСкст Ρ„ΠΎΡ€ΠΌΡ‹ "My third MIDlet".

("greeting", "\u62ll\u7684\7b2c\u4e09\u4187 MIDlet"},

// Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ увСдомлСния "Button Pressed". ("alert_title", "\u6309\u4eOb\u6309\u9215"],

// ВСкст увСдомлСния "A button was pressed!". ("alert_text", "\u6309\u4eOO\u4187\u6309\u9215!"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ExitΒ».

("exit", "\u767b\u51fa"},

// Экранная клавиша Β«MenuΒ», ("menu", "\u76ee\u5f54"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«CancelΒ», {"cancel", "\u53d6\u6d88"j,

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«StopΒ», ("stop", "\u505c\u6b62"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«OKΒ». {"ok", "OK"),

// Экранная клавиша Β«AlertΒ», {"alert", "\u8b66\u793a"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню "Say Hi", ("sayhi", "\u55e8"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ScreenΒ». ("screen", "\u87a2\u5e55"),

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«ItemΒ», ("item", "\u9879\u76ee"},

// ΠŸΡƒΠ½ΠΊΡ‚ мСню Β«HelpΒ», {"help", "\u8bf4\u660e"},

// Π—Π½Π°Ρ‡ΠΎΠΊ прилоТСния. {"app_icon", applcon}

};

/**


ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ No-arg.


*/

public I18NDemoResources_zh CN()

{

super!);

{

public Object [][] getContents ()

{

return contents;

}

// НСобходим статичСский ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

// ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π²

// массивС содСрТимого. НапримСр, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ