Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Интернационализация приложения






    Класс java.util.Locale позволяет учесть особенности региональных представлений алфавита, символов, чисел, дат и проч. Автоматически виртуальная машина использует текущие региональные установки операционной системы, но при необходимости их можно изменять. Для некоторых стран региональные параметры устанавливаются с помощью констант, например: Locale.US, Locale.FRANCE. Для всех остальных объект Locale нужно создавать с помощью конструктора, например:

    Locale rus = new Locale(" ru", " RU");

    Определить текущий вариант региональных параметров можно следующим образом:

    Locale current = Locale.getDefault();

    А можно и изменить для текущего экземпляра (instance) JVM:

    Locale.setDefault(Locale.CANADA);

    Если, например, в ОС установлен регион «Беларусь» или в приложении с помощью new Locale(" be", " BY"), то следующий код (при выводе результатов выполнения на консоль)

    current.getCountry(); // код региона

    current.getDisplayCountry(); // название региона

    current.getLanguage(); // код языка региона

    current.getDisplayLanguage(); // название языка региона

    позволяет получить информацию о регионе в виде:

    BY

    Беларусь

    be

    белорусский

    Для создания приложений, поддерживающих несколько языков, существует целый ряд решений. Самое логичное из них — дублирование сообщений на разных языках в разных файлах с эквивалентными ключами с последующим извлечением информации на основе значения заданной локали. Данное решение основано на взаимодействии классов java.util.ResourceBundle и Locale. Класс ResourceBundle предназначен для взаимодействия с текстовыми файлами свойств (расширение.properties). Каждый объект ResourceBundle представляет собой набор соответствующих подтипов, которые разделяют одно и то же базовое имя, к которому можно получить доступ через поле parent. Следующий список показывает возможный набор соответствующих ресурсов с базовым именем text. Символы, следующие за базовым именем, показывают код языка, код страны и тип операционной системы. Например, файл text_it_CH.properties соответствует объекту Locale, заданному кодом итальянского языка (it) и кодом страны Швейцарии (CH).

    text.properties

    text_ru_RU.properties

    text_it_CH.properties

    text_fr_CA.properties

    Чтобы выбрать определенный объект ResourceBundle, следует вызвать один из статических перегруженных методов getBundle(параметры).

    Следующий фрагмент выбирает text объекта ResourceBundle для объекта Locale, который соответствует французскому языку и стране Канада.

    Locale locale = new Locale(" fr", " CA");

    ResourceBundle rb = ResourceBundle.getBundle(" text", locale);

    Если объект ResourceBundle для заданного объекта Locale не существует, то метод getBundle() извлечет наиболее общий. Если общее определение файла ресурсов не задано, то метод getBundle() генерирует исключительную ситуацию MissingResourceException. Чтобы это не произошло, необходимо обеспечить наличие базового файла ресурсов без суффиксов, а именно: text.properties в дополнение к частным случаям вида:

    text_en_US.properties

    text_ru_RU.properties

    В файлах свойств информация должна быть организована по принципу:

    #Комментарий

    group1.key1 = value1

    group1.key2 = value2

    group2.key1 = value3…

    Например:

    label.button = submit

    label.field = login

    message.welcome = Welcome!

    или

    label.button = принять

    label.field = логин

    message.welcome = Добро пожаловать!

    В классе ResourceBundle определен ряд полезных методов, в том числе метод getKeys(), возвращающий объект Enumeration, который применяется для последовательного обращения к элементам. Множество Set< String> всех ключей — методом keySet(). Конкретное значение по конкретному ключу извлекается методом getString(String key). Отсутствие запрашиваемого ключа приводит к генерации исключения. Проверить наличие ключа в файле можно методом boolean containsKey(String key). Методы getObject(String key) и getStringArray(String key) извлекают соответственно объект и массив строк по передаваемому ключу.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.