################################################################################
##
##  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.
##
################################################################################
accessibilityClass.help = 指定实现此组件的辅助功能行为的辅助控件类。
alternative.help = 指定此类的建议替换。
arrayElementType.help = 指定此数组元素允许的数据类型。
bindable.help = 指明此属性或方法，或者此类的所有属性都可以用于数据绑定表达式中。
defaultProperty.help = 指定此类的哪些属性可以在 MXML 中设置，而无需在属性标签中包含其值。
deprecated.help = 将此属性、方法或类标记为过时，不再建议使用。
embed.help = 将资源文件（例如 JPEG、PNG、MP3、XML 等等）嵌入到 SWF，并将此变量初始化为相应的资源类。
event.help = 声明此类分派的事件。
exclude.help = 从 Flash Builder 的代码指示和 ASDoc 中省略为此类指定的属性、方法、样式或事件。
excludeClass.help = 从 Flash Builder 的代码提示和 ASDoc 中省略此类。
hostComponent.help = 指定将使用此 Spark 外观的 SkinnableComponent。
iconFile.help = 指定在 Flash Builder 中表示此组件的图标。
inspectable.help = 指定此属性在 Flash Builder 的属性检查器中的显示方式。也用于指定 MXML 中 String 类型属性的允许值。
managed.help = 指明 LCDS 应该监视对此类实例所做的所有修改（创建/更新/删除）。受管理的类是自动绑定的。
nonCommitingChangeEvent.help = 指定表示精细值更改为此属性的事件，例如确认前对 TextInput 进行修改。
percentProxy.help = 指定与此属性相对应的基于百分比的属性。例如，MXML 中的 width="100%" 会在 ActionScript 中将 percentWidth 设置为 100。
remoteClass.help = 为 AMF 序列化指定对应于此类的远程类。
resourceBundle.help = 指明此类使用特定的资源包，因此该包可编译到 SWF 中。
richTextContent.help = 指明使用 MXML 中的字符数据设置此属性时，所有字符都应按照文本的字面意思来解释。
skinPart.help = 指明此属性的值是此组件外观的外观部件。
skinState.help = 声明此组件的外观必须支持的视图状态。
style.help = 声明此组件支持的 CSS 样式。
swf.help = 指定此 ActionScript 应用程序的 SWF 头的信息。
transient.help = 指明此属性不应参与 AMF 序列化。
