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:
-
Определите или задайте локаль.
-
Создайте экземпляр класса обслуживания (Collator, CurrencyFormatter, DateTimeFormatter, NumberFormatter или StringTools).
-
Проверьте наличие ошибок и устранения неисправностей с использованием свойств lastOperationStatus.
-
Отформатируйте и отобразите данные с использованием параметров, соответствующих локали.
Следующим этапом является загрузка и отображение строк и ресурсов пользовательского интерфейса, соответствующих локали. Этот этап может включать такие задачи, как:
-
использование функций автокомпоновки для изменения размера элементов пользовательского интерфейса в соответствии с длиной строк;
-
выбор правильных шрифтов и обеспечение поддержки резервных шрифтов;
-
использование механизма обработки текста 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);
}
}
В этом примере выполняется отслеживание сообщения, появляющегося при использовании резервного идентификатора локали или при возникновении ошибки. При необходимости в приложении может быть реализован дополнительный алгоритм обработки ошибок. Например, можно вывести сообщение для пользователя или принудительно использовать в приложении определенную поддерживаемую локаль.
|
|
|