################################################################################
##
##  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 = 이 스파크 스킨을 사용할 SkinnableComponent를 지정합니다.
iconFile.help = Flash Builder에서 이 구성 요소를 나타낼 아이콘을 지정합니다.
inspectable.help = 이 속성이 Flash Builder의 속성 검사기에 표시되는 방식을 지정합니다. MXML에서 String 유형의 속성에 사용할 수 있는 값을 지정할 때도 사용됩니다.
managed.help = LCDS가 이 클래스의 인스턴스에 대한 모든 수정 내용(만들기/업데이트/삭제)을 모니터링해야 함을 나타냅니다. 관리 클래스는 자동으로 바인딩할 수 있습니다.
nonCommitingChangeEvent.help = 확인 전 TextInput의 수정 내용처럼 세분화된 값이 이 속성으로 변경됨을 나타내는 이벤트를 지정합니다.
percentProxy.help = 이 속성에 해당하는 퍼센트 기반 속성을 지정합니다. 예를 들어 MXML에서 width="100%"는 percentWidth를 ActionScript에서 100으로 설정합니다.
remoteClass.help = AMF 직렬화에 대해 이 클래스에 해당하는 원격 클래스를 지정합니다.
resourceBundle.help = 이 클래스가 특정 리소스 번들을 사용하므로 해당 번들이 SWF로 컴파일됨을 나타냅니다.
richTextContent.help = MXML에서 문자 데이터를 사용하여 이 속성을 설정한 경우 모든 문자를 문자 그대로 텍스트로 해석해야 함을 나타냅니다.
skinPart.help = 이 속성 값이 이 구성 요소의 스킨에 있는 스킨 부분임을 나타냅니다.
skinState.help = 이 구성 요소의 스킨이 지원해야 하는 보기 상태를 선언합니다.
style.help = 이 구성 요소가 지원하는 CSS 스타일을 선언합니다.
swf.help = 이 ActionScript 응용 프로그램의 SWF 헤더에 대한 정보를 지정합니다.
transient.help = 이 속성이 AMF 직렬화에 참여하지 않아야 함을 나타냅니다.
