flash.globalization 包概述

Flash Player 10.1 和更高版本,Adobe AIR 2.0 和更高版本

flash.globalization 包可利用基础操作系统的文化支持功能。借助此包,可更轻松地编写符合各个用户的文化约定的应用程序。

此包中的主类包括:

  • Collator 类,用于控制字符串的排序和匹配

  • CurrencyFormatter 类,用于将数字设置为货币金额字符串格式,并解析输入字符串中的货币金额和货币符号

  • 用于设置日期值的格式的 DateTimeFormatter 类

  • 用于检索有关特定区域设置信息的 LocaleID 类

  • NumberFormatter 类,用于设置数值的格式并对数值进行分析

  • StringTools 类,用于处理受区域设置影响的字符串大小写转换

flash.globalization 包和资源本地化

flash.globalization 包不处理资源本地化。但是,您可以将 flash.globalization 区域设置 ID 用作键值,以便使用其他技术检索本地化的资源。例如,您可以使用 ResourceManager 和 ResourceBundle 类本地化使用 Flex 构建的应用程序资源。有关详细信息,请参阅本地化 Flex 应用程序

Adobe AIR 1.1 还包含某些帮助本地化 AIR 应用程序的功能,在本地化 AIR 应用程序中对此进行了介绍。

应用程序国际化的一般方法

下列步骤介绍了使用 flash.globalization 包国际化应用程序的高级别常见方法:

  1. 确定或设置区域设置。

  2. 创建服务类(Collator、CurrencyFormatter、DateTimeFormatter、NumberFormatter 或 StringTools)的实例。

  3. 使用 lastOperationStatus 属性检查错误和回退。

  4. 使用区域设置特定的设置格式化并显示信息。

下一步是加载和显示特定于区域设置的字符串和用户界面资源。此步骤可能包括下列任务,例如:

  • 使用自动布局功能调整 UI 的大小以适应字符串长度

  • 选择正确的字体并支持字体回退

  • 使用 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); 
    } 
}

如果使用回退区域设置 ID 或存在错误,此示例将只跟踪消息。如果需要,您的应用程序可以执行其他错误处理逻辑。例如,您可以向用户显示消息或强制应用程序使用特定的受支持区域设置。