本地化 ApplicationUpdaterUI 界面

ApplicationUpdaterUI 类为更新过程提供默认的用户界面。该用户界面包括允许用户启动过程、取消过程以及执行其他相关操作的对话框。

使用更新描述符文件的 description 元素,您可以用多种语言定义应用程序的描述。使用定义 lang 属性的多个 text 元素,如下所示:

<?xml version="1.0" encoding="utf-8"?> 
     <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0"> 
       <version>1.1a1</version> 
       <url>http://example.com/updates/sample_1.1a1.air</url> 
       <description> 
           <text xml:lang="en">English description</text> 
           <text xml:lang="fr">French description</text> 
           <text xml:lang="ro">Romanian description</text> 
       </description> 
    </update>

更新框架将使用最适合最终用户的本地化链的描述。有关详细信息,请参阅“定义更新描述符文件并将 AIR 文件添加到 Web 服务器”。

Flex 开发人员可以直接将新的语言添加到"ApplicationUpdaterDialogs"包中。

JavaScript 开发人员可以调用 updater 对象的 addResources() 方法。此方法可动态地添加某种语言的新资源包。该资源包定义某种语言的本地化字符串。这些字符串用于各种对话框的文本字段。

JavaScript 开发人员可以使用 ApplicationUpdaterUI 类的 localeChain 属性来定义用户界面所使用的区域设置链。通常只有 JavaScript (HTML) 开发人员使用此属性。Flex 开发人员可以使用 ResourceManager 管理区域设置链。

例如,以下 JavaScript 代码定义了罗马尼亚语和匈牙利语的资源包:

appUpdater.addResources("ro_RO", 
                    {titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"}); 
appUpdater.addResources("hu", {titleCheck: "Cím", msgCheck: "Üzenet"}); 
var languages = ["ro", "hu"]; 
languages = languages.concat(air.Capabilities.languages); 
var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages, 
                         air.Capabilities.language, 
                         "en-US"); 
sortedLanguages.push("en-US"); 
appUpdater.localeChain = sortedLanguages;

有关详细信息,请参阅语言参考中对 ApplicationUpdaterUI 类的 addResources() 方法的说明。