Обзор пакета flash.globalization

Flash Player 10.1 и более поздних версий, Adobe AIR 2.0 и более поздних версий

Пакет flash.globalization объединяет в себе элементы, необходимые для поддержки особенностей языковых стандартов в используемой операционной системе. Это упрощает процесс создания приложений для пользователей из различных стран мира.

В данный пакет входят следующие основные классы.

  • Класс Collator отвечает за сортировку и сопоставление строк.

  • Класс CurrencyFormatter отвечает за преобразование чисел в формат валюты и считывает сумму и валюту из строк ввода.

  • Класс DateTimeFormatter предназначен для форматирования значений дат.

  • Класс LocaleID предназначен для получения информации об определенной локали

  • Класс NumberFormatter отвечает на преобразование и считывание численных значений.

  • Класс StringTools отвечает за преобразование строк с соблюдением норм использования заглавных и прописных букв.

Пакет flash.globalization и местоположение ресурсов

Пакет flash.globalization не обрабатывает локализацию ресурсов. Однако можно использовать идентификатор локали пакета flash.globalization в качестве ключевого значения для получения локализованных ресурсов другими методами. Например, можно локализовать ресурсы приложения, созданного в Flex с помощью классов ResourceManager и ResourceBundle. Дополнительные сведения см. в статье « Локализация приложений Flex ».

В пакете Adobe AIR 1.1 также доступны некоторые функции, помогающие локализовать приложения AIR, как описано в разделе « Локализация приложений AIR ».

Общий подход к интернационализации приложения

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

  1. Определите или задайте локаль.

  2. Создайте экземпляр класса обслуживания (Collator, CurrencyFormatter, DateTimeFormatter, NumberFormatter или StringTools).

  3. Проверьте наличие ошибок и устранения неисправностей с использованием свойств lastOperationStatus.

  4. Отформатируйте и отобразите данные с использованием параметров, соответствующих локали.

Следующим этапом является загрузка и отображение строк и ресурсов пользовательского интерфейса, соответствующих локали. Этот этап может включать такие задачи, как:

  • использование функций автокомпоновки для изменения размера элементов пользовательского интерфейса в соответствии с длиной строк;

  • выбор правильных шрифтов и обеспечение поддержки резервных шрифтов;

  • использование механизма обработки текста FTE для обеспечения поддержки других систем записи;

  • обеспечение правильной обработки редакторов метода ввода.

Проверка наличия ошибок и исправления неисправностей

Во всех классах обслуживания flash.globalization используется аналогичная модель выявления ошибок, а также шаблон перехода от недоступной запрошенной локали к локали, поддерживаемой операционной системой пользователя.

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

var nf:NumberFormatter = new NumberFormatter("de-DE"); 
if(nf.lastOperationStatus != LastOperationStatus.NO_ERROR) 
{ 
    if(nf.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING) 
    { 
        // perform fallback logic here, if needed 
        trace("Warning - Fallback locale ID: " + nf.actualLocaleIDName); 
    } 
    else 
    { 
        // perform error handling logic here, if needed 
        trace("Error: " + nf.lastOperationStatus); 
    } 
}

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