// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Интернационализация формы графического интерфейса
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Интернационализация формы графического интерфейса - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Интернационализация формы графического интерфейса

В следующем практическом руководстве приведены пошаговые инструкции по интернационализации в IDE NetBeans. Мы настроим интернационализацию для одной формы и затем разработаем эту форму. После этого мы интернационализируем весь пакет, содержащий несколько форм в различных пакетах. Приложения можно интернационализировать, устанавливая автоматическую интернационализацию либо используя специальный мастер.

*Ожидаемая длительность: 30 минут*


image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.0 или более поздней версии"]


*Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:http://netbeans.org/downloads/index.html[+IDE NetBeans+] |версия 7.0 и более поздние 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |версия 6, 7 или 8 
|===


== Принцип интернационализации

Интернационализация делает возможной адаптацию приложений для различных языков и регионов без внесения технических изменений или перекомпиляции. В интернационализированных приложениях текстовые элементы, такие как сообщения о состоянии и названия элементов графического интерфейса, хранятся вне исходного кода и извлекаются динамически вместо жесткого определения их в программе.

Интернационализированные строки обычно хранятся в файлах свойств, в форме пар "ключ-значение". Ключ – это идентификатор, используемый программой для извлечения текста, а значение – это сам текст. Мы создаем один файл свойств для каждой локали (или языка), на которые планируется перевести программу. Ключи идентичны во всех локалях – различаются только строки.

Среда IDE предоставляет средства для выполнения всех нижеперечисленных действий:

* вставки интернационализированных строк при создании формы графического интерфейса или программы Javа;
* замены всех жестко определенных строк в отдельном файле или группе файлов на интернационализированные строки;


== Интернационализации формы графического интерфейса на этапе разработки

В этом упражнении мы откроем демонстрационную версию проекта приложения Java, содержащую хорошо известный диалог поиска, созданный с помощью конструктора графического интерфейса. Далее мы переключимся на автоматическую интернационализацию для формы FindDialog.java. Чтобы проверить нашу интернационализированную форму графического интерфейса, мы добавим новую локаль к файлу свойств и запустим форму в локали, отличной от локали по умолчанию.


=== Открытие примера проекта

1. Загрузите проект link:https://netbeans.org/files/documents/4/770/InternationalizeDemo.zip[+InternationalizeDemo.zip+] в любую папку на своем компьютере и разархивируйте его.
2. Выберите 'Файл > Открыть проект', перейдите к проекту  ``InternationalizeDemo`` , извлеченному на предыдущем этапе, и нажмите 'Открыть'. Папка проекта может находиться в содержащей папке, также именуемой  ``InternationalizeDemo`` .
3. Разверните Source Packages ("Пакеты исходного кода") > Demo ("Демонстрационная версия") и дважды щелкните  ``FindDialog.java`` . Образец формы откроется в конструкторе графического интерфейса.

image::images/finddialog_ai18n.png[]


=== Включение автоматической интернационализации

1. Выберите корневой узел в окне 'Навигатор' (с именем  ``Form FindDialog`` ).

image::images/navigator.png[]


[start=2]
. В окне Properties ("Свойства") установите флажок для свойства Automatic Internationalization ("Автоматическая интернационализация").

image::images/properties.png[]


[start=3]
. Нажмите кнопку Upgrade ("Обновить") в диалоговом окне GUI Form Format Upgrade ("Обновление формата формы графического интерфейса").

Если флажок установлен, среда IDE создаст файл  ``Bundle.properties``  в пакете  ``demo`` , поскольку он установлен в свойстве  ``Properties Bundle File``  ("Файл набора свойств").

image::images/bundle_new.png[]

Если нужно, чтобы файл  ``Bundle.properties``  находился в другом месте, можно нажать расположенную справа кнопку обзора (...) и выбрать местоположение, либо ввести путь непосредственно в текстовом поле свойства.


[start=4]
. В окне 'Проекты' дважды щелкните узел  ``Bundle.properties``  в окне 'Проекты' или щелкните правой кнопкой мыши узел и выберите 'Правка'.

