flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [24/48] git commit: [flex-utilities] [refs/heads/develop] - move installer into flex-installer
Date Mon, 15 Jun 2015 06:30:58 GMT
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/properties/ru_RU.properties
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/properties/ru_RU.properties b/flex-installer/installer/src/properties/ru_RU.properties
new file mode 100644
index 0000000..d9ef50b
--- /dev/null
+++ b/flex-installer/installer/src/properties/ru_RU.properties
@@ -0,0 +1,140 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+ASK_BLAZEDS=Apache Flex по желанию может быть интегрирован с такими серверами как BlazeDS, GraniteDS, WebORB, Red5, AMFPHP, RubyAMF, PyAMF и другими. Для этого необходимо установить flex-messaging-common.jar из Adobe Flex SDK. Эта библиотека распространяется под лицензией Adobe SDK для Adobe Flex 4.6. Эта лицензия не совместима с лицензией Apache V2. Вы хотите установить эту библиотеку из Adobe Flex SDK?
+ASK_FONTSWF=Apache Flex по желанию может быть интегрирован с встроенными шрифтами от Adobe. Для этого нужны библиотеки с новыми шрифтами из Adobe Flex SDK. Эти библиотеки распространяются под лицензией Adobe SDK для Adobe Flex 4.6. Эта лицензия не совместима с лицензией Apache V2. Вы хотите установить эти библиотеки из Adobe Flex SDK?
+ASK_OSMF=Open Source Media Framework (OSMF) используется видео компонентами и распространяется под лицензией Mozilla Public версии 1.1. Вы хотите установить Open Source Media Framework (OSMF)?
+ASK_TLF=Adobe Text Layout Framework (TLF) используется текстовыми компонентами Spark и распространяется под лицензией Mozilla Public версии 1.1. Вы хотите установить Adobe Text Layout Framework (TLF)?
+ASK_APACHE_FLEX=Apache Flex SDK распространяется под лицензией Apache V2. Вы хотите установить Apache Flex SDK?
+ASK_ADOBE_AIR_SDK=Adobe AIR SDK распространяется под лицензией Adobe SDK. Вы хотите установить Adobe AIR SDK?
+ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC=Adobe Flash Player playerglobal.swc распространяется под лицензией Adobe SDK. Вы хотите установить Adobe Flash Player playerglobal.swc?
+ASK_SWFOBJECT=Программа SWFObject распространяется под лицензией MIT. Вы хотите установить программу SWFObject?
+ASK_OFL_FONTS=The FlatSpark theme uses fonts licensed under the Open Font License.  Do you want to install the Font Awesome and Lato Fonts?
+BTN_LABEL_ADOBE_LICENSE=ПОКАЗАТЬ ЛИЦЕНЗИЮ ADOBE
+BTN_LABEL_BROWSE=ПРОСМОТР
+BTN_LABEL_CLOSE=ЗАКРЫТЬ
+BTN_LABEL_COPY_LOG=СКОПИРОВАТЬ ЖУРНАЛ
+BTN_LABEL_INSTALL=УСТАНОВИТЬ
+BTN_LABEL_INSTALL_LOG=ЖУРНАЛ УСТАНОВКИ
+BTN_LABEL_MPL_LICENSE=ПОКАЗАТЬ ЛИЦЕНЗИЮ MPL
+BTN_LABEL_NEXT=ДАЛЕЕ
+BTN_LABEL_BACK=НАЗАД
+BTN_DISCLAIMER=Предупреждение
+BTN_LABEL_OPEN_APACHE_FLEX_FOLDER=ОТКРЫТЬ ПАПКУ APACHE FLEX
+ERROR_CONFIG_XML_LOAD=Ошибка во время загрузки конфигурационного XML файла: 
+ERROR_DIR_NOT_EMPTY=Выбранная папка не пуста
+ERROR_DIR_REQUIRE_ADMIN_RIGHTS=Требуются права Администратора чтобы записывать файлы в выбранную папку
+ERROR_INVALID_AIR_SDK_URL_MAC=Адрес Adobe AIR SDK для Mac указан неверно в конфигурационном файле
+ERROR_INVALID_AIR_SDK_URL_WINDOWS=Адрес Adobe AIR SDK для Windows указан неверно в конфигурационном файле
+ERROR_INVALID_FLASH_PLAYER_SWC_URL=Адрес Flash Player swc указан неверно в конфигурационном файле
+ERROR_INVALID_FLEX_SDK_DIRECTORY=Папка для Flex SDK выбрана неверно
+ERROR_INVALID_SDK_URL=Адрес Apache Flex SDK указан неверно в конфигурационном файле
+ERROR_MIRROR_FETCH=Ошибка при выборе зеркала для скачивания архива с Apache Flex SDK: 
+ERROR_NATIVE_PROCESS_ERROR=Ошибка архиватора: невозможно распаковать Adobe AIR SDK
+ERROR_NATIVE_PROCESS_NOT_SUPPORTED=Архиватор не поддерживается. Невозможно распаковать Adobe AIR SDK
+ERROR_UNABLE_TO_COPY_FILE=Невозможно скорировать файл 
+ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY=Невозможно создать временную папку
+ERROR_UNABLE_TO_DELETE_TEMP_DIRECTORY=Невозможно очистить временные папки
+ERROR_UNABLE_TO_DOWNLOAD_AIR_SDK=Невозможно скачать Adobe AIR Runtime Kit
+ERROR_UNABLE_TO_DOWNLOAD_FILE=Невозможно скачать {0}
+ERROR_UNABLE_TO_DOWNLOAD_FLASH_PLAYER_SWC=Невозможно скачать Flash Player swc
+ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK=Невозможно скачать Apache Flex SDK
+ERROR_UNABLE_TO_INSTALL_CONFIG_FILES=Невозможно установить конфигурационные файлы
+ERROR_UNABLE_TO_UNZIP=Невозможно распаковать файл: 
+ERROR_UNABLE_TO_DOWNLOAD_SWF_OBJECT=Невозможно скачать SWFObject
+ERROR_UNSUPPORTED_OPERATING_SYSTEM=Неподдерживаемая операционная система
+ERROR_VERIFY_FLEX_SDK=Цифровая MD5 подпись скачанного Apache Flex SDK не совпадает с оригиналом. Файл повреждён, установка прервана.
+FETCH_GEO_IP=Запрашиваем страну пользователя у службы GeoIP...
+FETCH_GEO_IP_DONE=Страна пользователя получена у службы GeoIP.
+FETCH_GEO_IP_ERROR=Во время запроса страны пользователя у службы GeoIP произошла ошибка.
+FETCH_MIRROR_CGI=Запрашиваем адрес зеркала скачивания SDK у службы CGI...
+FETCH_MIRROR_CGI_DONE=Адрес зеркала скачивания SDK у службы CGI получен.
+FETCH_MIRROR_CGI_ERROR=Невозможно получить адрес зеркала скачивания SDK у службы CGI. Попробуем через службу GeoIP.
+FETCH_MIRROR_LIST=Запрашиваем список зеркал у Apache.org...
+FETCH_MIRROR_LIST_DONE=Список зеркал получен у Apache.org.
+FETCH_MIRROR_LIST_PARSED=Список зеркал получен и на основании кода страны получен этот адрес: 
+INFO_ABORT_INSTALLATION=Установка прервана
+INFO_USER_ABORT_INSTALLATION=Пользователь закрыл инсталлятор не дождавшись завершения. Текущий шаг: 
+INFO_APP_INVOKED=Запущен в режиме коммандной строки со следующими аргументами: 
+INFO_CREATING_FLEX_HOME=Создаём домашнюю папку для Apache Flex
+INFO_CREATING_TEMP_DIR=Создаём временную папку
+INFO_CURRENT_LANGUAGE=Выберите язык
+INFO_DOWNLOADING_ADOBE_FLEX_SDK=Скачиваем Adobe Flex SDK из: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC=Скачиваем Adobe AIR Runtime Kit для Mac из: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_WINDOWS=Скачиваем Adobe AIR Runtime Kit для Windows из: 
+INFO_DOWNLOADING_FILE_FROM=Скачиваем {0} из: {1}
+INFO_DOWNLOADING_FLEX_SDK=Скачиваем Apache Flex SDK из: 
+INFO_DOWNLOADED=Скачивание завершено 
+INFO_ENTER_VALID_FLEX_SDK_PATH=Пожалуйста введите правильный путь до папки для Flex SDK
+INFO_FINISHED_UNTARING=Закончили распаковывать: 
+INFO_FINISHED_UNZIPPING=Закончили распаковывать: 
+INFO_INSTALLATION_COMPLETE=Установка завершена
+INFO_INSTALLING=Устанавливаем...
+INFO_INSTALLING_CONFIG_FILES=Устанавливаем конфигурационные файлы для использования с IDE
+INFO_INSTALLING_PLAYERGLOBAL_SWC=Устанавливаем Flash Player playerglobal.swc из: 
+INFO_INVOKED_GUI_MODE=запущен в визуальном режиме
+INFO_LICENSE_AGREEMENTS=Лицензионное соглашение
+INFO_NEED_TO_READ_AND_AGREE_TO_LICENSE=Этот установщик скачает компоненты с разных сайтов под разными лицензиями. Пожалуйста выберите каждый элемент слева, процитайте лицензию и подтвердите что вы согласны с её условиями by checking the checkbox next to it.
+INFO_SELECT_AIR_FLASH_PLAYER=Выберите версии AIR и Flash Player'а.
+INFO_SELECT_AIR=Выберите версию AIR
+INFO_SELECT_DIRECTORY=Выберите папку в которую Вы хотите установить Flex SDK
+INFO_SELECT_DIRECTORY_INSTALL=Выберите папку для установки
+INFO_SELECT_FLASH=Выберите версию Flash Player'а
+INFO_SELECT_FLEX=Выберите версию Flex
+INFO_UNZIPPING=Распаковываем: 
+INFO_VERIFY_FLEX_SDK_DONE=Цифровая подпись MD5 Apache Flex SDK скачанных файлов совпадает с оригиналом. Файл не повреждён.
+INFO_WINDOW_TITLE=Установить Apache Flex SDK {0} для использования с IDE
+INSTALL_AGREE=Я согласен(а), Установить
+INSTALL_AGREE_ALL=Я согласен(а) по всем пунктам и со всеми лицензиями, Установить
+INSTALL_DISAGREE=Я не согласен(а), Не устанавливать
+SELECT_PATH_PROMPT=Куда Вы хотите установить Apache Flex SDK?
+STEP_SELECT_AIR_AND_FLASH_VERSION=Выберите версии AIR и Flash Player.
+STEP_CREATE_DIRECTORIES=Создание папок
+STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK=Apache Flex SDK (Обязательно)
+STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK=Adobe AIR SDK (Обязательно)
+STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC=Adobe Flash Player playerglobal.swc (Обязательно)
+STEP_REQUIRED_INSTALL_SWFOBJECT=SWFObject (Обязательно)
+STEP_INSTALL_CONFIG_FILES=Устанавливаем конфигурационные файлы
+STEP_REQUIRED_INSTALL_OSMF=OSMF (Обязательно)
+STEP_REQUIRED_INSTALL_TLF=Adobe Text Layout Framework (Обязательно)
+STEP_REQUIRED_INSTALL_OFL_FONTS=Font Awesome and Lato Fonts (Обязательно)
+STEP_OPTIONAL_INSTALL_BLAZEDS=Поддержка серверов (Не обязательно)
+STEP_OPTIONAL_INSTALL_FONTSWF=Встроенные библиотеки шрифтов Adobe и утилиты (Не обязательно)
+STEP_REQUIRED_UNZIP_AIR_RUNTIME_KIT=Распаковываем Adobe AIR Runtime Kit
+STEP_UNZIP_AIR_RUNTIME_KIT=Распаковываем Adobe AIR Runtime Kit
+STEP_UNZIP_FLEX_SDK=Распаковываем Apache Flex SDK
+STEP_VERIFY_FLEX_SDK=Проверям MD5 цифровую подпись Apache Flex
+LICENSE_APACHE_V2=Лицензия Apache V2
+LICENSE_URL_APACHE_V2=http://www.apache.org/licenses/LICENSE-2.0.html
+LICENSE_ADOBE_SDK=Лицензия Adobe Flex SDK
+LICENSE_URL_ADOBE_SDK=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_ADOBE_AIR_SDK=Лицензия Adobe AIR SDK
+LICENSE_URL_ADOBE_AIR_SDK=http://www.adobe.com/products/air/sdk-eula.html
+LICENSE_SWFOBJECT=Лицензия MIT
+LICENSE_URL_SWFOBJECT=http://opensource.org/licenses/mit-license.php
+LICENSE_OSMF=Лицензия Mozilla Public версии 1.1
+LICENSE_URL_OSMF=http://www.mozilla.org/MPL/
+LICENSE_TLF=Лицензия Mozilla Public версии 1.1
+LICENSE_URL_TLF=http://www.mozilla.org/MPL/
+LICENSE_FONTSWF=Лицензия Adobe Flex SDK
+LICENSE_URL_FONTSWF=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_BLAZEDS=Лицензия Adobe Flex SDK
+LICENSE_URL_BLAZEDS=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+INFO_TRACKING=Обезличенная статистистика использования будет собранна \n в соответствии с нашими политиками конфиденциальности
+INFO_VERSION=версия
+INFO_USING_CACHED_FILE=Используем файл из кэша:

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/properties/zh_CN.properties
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/properties/zh_CN.properties b/flex-installer/installer/src/properties/zh_CN.properties
new file mode 100755
index 0000000..f542c05
--- /dev/null
+++ b/flex-installer/installer/src/properties/zh_CN.properties
@@ -0,0 +1,138 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# note that the translation of "Using cache from ..." is missing
+ASK_BLAZEDS=Apache Flex 可以选择性地与 BlazeDS, GraniteDS, WebORB, Red5, AMFPHP, RubyAMF, PyAMF 和其它一些远程服务提供者进行整合. 此功能须要 Adobe Flex SDK 里的 flex-messaging-common.jar 文件, Adobe Flex 4.6 的 Adobe SDK 许可协议适用于这个 jar 文件, 此许可与 Apache V2 许可并不兼容. 您想要安装来自 Adobe Flex SDK 里的这个 jar 文件吗?
+ASK_FONTSWF=Apache Flex 可以选择性地与 Adobe 镶入字体支持 进行整合. 此功能须要 Adobe Flex SDK 里的一些与字体相关的 jar 文件, Adobe Flex 4.6 的 Adobe SDK 许可协议适用于这些 jar 文件, 此许可与 Apache V2 许可并不兼容. 您想要安装来自 Adobe Flex SDK 里的这些 jar 文件吗?
+ASK_OSMF=Flex 的一些视频组件需要用到开源媒体框架 Open Source Media Framework (OSMF), OSMF 由 Mozilla 公共许可协议 1.1 版提供授权. 您想要下载并安装 OSMF 吗?
+ASK_TLF=Flex 的一些 Spark 文本组件需要用到 Adobe 文本布局框架 Text Layout Framework (TLF), TLF 由 Mozilla 公共许可协议 1.1 版提供授权. 您想要下载并安装 TLF 吗?
+ASK_APACHE_FLEX=Apache V2 许可协议适用于 Apache Flex SDK. 您想要安装 Apache Flex SDK 吗?
+ASK_ADOBE_AIR_SDK=Adobe SDK 许可协议适用于 Adobe AIR SDK. 您想要安装 Adobe AIR SDK 吗?
+ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC=Adobe SDK 许可协议适用于 Adobe Flash Player 的 playerglobal.swc 文件. 您想要安装 Adobe Flash Player 的 playerglobal.swc 文件吗?
+ASK_SWFOBJECT=MIT 许可协议适用于 SWFObject 实用程序. 您想要安装 SWFObject 实用程序吗?
+ASK_OFL_FONTS=The FlatSpark theme uses fonts licensed under the Open Font License.  Do you want to install the Font Awesome and Lato Fonts?
+BTN_LABEL_ADOBE_LICENSE=显示 Adobe 许可协议
+BTN_LABEL_BROWSE=浏览
+BTN_LABEL_CLOSE=退出
+BTN_LABEL_COPY_LOG=拷贝日志
+BTN_LABEL_INSTALL=安装
+BTN_LABEL_INSTALL_LOG=安装日志
+BTN_LABEL_MPL_LICENSE=显示 MPL 许可协议
+BTN_LABEL_NEXT=下一步
+BTN_LABEL_BACK=后退
+BTN_DISCLAIMER=免责声明
+BTN_LABEL_OPEN_APACHE_FLEX_FOLDER=打开 Apache Flex 目录
+ERROR_CONFIG_XML_LOAD=尝试加载 XML 配置文件时遇到错误: 
+ERROR_DIR_NOT_EMPTY=所选的并不是一个空目录
+ERROR_INVALID_AIR_SDK_URL_MAC=在配置文件中 Mac 版 Adobe AIR SDK 的 URL 地址无效
+ERROR_INVALID_AIR_SDK_URL_WINDOWS=在配置文件中 Windows 版 Adobe AIR SDK 的 URL 地址无效
+ERROR_INVALID_FLASH_PLAYER_SWC_URL=在配置文件中 playerglobal.swc 文件的 URL 地址无效
+ERROR_INVALID_FLEX_SDK_DIRECTORY=所选的 Flex SDK 目录无效
+ERROR_INVALID_SDK_URL=在配置文件中 Apache Flex SDK 的 URL 地址无效
+ERROR_MIRROR_FETCH=尝试获取已编译版 Apache Flex SDK 的镜像下载时遇到错误: 
+ERROR_NATIVE_PROCESS_ERROR=本地进程调用发生错误, 无法解压 Adobe AIR SDK
+ERROR_NATIVE_PROCESS_NOT_SUPPORTED=不支持本地进程调用, 无法解压 Adobe AIR SDK
+ERROR_UNABLE_TO_COPY_FILE=无法拷贝文件 
+ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY=无法创建临时目录
+ERROR_UNABLE_TO_DELETE_TEMP_DIRECTORY=无法清理所有临时安装目录
+ERROR_UNABLE_TO_DOWNLOAD_AIR_SDK=无法下载 Adobe AIR 运行时工具包
+ERROR_UNABLE_TO_DOWNLOAD_FILE=无法下载 {0}
+ERROR_UNABLE_TO_DOWNLOAD_FLASH_PLAYER_SWC=无法下载 playerglobal.swc 文件
+ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK=无法下载 Apache Flex SDK
+ERROR_UNABLE_TO_INSTALL_CONFIG_FILES=无法安装某些配置文件
+ERROR_UNABLE_TO_UNZIP=无法解压文件: 
+ERROR_UNABLE_TO_DOWNLOAD_SWF_OBJECT=无法下载 SWFObject
+ERROR_UNSUPPORTED_OPERATING_SYSTEM=不支持当前操作系统
+ERROR_VERIFY_FLEX_SDK=所下载文件的 MD5 签名和 Apache Flex SDK 的官方签名不一致, 此文件无效, 安装中止.
+FETCH_GEO_IP=正在尝试从 GeoIP 服务获取当前用户的国家代码...
+FETCH_GEO_IP_DONE=已从 GeoIP 服务取得当前用户的国家代码.
+FETCH_GEO_IP_ERROR=尝试从 GeoIP 服务获取当前用户的国家代码时发生了一个错误.
+FETCH_MIRROR_CGI=正在尝试从 CGI 获取 SDK 的镜像下载 URL 地址...
+FETCH_MIRROR_CGI_DONE=已从 CGI 取得 SDK 的镜像下载 URL 地址.
+FETCH_MIRROR_CGI_ERROR=无法从 CGI 获取 SDK 的镜像下载 URL 地址, 准备尝试 GeoIP 路由.
+FETCH_MIRROR_LIST=正在尝试从 Apache.org 获取镜像列表...
+FETCH_MIRROR_LIST_DONE=已从 Apache.org 取得镜像列表.
+FETCH_MIRROR_LIST_PARSED=已根据国家代码成功解析镜像列表并得到这个域: 
+INFO_ABORT_INSTALLATION=安装中止
+INFO_APP_INVOKED=在调用命令行模式下使用以下参数: 
+INFO_CREATING_FLEX_HOME=正在创建 Apache Flex 主目录
+INFO_CREATING_TEMP_DIR=正在创建临时目录
+INFO_CURRENT_LANGUAGE=选择语言
+INFO_DOWNLOADING_ADOBE_FLEX_SDK=正在下载 Adobe Flex SDK: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC=正在下载 Mac 版 Adobe AIR 运行时工具包: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_WINDOWS=正在下载 Windows 版 Adobe AIR 运行时工具包: 
+INFO_DOWNLOADING_FILE_FROM=正在下载 {0} 从这个地址: {1}
+INFO_DOWNLOADING_FLEX_SDK=正在下载 Apache Flex SDK: 
+INFO_DOWNLOADED=下载完成
+INFO_ENTER_VALID_FLEX_SDK_PATH=请为 Flex SDK 输入有效的目录路径
+INFO_FINISHED_UNTARING=正在完成 tar 文件的解压: 
+INFO_FINISHED_UNZIPPING=正在完成解压: 
+INFO_INSTALLATION_COMPLETE=安装完成
+INFO_INSTALLING=正在安装...
+INFO_INSTALLING_CONFIG_FILES=正在安装框架配置文件, 以便为某个 IDE 所使用
+INFO_INSTALLING_PLAYERGLOBAL_SWC=正在安装 Adobe Flash Player 的 playerglobal.swc 文件: 
+INFO_INVOKED_GUI_MODE=已调用 GUI 模式
+INFO_LICENSE_AGREEMENTS=许可协议
+INFO_NEED_TO_READ_AND_AGREE_TO_LICENSE=此安装器会从带有多种许可协议的多个站点下载软件. 请在左侧点击各个要安装的项目, 阅读许可, 并勾选旁边的复选框以确认您同意接受各许可协议的条款.
+INFO_SELECT_AIR_FLASH_PLAYER=选择 AIR 和 Flash Player 的版本.
+INFO_SELECT_AIR=选择 AIR 版本
+INFO_SELECT_DIRECTORY=选择您想要安装 Flex SDK 的目录
+INFO_SELECT_DIRECTORY_INSTALL=选择安装目录
+INFO_SELECT_FLASH=选择 Flash Player 版本
+INFO_SELECT_FLEX=选择 Flex 版本
+INFO_UNZIPPING=正在解压: 
+INFO_VERIFY_FLEX_SDK_DONE=所下载文件的 MD5 签名和 Apache Flex SDK 的官方签名一致, 此文件有效.
+INFO_WINDOW_TITLE=为您的 IDE 安装 Apache Flex SDK {0}
+INSTALL_AGREE=我同意, 安装
+INSTALL_AGREE_ALL=我同意所有选项和许可, 安装
+INSTALL_DISAGREE=我不同意, 不要安装
+SELECT_PATH_PROMPT=您想要在哪里安装 Apache Flex SDK?
+STEP_SELECT_AIR_AND_FLASH_VERSION=选择 AIR 和 Flash Player 的版本.
+STEP_CREATE_DIRECTORIES=批量创建目录
+STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK=Apache Flex SDK (必须的)
+STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK=Adobe AIR SDK (必须的)
+STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC=Adobe Flash Player playerglobal.swc (必须的)
+STEP_REQUIRED_INSTALL_SWFOBJECT=SWFObject (必须的)
+STEP_INSTALL_CONFIG_FILES=安装框架配置文件
+STEP_REQUIRED_INSTALL_OSMF=OSMF (必须的)
+STEP_REQUIRED_INSTALL_TLF=Adobe Text Layout Framework (必须的)
+STEP_REQUIRED_INSTALL_OFL_FONTS=Font Awesome and Lato Fonts (必须的)
+STEP_OPTIONAL_INSTALL_BLAZEDS=远程支持 (可选的)
+STEP_OPTIONAL_INSTALL_FONTSWF=Adobe 镶入字体库和实用程序 (可选的)
+STEP_REQUIRED_UNZIP_AIR_RUNTIME_KIT=解压 Adobe AIR 运行时工具包
+STEP_UNZIP_AIR_RUNTIME_KIT=解压 Adobe AIR 运行时工具包
+STEP_UNZIP_FLEX_SDK=解压 Apache Flex SDK
+STEP_VERIFY_FLEX_SDK=正在验证 Apache Flex SDK 的 MD5 签名
+LICENSE_APACHE_V2=Apache V2 许可协议
+LICENSE_URL_APACHE_V2=http://www.apache.org/licenses/LICENSE-2.0.html
+LICENSE_ADOBE_SDK=Adobe Flex SDK 许可协议
+LICENSE_URL_ADOBE_SDK=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_ADOBE_AIR_SDK=Adobe AIR SDK 许可协议
+LICENSE_URL_ADOBE_AIR_SDK=http://www.adobe.com/products/air/sdk-eula.html
+LICENSE_SWFOBJECT=MIT 许可协议
+LICENSE_URL_SWFOBJECT=http://opensource.org/licenses/mit-license.php
+LICENSE_OSMF=Mozilla 公共许可协议 1.1 版
+LICENSE_URL_OSMF=http://www.mozilla.org/MPL/
+LICENSE_TLF=Mozilla 公共许可协议 1.1 版
+LICENSE_URL_TLF=http://www.mozilla.org/MPL/
+LICENSE_FONTSWF=Adobe Flex SDK 许可协议
+LICENSE_URL_FONTSWF=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_BLAZEDS=Adobe Flex SDK 许可协议
+LICENSE_URL_BLAZEDS=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+INFO_TRACKING=匿名使用统计信息将按照我们的隐私政策进行收集.
+INFO_VERSION=版本
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/properties/zh_TW.properties
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/properties/zh_TW.properties b/flex-installer/installer/src/properties/zh_TW.properties
new file mode 100755
index 0000000..9edda90
--- /dev/null
+++ b/flex-installer/installer/src/properties/zh_TW.properties
@@ -0,0 +1,138 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# note that the translation of "Using cache from ..." is missing
+ASK_BLAZEDS=Apache Flex 可以選擇性地與 BlazeDS, GraniteDS, WebORB, Red5, AMFPHP, RubyAMF, PyAMF 和其它一些遠端服務提供者進行整合. 此功能須要 Adobe Flex SDK 裡的 flex-messaging-common.jar 檔案, Adobe Flex 4.6 的 Adobe SDK 授權合約適用於這個 jar 檔案, 此許可與 Apache V2 許可並不相容. 您想要安裝來自 Adobe Flex SDK 裡的這個 jar 檔案嗎?
+ASK_FONTSWF=Apache Flex 可以選擇性地與 Adobe 鑲入字體支援 進行整合. 此功能須要 Adobe Flex SDK 裡的一些與字體相關的 jar 檔案, Adobe Flex 4.6 的 Adobe SDK 授權合約適用於這些 jar 檔案, 此許可與 Apache V2 許可並不相容. 您想要安裝來自 Adobe Flex SDK 裡的這些 jar 檔案嗎?
+ASK_OSMF=Flex 的一些視頻元件需要用到開源媒體框架 Open Source Media Framework (OSMF), OSMF 由 Mozilla 公共授權合約 1.1 版提供授權. 您想要下載並安裝 OSMF 嗎?
+ASK_TLF=Flex 的一些 Spark 文本元件需要用到 Adobe 文本佈局框架 Text Layout Framework (TLF), TLF 由 Mozilla 公共授權合約 1.1 版提供授權. 您想要下載並安裝 TLF 嗎?
+ASK_APACHE_FLEX=Apache V2 授權合約適用於 Apache Flex SDK. 您想要安裝 Apache Flex SDK 嗎?
+ASK_ADOBE_AIR_SDK=Adobe SDK 授權合約適用於 Adobe AIR SDK. 您想要安裝 Adobe AIR SDK 嗎?
+ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC=Adobe SDK 授權合約適用於 Adobe Flash Player 的 playerglobal.swc 檔案. 您想要安裝 Adobe Flash Player 的 playerglobal.swc 檔案嗎?
+ASK_SWFOBJECT=MIT 授權合約適用於 SWFObject 實用程式. 您想要安裝 SWFObject 實用程式嗎?
+ASK_OFL_FONTS=The FlatSpark theme uses fonts licensed under the Open Font License.  Do you want to install the Font Awesome and Lato Fonts?
+BTN_LABEL_ADOBE_LICENSE=顯示 Adobe 授權合約
+BTN_LABEL_BROWSE=流覽
+BTN_LABEL_CLOSE=退出
+BTN_LABEL_COPY_LOG=拷貝日誌
+BTN_LABEL_INSTALL=安裝
+BTN_LABEL_INSTALL_LOG=安裝日誌
+BTN_LABEL_MPL_LICENSE=顯示 MPL 授權合約
+BTN_LABEL_NEXT=下一步
+BTN_LABEL_BACK=後退
+BTN_DISCLAIMER=免責聲明
+BTN_LABEL_OPEN_APACHE_FLEX_FOLDER=打開 Apache Flex 目錄
+ERROR_CONFIG_XML_LOAD=嘗試載入 XML 設定檔案時遇到錯誤: 
+ERROR_DIR_NOT_EMPTY=所選的並不是一個空目錄
+ERROR_INVALID_AIR_SDK_URL_MAC=在設定檔案中 Mac 版 Adobe AIR SDK 的 URL 位址無效
+ERROR_INVALID_AIR_SDK_URL_WINDOWS=在設定檔案中 Windows 版 Adobe AIR SDK 的 URL 位址無效
+ERROR_INVALID_FLASH_PLAYER_SWC_URL=在設定檔案中 playerglobal.swc 檔案的 URL 位址無效
+ERROR_INVALID_FLEX_SDK_DIRECTORY=所選的 Flex SDK 目錄無效
+ERROR_INVALID_SDK_URL=在設定檔案中 Apache Flex SDK 的 URL 位址無效
+ERROR_MIRROR_FETCH=嘗試獲取已編譯版 Apache Flex SDK 的鏡像下載時遇到錯誤: 
+ERROR_NATIVE_PROCESS_ERROR=本地進程調用發生錯誤, 無法解壓 Adobe AIR SDK
+ERROR_NATIVE_PROCESS_NOT_SUPPORTED=不支援本地進程調用, 無法解壓 Adobe AIR SDK
+ERROR_UNABLE_TO_COPY_FILE=無法拷貝檔案 
+ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY=無法創建臨時目錄
+ERROR_UNABLE_TO_DELETE_TEMP_DIRECTORY=無法清理所有臨時安裝目錄
+ERROR_UNABLE_TO_DOWNLOAD_AIR_SDK=無法下載 Adobe AIR 運行時工具包
+ERROR_UNABLE_TO_DOWNLOAD_FILE=無法下載 {0}
+ERROR_UNABLE_TO_DOWNLOAD_FLASH_PLAYER_SWC=無法下載 playerglobal.swc 檔案
+ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK=無法下載 Apache Flex SDK
+ERROR_UNABLE_TO_INSTALL_CONFIG_FILES=無法安裝某些設定檔案
+ERROR_UNABLE_TO_UNZIP=無法解壓檔案: 
+ERROR_UNABLE_TO_DOWNLOAD_SWF_OBJECT=無法下載 SWFObject
+ERROR_UNSUPPORTED_OPERATING_SYSTEM=不支援當前作業系統
+ERROR_VERIFY_FLEX_SDK=所下載檔案的 MD5 簽名和 Apache Flex SDK 的官方簽名不一致, 此檔案無效, 安裝中止.
+FETCH_GEO_IP=正在嘗試從 GeoIP 服務獲取當前使用者的國家代碼...
+FETCH_GEO_IP_DONE=已從 GeoIP 服務取得當前使用者的國家代碼.
+FETCH_GEO_IP_ERROR=嘗試從 GeoIP 服務獲取當前使用者的國家代碼時發生了一個錯誤.
+FETCH_MIRROR_CGI=正在嘗試從 CGI 獲取 SDK 的鏡像下載 URL 位址...
+FETCH_MIRROR_CGI_DONE=已從 CGI 取得 SDK 的鏡像下載 URL 位址.
+FETCH_MIRROR_CGI_ERROR=無法從 CGI 獲取 SDK 的鏡像下載 URL 位址, 準備嘗試 GeoIP 路由.
+FETCH_MIRROR_LIST=正在嘗試從 Apache.org 獲取鏡像列表...
+FETCH_MIRROR_LIST_DONE=已從 Apache.org 取得鏡像列表.
+FETCH_MIRROR_LIST_PARSED=已根據國家代碼成功解析鏡像列表並得到這個域: 
+INFO_ABORT_INSTALLATION=安裝中止
+INFO_APP_INVOKED=在調用命令列模式下使用以下參數: 
+INFO_CREATING_FLEX_HOME=正在創建 Apache Flex 主目錄
+INFO_CREATING_TEMP_DIR=正在創建臨時目錄
+INFO_CURRENT_LANGUAGE=選擇語言
+INFO_DOWNLOADING_ADOBE_FLEX_SDK=正在下載 Adobe Flex SDK: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC=正在下載 Mac 版 Adobe AIR 運行時工具包: 
+INFO_DOWNLOADING_AIR_RUNTIME_KIT_WINDOWS=正在下載 Windows 版 Adobe AIR 運行時工具包: 
+INFO_DOWNLOADING_FILE_FROM=正在下載 {0} 從這個位址: {1}
+INFO_DOWNLOADING_FLEX_SDK=正在下載 Apache Flex SDK: 
+INFO_DOWNLOADED=下載完成
+INFO_ENTER_VALID_FLEX_SDK_PATH=請為 Flex SDK 輸入有效的目錄路徑
+INFO_FINISHED_UNTARING=正在完成 tar 檔案的解壓: 
+INFO_FINISHED_UNZIPPING=正在完成解壓: 
+INFO_INSTALLATION_COMPLETE=安裝完成
+INFO_INSTALLING=正在安裝...
+INFO_INSTALLING_CONFIG_FILES=正在安裝框架設定檔案, 以便為某個 IDE 所使用
+INFO_INSTALLING_PLAYERGLOBAL_SWC=正在安裝 Adobe Flash Player 的 playerglobal.swc 檔案: 
+INFO_INVOKED_GUI_MODE=已調用 GUI 模式
+INFO_LICENSE_AGREEMENTS=授權合約
+INFO_NEED_TO_READ_AND_AGREE_TO_LICENSE=此安裝器會從帶有多種授權合約的多個網站下載軟體. 請在左側點擊各個要安裝的項目, 閱讀許可, 並勾選旁邊的核取方塊以確認您同意接受各授權合約的條款.
+INFO_SELECT_AIR_FLASH_PLAYER=選擇 AIR 和 Flash Player 的版本.
+INFO_SELECT_AIR=選擇 AIR 版本
+INFO_SELECT_DIRECTORY=選擇您想要安裝 Flex SDK 的目錄
+INFO_SELECT_DIRECTORY_INSTALL=選擇安裝目錄
+INFO_SELECT_FLASH=選擇 Flash Player 版本
+INFO_SELECT_FLEX=選擇 Flex 版本
+INFO_UNZIPPING=正在解壓: 
+INFO_VERIFY_FLEX_SDK_DONE=所下載檔案的 MD5 簽名和 Apache Flex SDK 的官方簽名一致, 此檔案有效.
+INFO_WINDOW_TITLE=為您的 IDE 安裝 Apache Flex SDK {0}
+INSTALL_AGREE=我同意, 安裝
+INSTALL_AGREE_ALL=我同意所有選項和許可, 安裝
+INSTALL_DISAGREE=我不同意, 不要安裝
+SELECT_PATH_PROMPT=您想要在哪裡安裝 Apache Flex SDK?
+STEP_SELECT_AIR_AND_FLASH_VERSION=選擇 AIR 和 Flash Player 的版本.
+STEP_CREATE_DIRECTORIES=批量創建目錄
+STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK=Apache Flex SDK (必須的)
+STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK=Adobe AIR SDK (必須的)
+STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC=Adobe Flash Player playerglobal.swc (必須的)
+STEP_REQUIRED_INSTALL_SWFOBJECT=SWFObject (必須的)
+STEP_INSTALL_CONFIG_FILES=安裝框架設定檔案
+STEP_REQUIRED_INSTALL_OSMF=OSMF (必須的)
+STEP_REQUIRED_INSTALL_TLF=Adobe Text Layout Framework (必須的)
+STEP_REQUIRED_INSTALL_OFL_FONTS=Font Awesome and Lato Fonts (必須的)
+STEP_OPTIONAL_INSTALL_BLAZEDS=遠端支援 (可選的)
+STEP_OPTIONAL_INSTALL_FONTSWF=Adobe 鑲入字體庫和實用程式 (可選的)
+STEP_REQUIRED_UNZIP_AIR_RUNTIME_KIT=解壓 Adobe AIR 運行時工具包
+STEP_UNZIP_AIR_RUNTIME_KIT=解壓 Adobe AIR 運行時工具包
+STEP_UNZIP_FLEX_SDK=解壓 Apache Flex SDK
+STEP_VERIFY_FLEX_SDK=正在驗證 Apache Flex SDK 的 MD5 簽名
+LICENSE_APACHE_V2=Apache V2 授權合約
+LICENSE_URL_APACHE_V2=http://www.apache.org/licenses/LICENSE-2.0.html
+LICENSE_ADOBE_SDK=Adobe Flex SDK 授權合約
+LICENSE_URL_ADOBE_SDK=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_ADOBE_AIR_SDK=Adobe AIR SDK 授權合約
+LICENSE_URL_ADOBE_AIR_SDK=http://www.adobe.com/products/air/sdk-eula.html
+LICENSE_SWFOBJECT=MIT 授權合約
+LICENSE_URL_SWFOBJECT=http://opensource.org/licenses/mit-license.php
+LICENSE_OSMF=Mozilla 公共授權合約 1.1 版
+LICENSE_URL_OSMF=http://www.mozilla.org/MPL/
+LICENSE_TLF=Mozilla 公共授權合約 1.1 版
+LICENSE_URL_TLF=http://www.mozilla.org/MPL/
+LICENSE_FONTSWF=Adobe Flex SDK 授權合約
+LICENSE_URL_FONTSWF=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+LICENSE_BLAZEDS=Adobe Flex SDK 授權合約
+LICENSE_URL_BLAZEDS=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
+INFO_TRACKING=匿名使用統計資訊將按照我們的隱私政策進行收集.
+INFO_VERSION=版本
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/sdk-installer-config-2.0.xml
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/sdk-installer-config-2.0.xml b/flex-installer/installer/src/sdk-installer-config-2.0.xml
new file mode 100644
index 0000000..b57d452
--- /dev/null
+++ b/flex-installer/installer/src/sdk-installer-config-2.0.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+
+<config>
+	<version>
+		<latest>2.5.4</latest>
+	</version>
+	<files>
+
+		<!-- SDK Installer App binary distribution
+			 Notes:
+			 	- use full URL when binaries are NOT released yet, else use
+			 	  path relative to mirror
+			 	- if path is relative, don't use starting slash -->
+		<file name="SDKInstallerApp" path="https://dist.apache.org/repos/dist/dev/flex/installer/2.0/rc1/binaries/" file="apache-flex-sdk-installer-2.0.3-bin" />
+
+        <!-- Mirror URL CGI -->
+        <file name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/>
+
+        <!-- Apache Flex binary distribution
+             Notes:
+                 - path is relative to mirror URL
+                 - don't use starting slash
+                 - for the second and later releases, remove the extension from the file name -->
+        <file name="ApacheFlexSDK" path="flex/4.9.1/binaries/" file="apache-flex-sdk-4.9.1-bin"/>
+
+        <!-- Adobe AIR SDK -->
+        <file name="AdobeAIRSDKWin" path="http://airdownload.adobe.com/air/win/download/3.4/" file="AdobeAIRSDK.zip"/>
+        <file name="AdobeAIRSDKMac" path="http://airdownload.adobe.com/air/mac/download/3.4/" file="AdobeAIRSDK.tbz2"/>
+
+        <!-- Adobe Flash Player player global swc -->
+        <file name="FlashPlayer" path="http://fpdownload.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_1.swc" version="11.1"/>
+
+        <!-- SWFObject.js -->
+        <file name="swfobject" path="http://swfobject.googlecode.com/files/" file="swfobject_2_2.zip"/>
+
+        <!-- BlazeDS -->
+        <file name="BlazeDS" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-messaging-common.jar"/>
+
+        <!-- FontSWF -->
+        <file name="afe" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="afe.jar"/>
+        <file name="aglj40" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="aglj40.jar"/>
+        <file name="flex-fontkit" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-fontkit.jar"/>
+        <file name="rideau" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="rideau.jar"/>
+
+        <!-- OSMF -->
+        <file name="OSMF" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/" file="osmf.swc"/>
+
+    </files>
+</config>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/sdk-installer-config.xml
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/sdk-installer-config.xml b/flex-installer/installer/src/sdk-installer-config.xml
new file mode 100644
index 0000000..c4f0ef1
--- /dev/null
+++ b/flex-installer/installer/src/sdk-installer-config.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+
+<config>
+	<version>
+		<latest>1.0.9</latest>
+	</version>
+	<files>
+	
+		<!-- SDK Installer App binary distribution
+			 Notes: 
+			 	- use full URL when binaries are NOT released yet, else use 
+			 	  path relative to mirror
+			 	- if path is relative, don't use starting slash -->
+		<file name="SDKInstallerApp" path="incubator/flex/installer/1.0/binaries/" file="apache-flex-sdk-installer-1.0.9-incubating-bin" />
+		
+		<!-- Mirror URL CGI -->
+		<file name="MirrorURLCGI" path="" file="single-mirror-url.cgi" />
+		
+		<!-- Apache Flex binary distribution
+			 Notes: 
+			 	- path is relative to mirror URL
+			 	- don't use starting slash 
+			 	- for the second and later releases, remove the extension from the file name -->
+		<file name="ApacheFlexSDK" path="incubator/flex/4.8.0-incubating/binaries/" file="apache-flex-sdk-4.8.0-incubating-bin.zip" />
+		
+		<!-- Adobe AIR SDK -->
+		<file name="AdobeAIRSDKWin" path="http://airdownload.adobe.com/air/win/download/3.1/" file="AdobeAIRSDK.zip" />
+		<file name="AdobeAIRSDKMac" path="http://airdownload.adobe.com/air/mac/download/3.1/" file="AdobeAIRSDK.tbz2" />
+		
+		<!-- Adobe Flash Player player global swc -->
+		<file name="FlashPlayer" path="http://fpdownload.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_1.swc" />	
+
+		<!-- SWFObject.js -->
+		<file name="swfobject" path="http://swfobject.googlecode.com/files/" file="swfobject_2_2.zip" />	
+		
+		<!-- BlazeDS -->
+		<file name="BlazeDS" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-messaging-common.jar" />	
+		
+		<!-- FontSWF -->
+		<file name="afe" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="afe.jar" />
+		<file name="aglj40" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="aglj40.jar" />
+		<file name="flex-fontkit" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-fontkit.jar" />
+		<file name="rideau" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="rideau.jar" />
+			
+		<!-- OSMF -->
+		<file name="OSMF" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/" file="osmf.swc" />	
+		
+		<!-- TLF -->
+		<file name="TLF" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/" file="textLayout.swc" />	
+
+	</files>
+</config>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/ActivityIndicator.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/ActivityIndicator.as b/flex-installer/installer/src/ws/tink/spark/controls/ActivityIndicator.as
new file mode 100644
index 0000000..0829916
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/ActivityIndicator.as
@@ -0,0 +1,283 @@
+/*
+	
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing, software
+	distributed under the License is distributed on an "AS IS" BASIS,
+	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	See the License for the specific language governing permissions and
+	limitations under the License.
+	
+*/
+package ws.tink.spark.controls
+{
+	import mx.events.FlexEvent;
+	import mx.managers.IToolTipManagerClient;
+	
+	import spark.components.Label;
+	import spark.components.supportClasses.SkinnableComponent;
+	
+	import ws.tink.spark.controls.Rotator;
+
+	/**
+	 *  An indicator showing the indeterminate progress of a task.
+	 *
+	 * 	@langversion 3.0
+	 * 	@playerversion Flash 10
+	 * 	@playerversion AIR 1.5
+	 * 	@productversion Flex 4
+	 */
+	public class ActivityIndicator extends SkinnableComponent
+	{
+
+		
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function ActivityIndicator()
+		{
+			addEventListener(FlexEvent.SHOW, showHandler, false, 0, true);
+			addEventListener(FlexEvent.HIDE, hideHandler, false, 0, true);
+		}
+
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  SkinParts
+		//
+		//--------------------------------------------------------------------------	
+		
+		//----------------------------------
+		//  indicator
+		//----------------------------------
+		
+		[SkinPart(required='true')]
+		/**
+		 *  The rotator used to show an indicator
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public var indicator:IAnimator;
+		
+		//----------------------------------
+		//  label
+		//----------------------------------
+		
+		[SkinPart]
+		/**
+		 *  The labelDisplay to show the activity status
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public var labelDisplay:Label;
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------	
+
+		//----------------------------------
+		//  label
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for label.
+		 */
+		private var _label:String = '';
+		
+		/**
+		 *  Text representing the status of the activity in progress.
+		 *  This will be shown to the user, depending on the skin.
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get label():String
+		{
+			if(_label == '')
+				return null;
+			return _label;
+		}
+		/**
+		 *  @private
+		 */
+		public function set label(value:String):void
+		{
+			if( _label == value ) return;
+			
+			_label = value;
+			
+			if (indicator && indicator is IToolTipManagerClient)
+				IToolTipManagerClient( indicator ).toolTip = label;
+			
+			if (labelDisplay)
+				labelDisplay.text = _label;
+		}
+
+		
+		//----------------------------------
+		//  autoAnimate
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for autoAnimate.
+		 */
+		private var _autoAnimate:Boolean = true;
+		
+		[Inspectable(type="Boolean",defaultValue="true")]
+		/**
+		 *  Indicates that the <code>ActivityIndicator</code> should animate by default.
+		 *
+		 *  This includes starting and stopping the animation when the component is shown and hidden.
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get autoAnimate():Boolean
+		{
+			return _autoAnimate;
+		}
+		/**
+		 *  @private
+		 */
+		public function set autoAnimate(value:Boolean):void
+		{
+			_autoAnimate = value;
+			if (value && visible)
+				play();
+			else
+				stop();
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Methods
+		//
+		//--------------------------------------------------------------------------	
+		
+		/**
+		 *  Start the activity animation.
+		 *  This can be managed automatically when show/hidden using autoAnimate.
+		 * 
+		 *  @see autoAnimate
+		 * 
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */	
+		public function play():void
+		{
+			if (indicator)
+				indicator.play();
+		}
+
+		/**
+		 *  Stop the activity animation.
+		 *  This can be managed automatically when show/hidden using autoAnimate.
+		 * 
+		 *  @see autoAnimate
+		 *
+		 *  @langversion 3.0
+  	 	 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */	
+		public function stop():void
+		{
+			if (indicator)
+				indicator.stop();
+		}
+
+		
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden Methods
+		//
+		//--------------------------------------------------------------------------	
+		
+		/**
+		 *  @private
+		 */
+		protected override function partAdded(partName:String, instance:Object):void
+		{
+			super.partAdded(partName, instance);
+			
+			switch( instance )
+			{
+				case indicator :
+				{
+					if( label && indicator is IToolTipManagerClient )
+						IToolTipManagerClient( indicator ).toolTip = label;
+					if( autoAnimate ) play();
+					break;
+				}
+				case labelDisplay :
+				{
+					labelDisplay.text = label;
+					break;
+				}
+			}
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Event Handlers
+		//
+		//--------------------------------------------------------------------------	
+		
+		/**
+		 *  @private
+		 */
+		private function hideHandler(event:FlexEvent):void
+		{
+			if( autoAnimate ) stop();
+		}
+		
+		/**
+		 *  @private
+		 */
+		private function showHandler(event:FlexEvent):void
+		{
+			if (autoAnimate)
+				play();
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/IAnimator.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/IAnimator.as b/flex-installer/installer/src/ws/tink/spark/controls/IAnimator.as
new file mode 100644
index 0000000..4047cf6
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/IAnimator.as
@@ -0,0 +1,53 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	
+	/**
+	 *  The IAnimator interface defines the methods
+	 *  for controls that are able to animate.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4.5
+	 */
+	public interface IAnimator
+	{
+		/**
+		 *  Plays the animation.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		function play():void
+			
+		/**
+		 *  Stops the animation.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		function stop():void
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/PercentLayout.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/PercentLayout.as b/flex-installer/installer/src/ws/tink/spark/controls/PercentLayout.as
new file mode 100644
index 0000000..7e6c40f
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/PercentLayout.as
@@ -0,0 +1,125 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	import mx.core.IVisualElement;
+	
+	import spark.layouts.BasicLayout;
+	
+	public class PercentLayout extends BasicLayout
+	{
+		public function PercentLayout()
+		{
+			super();
+		}
+		
+		//----------------------------------
+		//  resizeItems
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for resizeItems.
+		 */
+		private var _resizeItems:Array;
+		
+		/**
+		 *  resizeItems
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get resizeItems():Array
+		{
+			return _resizeItems;
+		}
+		/**
+		 *  @private
+		 */
+		public function set resizeItems(value:Array):void
+		{
+			if( _resizeItems == value ) return;
+			
+			_resizeItems = value;
+		}
+		
+		//----------------------------------
+		//  percent
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for percent.
+		 */
+		private var _percent:Number = 0;
+		
+		/**
+		 *  percent
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get percent():Number
+		{
+			return _percent;
+		}
+		/**
+		 *  @private
+		 */
+		public function set percent(value:Number):void
+		{
+			if( _percent == value ) return;
+			
+			_percent = value;
+			target.invalidateDisplayList();
+		}
+		
+		
+		override public function updateDisplayList( unscaledWidth:Number, unscaledHeight:Number ):void
+		{
+			super.updateDisplayList( unscaledWidth, unscaledHeight );
+			
+			if( resizeItems && resizeItems.length )
+			{
+				var element:IVisualElement;
+				var originalSize:Number;
+				var minSize:Number;
+				var availableChange:Number;
+				
+				for each (var item:Object in resizeItems) 
+				{
+					if( item is IVisualElement )
+					{
+						element = IVisualElement( item );
+						originalSize = element.getLayoutBoundsWidth();
+						minSize = element.getMinBoundsWidth();
+						availableChange = originalSize - minSize;
+						element.setLayoutBoundsSize( minSize + ( availableChange * ( percent / 100 ) ), element.getLayoutBoundsHeight() );
+					}
+				}
+			}
+			
+			
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/ProgressBar.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/ProgressBar.as b/flex-installer/installer/src/ws/tink/spark/controls/ProgressBar.as
new file mode 100644
index 0000000..162c940
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/ProgressBar.as
@@ -0,0 +1,131 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	import mx.core.IVisualElement;
+	import mx.rpc.events.HeaderEvent;
+	
+	import spark.components.supportClasses.SkinnableComponent;
+	
+	public class ProgressBar extends SkinnableComponent
+	{
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function ProgressBar()
+		{
+			super();
+		}
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Skin Parts
+		//
+		//--------------------------------------------------------------------------
+		
+		//----------------------------------
+		//  bar
+		//----------------------------------
+		
+		[SkinPart(required="true")]
+		
+		/**
+		 *  bar.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public var percentLayout:PercentLayout;
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+		
+		//----------------------------------
+		//  percent
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for percent.
+		 */
+		private var _percent:Number = 0;
+		
+		/**
+		 *  percent
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get percent():Number
+		{
+			return _percent;
+		}
+		/**
+		 *  @private
+		 */
+		public function set percent(value:Number):void
+		{
+//			if( _percent == value ) return;
+			
+			_percent = value;
+			if( percentLayout ) percentLayout.percent = percent;
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden Methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		override protected function partAdded(partName:String, instance:Object):void
+		{
+			super.partAdded( partName, instance );
+			
+			if( instance == percentLayout ) percentLayout.percent = percent;
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/Rotator.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/Rotator.as b/flex-installer/installer/src/ws/tink/spark/controls/Rotator.as
new file mode 100644
index 0000000..d9eb8ee
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/Rotator.as
@@ -0,0 +1,206 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	import flash.events.Event;
+	import flash.events.TimerEvent;
+	import flash.geom.Vector3D;
+	import flash.utils.Timer;
+	
+	import mx.core.ILayoutElement;
+	import mx.core.IVisualElement;
+	import mx.core.UIComponent;
+	import mx.core.mx_internal;
+	import mx.events.PropertyChangeEvent;
+	
+	import spark.components.supportClasses.SkinnableComponent;
+	import spark.layouts.supportClasses.LayoutElementHelper;
+	import spark.primitives.supportClasses.GraphicElement;
+	
+	
+	/**
+	 *  The Rotator control is a simple skinnable component that rotates it's skin when playing.
+	 *
+	 *  <p>You can set the amount of rotation on each frame by changing the <code>delta</code> property.</p>
+	 *
+	 *  <p>The List control has the following default characteristics:</p>
+	 *  <table class="innertable">
+	 *     <tr><th>Characteristic</th><th>Description</th></tr>
+	 *     <tr><td>Default skin class</td><td>ws.tink.spark.skins.controls.RotatorSkin</td></tr>
+	 *  </table>
+	 *
+	 *  @mxml <p>The <code>&lt;st:Rotator&gt;</code> tag inherits all of the tag 
+	 *  attributes of its superclass and adds the following tag attributes:</p>
+	 *
+	 *  <pre>
+	 *  &lt;st:Rotator
+	 *    <strong>Properties</strong>
+	 *    delta="10"
+	 *  /&gt;
+	 *  </pre>
+	 *
+	 *  @see ws.tink.spark.skins.controls.RotatorSkin
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+	public class Rotator extends SkinnableComponent implements IAnimator
+	{
+		
+		
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  Constructor
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function Rotator()
+		{
+			super();
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		private var _playing:Boolean;
+		
+		/**
+		 *  @private
+		 */
+		private var _rotation:Number = 0;
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+		
+		//----------------------------------
+		//  delta
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for delta.
+		 */
+		private var _delta:Number = 10;
+		
+		[Inspectable(type="Boolean", defaultValue="10")]
+		/**
+		 *  The amount to rotate in degrees each frame.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get delta():Number
+		{
+			return _delta;
+		}
+		/**
+		 *  @private
+		 */
+		public function set delta(value:Number):void
+		{
+			if (_delta == value) return;
+			
+			_delta = value;
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @inheritDoc
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function play():void
+		{
+			_playing = true;
+			addEventListener( Event.ENTER_FRAME, enterFrameHandler, false, 0, true );
+		}
+		
+		/**
+		 *  @inheritDoc
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function stop():void
+		{
+			_playing = false;
+			removeEventListener( Event.ENTER_FRAME, enterFrameHandler, false );
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Event Handlers
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		private function enterFrameHandler( event:Event ):void
+		{
+			if( skin )
+			{
+				_rotation += ( 360 / 10 );
+				skin.transformAround( new Vector3D( unscaledWidth / 2, unscaledHeight / 2, 0 ),
+					new Vector3D( 1, 1, 1 ),
+					new Vector3D( 0, 0, _rotation ) );
+			}
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/StepItem.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/StepItem.as b/flex-installer/installer/src/ws/tink/spark/controls/StepItem.as
new file mode 100644
index 0000000..d644848
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/StepItem.as
@@ -0,0 +1,59 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	import flash.events.EventDispatcher;
+
+	[Bindable]
+	public class StepItem extends EventDispatcher
+	{
+		
+		public static const NORMAL:String = "normal";
+		public static const ACTIVE:String = "active";
+		public static const COMPLETE:String = "complete";
+		public static const ERROR:String = "error";
+		
+		public function StepItem(l:String)
+		{
+			label = l;
+		}
+		
+		private var _label:String = "";
+		public function get label():String { return _label; }
+		
+		public function set label(value:String):void
+		{
+			if (_label == value)
+				return;
+			_label = value;
+		}
+		
+		private var _status:String = NORMAL;
+		public function get status():String { return _status; }
+		
+		public function set status(value:String):void
+		{
+			if (_status == value)
+				return;
+			_status = value;
+		}
+		
+		
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/StepRenderer.mxml
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/StepRenderer.mxml b/flex-installer/installer/src/ws/tink/spark/controls/StepRenderer.mxml
new file mode 100644
index 0000000..9dbc181
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/StepRenderer.mxml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<st:StepRendererBase xmlns:fx="http://ns.adobe.com/mxml/2009" 
+						xmlns:s="library://ns.adobe.com/flex/spark" 
+						xmlns:mx="library://ns.adobe.com/flex/mx"
+						xmlns:st="ws.tink.spark.controls.*"
+						width="22" height="22"   >
+	<fx:Declarations>
+		<!-- Place non-visual elements (e.g., services, value objects) here -->
+	</fx:Declarations>
+	
+	<st:states>
+		<s:State name="normal"/>
+		<s:State name="active"/>
+		<s:State name="complete"/>
+		<s:State name="error"/>
+	</st:states>
+	
+	<!-- layer 1: border -->
+	<!--- @private -->
+	<s:Rect width="100%" height="100%"
+			radiusX="2" radiusY="2">
+		<s:fill>
+			<s:SolidColor color="{getStyle('borderColor')}"/>
+		</s:fill>
+	</s:Rect>
+	
+	<!-- layer 2: border gradient -->
+	<!--- @private -->
+	<s:Rect width="100%" height="100%"
+			radiusX="2" radiusY="2">
+		<s:fill>
+			<s:LinearGradient rotation="90">
+				<s:GradientEntry color="0xffffff" alpha="0"/>
+				<s:GradientEntry color="0xffffff" alpha="1"/>
+			</s:LinearGradient>
+		</s:fill>
+	</s:Rect>
+	
+	<!-- layer 3: fill -->
+	<!--- @private -->
+	<s:Rect left="1" right="1" top="1" bottom="1"
+			radiusX="1" radiusY="1">
+		<s:fill>
+			<s:SolidColor color="{stateColor}"/>
+		</s:fill>
+	</s:Rect>
+	
+	<!-- layer 3: fill gradient -->
+	<!--- @private -->
+	<s:Rect left="1" right="1" top="1" bottom="1"
+			radiusX="1" radiusY="1">
+		<s:fill>
+			<s:LinearGradient rotation="90">
+				<s:GradientEntry color="0xffffff" alpha="0.4" ratio="0.2"/>
+				<s:GradientEntry color="0xffffff" alpha="0"/>
+			</s:LinearGradient>
+		</s:fill>
+	</s:Rect>
+	
+	<st:ActivityIndicator width="12" height="12" horizontalCenter="0" verticalCenter="0"
+						  autoAnimate="true" includeIn="active"/>
+	
+</st:StepRendererBase>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/controls/StepRendererBase.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/controls/StepRendererBase.as b/flex-installer/installer/src/ws/tink/spark/controls/StepRendererBase.as
new file mode 100644
index 0000000..e13e445
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/controls/StepRendererBase.as
@@ -0,0 +1,120 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.controls
+{
+	import flash.events.Event;
+	
+	import mx.events.PropertyChangeEvent;
+	
+	import spark.components.DataRenderer;
+	import spark.components.IItemRenderer;
+	
+	public class StepRendererBase extends DataRenderer implements IItemRenderer
+	{
+		public function StepRendererBase()
+		{
+			super();
+		}
+		
+		private var _itemIndex:int;
+		[Bindable("itemIndexChanged")]
+		public function get itemIndex():int
+		{
+			return _itemIndex;
+		}
+		
+		public function set itemIndex(value:int):void
+		{
+			if( _itemIndex == value ) return;
+			_itemIndex = value;
+			dispatchEvent(new Event("itemIndexChanged"));
+		}
+		
+		private var _stateColor:Number;
+		[Bindable(type="currentStateChange")]
+		public function get stateColor():Number { return _stateColor; }
+		
+		
+		
+		override public function set data(value:Object):void
+		{
+			super.data = value;
+			
+			invalidateProperties();
+		}
+		
+		override public function setCurrentState(stateName:String, playTransition:Boolean=true):void
+		{
+			_stateColor = stateName == "normal" ? getStyle( "color" ) : getStyle( stateName + "Color" );
+			super.setCurrentState(stateName, playTransition);
+		}
+		
+		override protected function commitProperties():void
+		{
+			if (data && data is StepItem && hasState( StepItem( data ).status ))
+			{
+				setCurrentState( StepItem( data ).status );
+			}
+			else
+			{
+				setCurrentState( "normal" );
+			}
+			
+			toolTip = (data && data is StepItem )? StepItem( data ).label : "";
+			
+			super.commitProperties();
+		}
+		
+		public function get label():String
+		{
+			return "";
+		}
+		
+		public function set label(value:String):void
+		{
+		}
+		public function get selected():Boolean
+		{
+			return false;
+		}
+		
+		public function set selected(value:Boolean):void
+		{
+		}
+		
+		public function get showsCaret():Boolean
+		{
+			return false;
+		}
+		
+		public function set showsCaret(value:Boolean):void
+		{
+		}
+		
+		public function get dragging():Boolean
+		{
+			return false;
+		}
+		
+		public function set dragging(value:Boolean):void
+		{
+		}
+		
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/layouts/EllipseLayout.as
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/layouts/EllipseLayout.as b/flex-installer/installer/src/ws/tink/spark/layouts/EllipseLayout.as
new file mode 100644
index 0000000..03919d6
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/layouts/EllipseLayout.as
@@ -0,0 +1,275 @@
+/*
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*/
+package ws.tink.spark.layouts
+{
+	import flash.geom.Matrix;
+	import flash.geom.Point;
+	import flash.geom.Vector3D;
+	
+	import mx.core.ILayoutElement;
+	
+	import spark.layouts.supportClasses.LayoutBase;
+	
+	public class EllipseLayout extends LayoutBase
+	{
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  Constructor.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function EllipseLayout()
+		{
+			super();
+		}
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+		
+		//----------------------------------
+		//  startAngle
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for startAngle.
+		 */
+		private var _startAngle:Number = 0;
+		
+		[Inspectable(category="General")]
+		/**
+		 *  startAngle
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get startAngle():Number
+		{
+			return _startAngle;
+		}
+		/**
+		 *  @private
+		 */
+		public function set startAngle( value:Number ):void
+		{
+			if( _startAngle == value ) return;
+			
+			_startAngle = value;
+			invalidateDisplayList();
+		}
+		
+		
+		//----------------------------------
+		//  endAngle
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for endAngle.
+		 */
+		private var _endAngle:Number = 0;
+		
+		[Inspectable(category="General")]
+		/**
+		 *  endAngle
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10
+		 *  @playerversion AIR 1.5
+		 *  @productversion Flex 4
+		 */
+		public function get endAngle():Number
+		{
+			return _endAngle;
+		}
+		/**
+		 *  @private
+		 */
+		public function set endAngle( value:Number ):void
+		{
+			if( _endAngle == value ) return;
+			
+			_endAngle = value;
+			invalidateDisplayList();
+		}
+		
+		
+		//----------------------------------
+		//  position
+		//----------------------------------
+		
+		/**
+		 *  @private
+		 *  Storage property for position.
+		 */
+		private var _position:String = "inset";
+		
+		[Inspectable(category="General")]
+		/**
+		 *  @private
+		 *  Storage property for position.
+		 */
+		public function get position():String
+		{
+			return _position;
+		}
+		/**
+		 *  @private
+		 */
+		public function set position( value:String ):void
+		{
+			if( _position == value ) return;
+			
+			_position = value;
+			invalidateDisplayList();
+		}
+		
+		public var rotate:Boolean = false;
+		
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		private function updateDisplayListVirtual( width:Number, height:Number ):void
+		{
+			
+			
+			
+			
+		}
+		
+		/**
+		 *  @private
+		 */
+		private function distance( x1:Number, y1:Number, x2:Number, y2:Number ):Number
+		{
+			const dx:Number = x2 - x1;
+			const dy:Number = y2 - y1;
+			return Math.sqrt( dx * dx + dy * dy );
+		}
+		
+		/**
+		 *  @private
+		 */
+		private function invalidateDisplayList():void
+		{
+			if( !target ) return;
+			
+			target.invalidateDisplayList();
+		}
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden Methods
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  @private
+		 */
+		override public function updateDisplayList(width:Number, height:Number):void
+		{
+			super.updateDisplayList(width,height);
+			
+			if( !target ) return;
+			
+			var element:ILayoutElement;
+			const numElements:int = target.numElements;
+			const angle:Number = 360 / numElements;
+			const radiusX:Number = width / 2;
+			const radiusY:Number = height / 2;
+			var a:Number = startAngle;
+			for (var i:int = 0; i < numElements; i++) 
+			{
+				a = startAngle + ( angle * i );
+				element = target.getElementAt( i );
+				element.setLayoutBoundsSize( element.getPreferredBoundsWidth(), element.getPreferredBoundsHeight() );
+				if( rotate )
+				{
+					element.transformAround( new Vector3D( element.getPreferredBoundsWidth() / 2, radiusY, 0 ),
+						null,
+						new Vector3D( 0, 0, a ),
+						new Vector3D( radiusX, radiusY, 0 ) );
+				}
+				else
+				{
+					element.setLayoutBoundsPosition( radiusX + ( radiusX * Math.cos(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsWidth() / 2 ),
+						radiusY + ( radiusY * Math.sin(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsHeight() / 2 ) );
+				}
+				//				switch( position )
+				//				{
+				//					case "inset" :
+				//					{
+				//						
+				//						break;
+				//					}
+				//					default :
+				//					{
+				//						
+				//						
+				//					}
+				//				}
+				
+				//				var m:Matrix = new Matrix();
+				//				m.tx = radiusX + ( radiusX * Math.cos(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsWidth() / 2 );
+				//				m.ty = radiusY + ( radiusY * Math.sin(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsHeight() / 2 );
+				//				m.rotate( a * ( Math.PI / 180 ) );
+				//				m.tx = m.ty = 200;
+				//								m.tx = radiusX + ( radiusX * Math.cos(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsWidth() / 2 );
+				//								m.ty = radiusY + ( radiusY * Math.sin(a * ( Math.PI / 180 ) ) ) - ( element.getPreferredBoundsHeight() / 2 );
+				//				element.setLayoutMatrix( m, false );
+				
+				//				var x:Number = radiusX + ( radiusX * Math.cos(a * ( Math.PI / 180 ) ) );
+				//				var y:Number = radiusY + ( radiusY * Math.cos(a * ( Math.PI / 180 ) ) );
+				//				
+				//				
+				//				trace( i, distance( radiusX, radiusY, x, y ), x, y, radiusX, radiusY );
+				
+				
+			}
+		}
+		
+		
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/ws/tink/spark/skins/controls/ActivityIndicatorSkin.mxml
----------------------------------------------------------------------
diff --git a/flex-installer/installer/src/ws/tink/spark/skins/controls/ActivityIndicatorSkin.mxml b/flex-installer/installer/src/ws/tink/spark/skins/controls/ActivityIndicatorSkin.mxml
new file mode 100644
index 0000000..deea171
--- /dev/null
+++ b/flex-installer/installer/src/ws/tink/spark/skins/controls/ActivityIndicatorSkin.mxml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		xmlns:mx="library://ns.adobe.com/flex/mx"
+		xmlns:st="library://ns.tink.ws/flex/spark">
+	
+	<!-- host component -->
+	<fx:Metadata>
+	<![CDATA[ 
+		/** 
+		* @copy spark.skins.spark.ApplicationSkin#hostComponent
+		*/
+		[HostComponent("ws.tink.spark.controls.ActivityIndicator")]
+	]]>
+	</fx:Metadata>
+	
+	<!--- @copy ws.tink.spark.controls.ActivityIndicator#indicator -->
+	<st:Rotator id="indicator" height="100" width="100"/>
+	
+</s:Skin>


Mime
View raw message