Файл свойств откроется в редакторе исходного кода. Как можно увидеть, созданы все необходимые ключи и значения для формы  ``FindDialog.java`` . (Имя каждого из ключей является производным от имени файла формы и имени переменной компонента. Например, ключ  ``FindDialog.jLabel1.text``  создан из компонента с именем переменной  ``jLabel1`` , который помещен в файл формы  ``FindDialog`` . Значение  ``jLabel1``  представляет в данном примере свойство Text ("Текст") компонента.


[start=5]
. Закройте файл  ``Bundle.properties`` .


=== Интернационализация отдельных компонентов графического интерфейса

Теперь мы используем конструктор графического интерфейса, чтобы ввести в форму интернационализированные строки для компонентов JLabel и JButton.

1. Выберите нужный компонент графического интерфейса (т. е.  ``jLabel1`` ) в области конструирования.
2. В окне Properties ("Свойства") нажмите кнопку многоточия (...) для свойства Text.

*Примечание.* Также можно интернационализовать другие свойства, содержащие строковые значения, такие как Mnemonic, Accessible Name, Accessible Descriptor и ToolTip.


[start=3]
. Редактор свойств переключен в режим набора ресурсов. Убедитесь, что в поле Bundle Name ("Имя набора") введено  ``demo.Bundle`` , а поле Key ("Ключ") содержит строку  ``FindDialog.jLabel1.text`` 

[start=4]
. Введите  ``Find What:``  в поле Value ("Значение").

[start=5]
. Нажмите кнопку "ОК".

Повторите вышеприведенные действия для всех компонентов, чтобы форма выглядела подобно следующей иллюстрации:

[.feature]
--
image::images/finddialog_new_small.png[role="left", link="images/finddialog_new.png"]
--

*Примечание.* Шаги 1-5 могут быть выполнены проще и быстрее: просто щелкните дважды  ``jLabel1``  в представлении конструктора, измените текст с  ``jLabel1``  на  ``Find What:``  и нажмите Enter. Результат будет тот же, что и от вышеприведенных действий.

Чтобы придать компонентам одинаковую ширину, выполните следующие действия:

1. Удерживая клавишу Control, щелкните все восемь компонентов jCheckBox в форме, чтобы выбрать их.
2. После установки флажков для всех jCheckBox щелкните правой кнопкой мыши любой из них и выберите 'Идентичный размер' > 'Идентичная ширина' в контекстном меню.
3. Примените действия 1-2 к трем компонентам jButton.


=== Добавление новой локали

1. Выберите корневой узел в окне 'Навигатор' (узел  ``Form FindDialog`` ).
2. В окне Properties ("Свойства") нажмите кнопку многоточия (...) для свойства Design Locale ("Локаль проекта").
3. В диалоговом окне 'Новая локаль' выберите  ``es_ES``  в поле со списком  ``Предопределенные локали:`` .
4. Нажмите кнопку "ОК".

Новая локаль появится под узлом  ``Bundle.properties`` , как показано ниже:

image::images/addlocale_new.png[]


[start=5]
. В окне 'Проекты' щелкните правой кнопкой мыши  ``Bundle.properties``  и выберите 'Открыть'.

[start=6]
. Переведите отдельные сообщения в соответствующем столбце таблицы на новый (например, испанский) язык, как показано ниже:

[.feature]
--
image::images/bundles_new_small.png[role="left", link="images/bundles_new.png"]
--


[start=7]
. Нажмите Ctrl+S для сохранения изменений.

[start=8]
. Выберите вкладку  ``FindDialog.java``  для отображения интернационализируемой формы.

[start=9]
. Щелкните правой кнопкой мыши корневой узел в окне 'Навигатор' и выберите 'Перезагрузить форму' (или нажмите Ctrl+R).

[start=10]
. Выберите Save ("Сохранить") в отобразившемся диалоговом окне Question ("Вопрос"). 
Форма будет открыта заново и в проект будет загружена испанская локаль, как показано ниже:

[.feature]
--
image::images/finddialog_es_new_small.png[role="left", link="images/finddialog_es_new.png"]
--


=== Тестирование локали, отличной от локали по умолчанию

1. В окне 'Проекты' щелкните правой кнопкой мыши проект InternationalizeDemo и выберите 'Свойства'.
2. На панели Categories ("Категории") выберите узел Run ("Запуск").
3. Введите  ``-Duser.language=es -Duser.country=ES``  в поле VM Options ("Параметры ВМ").

[.feature]
--
image::images/prjproperties_small.png[role="left", link="images/prjproperties.png"]
--


[start=4]
. Нажмите кнопку "ОК".

[start=5]
. Щелкните правой кнопкой мыши проект InternationalizeDemo и выберите Run ("Запустить").

Среда IDE запустит диалоговое окно  ``FindDialog``  на испанском, как показано ниже.

[.feature]
--
image::images/run_small.png[role="left", link="images/run.png"]
--


== Интернационализация всего проекта

Как правило, в локаль по умолчанию входит несколько файлов, которые необходимо согласовать для перевода на другие языки. Мастер интернационализации является прекрасным средством для этой задачи, поскольку он позволяет интернационализировать несколько файлов одновременно. Мы продемонстрируем эту функцию с помощью проекта примеров форм графического интерфейса, который содержит форму, созданную в руководстве link:quickstart-gui.html[+Разработка графического интерфейса Swing+].


=== Создание примера проекта

1. Выберите File ("Файл") > New Project ("Создать проект") или щелкните значок New Project на панели инструментов среды IDE.
2. На панели Categories ("Категории") выберите Samples ("Примеры") > узел Javа. На панели Projects ("Проекты") выберите GUI Form Examples ("Образцы формы графического интерфейса"). Нажмите кнопку "Далее".
3. В поле 'Имя проекта' введите  ``GUIFormExamples``  и укажите местоположение проекта (например,  ``/space/projects`` ).
4. Нажмите кнопку "Завершить".

image::images/formexamples.png[]


=== Подготовка файла свойств

1. Выберите File ("Файл") > New File ("Создать файл") или щелкните значок New Project на панели инструментов среды IDE.
2. На панели Categories ("Категории") выберите узел Other ("Прочие") и на панели File Types ("Типы файлов") выберите Properties File ("Файл свойств"). Нажмите кнопку "Далее".
3. Введите  ``ContactEditor``  в поле File Name ("Имя файла").
4. Щелкните Browse ("Обзор") и укажите папку  ``GUIFormExamples/src/examples``  как местоположение файла в открывшемся диалоговом окне просмотра папок.
5. Щелкните Select Folder ("Выбрать папку").
6. Нажмите кнопку "Завершить".

Среда IDE создаст файл  ``ContactEditor.properties``  и откроет его в редакторе исходного кода.

Повторите предшествующие действия для создания нового файла  ``Antenna.properties`` .

image::images/ceprjprops.png[]


=== Вызов мастера интернационализации

1. В главном меню выберите Tools ("Средства") > Internationalization ("Интернационализация") > Internationalization Wizard ("Мастер интернационализации").
2. На первой странице мастера выберите Add Source(s) ("Добавить источник(и)").
3. В диалоговом окне выбора источников разверните узлы  ``Source Packages``  ("Пакеты исходного кода") >  ``examples``  ("примеры") и, удерживая клавишу Сontrol, щелкните файлы  ``Antenna.java`` ,  ``ContactEditor.java``  и  ``Find.java`` , чтобы выбрать их.
4. Нажмите кнопку "ОК".

Файлы исходного кода появятся на первой странице мастера, как показано ниже:

[.feature]
--
image::images/i18nwizardone_small.png[role="left", link="images/i18nwizardone.png"]
--


[start=5]
. Для демонстрации выберите  ``examples.Find``  и нажмите кнопку Remove Source(s) ("Удалить источник(и)").

[start=6]
. Нажмите кнопку "Далее".

[start=7]
. Убедитесь, что мастер интернационализации предлагает верные файлы свойств:  ``examples.Antenna``  и  ``examples.ContactEditor`` . Если это не так, используйте кнопку Select Resource ("Выбор ресурса") для выбора верного файла свойств.

[.feature]
--
image::images/i18nwizardtwo_small.png[role="left", link="images/i18nwizardtwo.png"]
--


[start=8]
. Нажмите кнопку "Далее".

[start=9]
. Пропустите страницу 3 мастера, поскольку мы не будем заниматься здесь созданием полей и изменением дополнительных значений и нажмите кнопку Next ("Далее").

[start=10]
. Все жестко определенные строки отображаются на последнем этапе работы с мастером интернационализации. Здесь можно определить, какие из них будут исходить из файла свойств (используйте флажок). Можно также осуществлять дополнительную настройку отдельных ключей, значений и формата замененных строк, нажимая на кнопку многоточия (...) для нужной строки.

[.feature]
--
image::images/i18nwizardthree_small.png[role="left", link="images/i18nwizardthree.png"]
--


[start=11]
. Нажмите кнопку "Завершить".

Теперь интернационализация исходного кода завершена, и можно <<newlocale,добавлять>> и <<testlocale,тестировать>> локали, как было показано ранее.


== Интернационализация одной формы

Самый простой способ интернационализации формы графического интерфейса – использование автоматических функций I18n. Но если пакет обновлений не установлен, либо если нужно интернационализировать код, созданный не в редакторе форм, то следует использовать окно Internationalize ("Интернационализировать"). (Эта функция доступна для всех файлов  ``.java`` , а не только для файлов, созданных в редакторе форм). Следующий пример использует окно Internationalization ("Интернационализация"), входящее в установку по умолчанию среды IDE NetВeans.

В этом последнем упражнении мы снова используем проект примеров форм графического интерфейса и интернационализируем форму Find.java, исключенную в предыдущем упражнении. Мы вызовем диалоговое окно Internationalize ("Интернационализировать"), чтобы заменить все жестко заданные строки в данном файле. Наконец, мы рассмотрим краткую демонстрацию того, как вставить интернационализированную строку в исходный код при написании программы.


=== Работа с диалоговым окном 'Интернационализация'

1. В окне 'Проекты' выберите  ``Find.java`` , затем выберите 'Сервис > Интернационализация > Интернационализировать' в главном меню.

В среде IDE отображается диалоговое окно Internationalization ("Интернационализация"), в которое автоматически вставляется первая жестко определенная строка из исходного кода  ``Find.java`` .


[start=2]
. Нажмите кнопку Select ("Выбор"), чтобы выбрать определенный файл свойств или создать новый.

[start=3]
. В диалоговом окне 'Выбор пакета ресурсов' в поле 'Имя файла' введите  ``Find.properties`` , нажмите 'Создать' и ОК.

[start=4]
. Формат замененной строки, ключа, значения или комментария при необходимости можно заменить. Мы просто оставим значения по умолчанию.

[start=5]
. Нажмите кнопку Replace ("Замена"), чтобы подтвердить изменение, и переместите фокус на следующую жестко определенную строку.

Если жестко определенная строка не требует замены, нажмите кнопку Skip ("Пропуск").

[.feature]
--
image::images/i18ndialog_small.png[role="left", link="images/i18ndialog.png"]
--


=== Вставка единственной интернационализированной строки

1. В окне 'Проекты' щелкните правой кнопкой мыши  ``Find.java``  и выберите 'Правка'.

Среда IDE откроет файл  ``Find.java``  в редакторе исходного кода.


[start=2]
. Найдите в исходном коде главный метод.

[start=3]
. Вставьте следующую строку, выделенную жирным шрифтом, в главный метод:

[source,xml]
----

    public static void main(String args[]) {
			   /* Set the Nimbus look and feel */
			   //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            javax.swing.UIManager.LookAndFeelInfo[] installedLookAndFeels=javax.swing.UIManager.getInstalledLookAndFeels();
			for (int idx=0; idx<installedLookAndFeels.length; idx++)
			if ("Nimbus".equals(installedLookAndFeels[idx].getName())) {
			    javax.swing.UIManager.setLookAndFeel(installedLookAndFeels[idx].getClassName());
				break;
			}
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        *System.out.println();*
		/* Create and display the form */ 
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Find().setVisible(true);
            }
        });
               }
----

[start=4]
. Поместите курсор в скобках выражения  ``System.out.println();``  и вставьте интернационализированную строку как параметр.

[start=5]
. Нажмите Ctrl-Shift-J для вызова диалогового окна Insert Internationalized String ("Вставить интернационализированную строку") (как вариант, можно выбрать Tools ("Сервис") > Internationalization ("Интернационализация") > Insert Internationalized String ("Вставить интернационализированную строку") из главного меню).

[start=6]
. Для ввода имени набора нажмите кнопку Select ("Выбор"), выберите  ``Source Packages ("Исходные пакеты") > папку``  примеров и введите  ``Find``  в качестве имя набора в текстовое поле File Name ("Имя файла"). После этого нажмите кнопку OK. 
В поле 'Имя пакета' в диалоговом окне 'Вставка интернационализированной строки' отображается  ``examples.Find`` .

[start=7]
. Введите  ``Start``  в раскрывающееся окно Key ("Ключ") и  ``Start Find Dialog``  в поле Value ("Значение"). После этого нажмите кнопку OK.

image::images/insi18nstring.png[]


[start=8]
. Среда IDE вставит интернационализированную строку:

[source,xml]
----

    public static void main(String args[]) {
			   /* Set the Nimbus look and feel */
			   //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            javax.swing.UIManager.LookAndFeelInfo[] installedLookAndFeels=javax.swing.UIManager.getInstalledLookAndFeels();
			for (int idx=0; idx<installedLookAndFeels.length; idx++)
			if ("Nimbus".equals(installedLookAndFeels[idx].getName())) {
			    javax.swing.UIManager.setLookAndFeel(installedLookAndFeels[idx].getClassName());
				break;
			}
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Find.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
*        System.out.println(java.util.ResourceBundle.getBundle("examples/Find").getString("Start"));*
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Find().setVisible(true);
                }
            });
               }
----


link:/about/contact_form.html?to=3&subject=Feedback:Internationalizing%20a%20GUI%20Form%20in%20NetBeans%20IDE[+Отправить отзыв по этому учебному курсу+]



== Дополнительные сведения

Дополнительную информацию можно найти по следующим ссылкам:

* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Реализация графических интерфейсов Java+] в документе _Разработка приложений в IDE NetBeans_
* link:../../trails/matisse.html[+Учебная карта по приложениям с графическим интерфейсом Java +]
* link:quickstart-gui.html[+Проектирование графического интерфейса Swing+]
* link:http://wiki.netbeans.org/wiki/view/NetBeansUserFAQ[+Часто задаваемые вопросы по GUI Builder+]
