################################################################################
##
##  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 = Specificerer en hjælperklasse, der implementerer denne komponents funktionalitet mht. adgang.
alternative.help = Specificerer en anbefalet erstatning for denne klasse.
arrayElementType.help = Specificerer den tilladte datatype for elementerne i dette array.
bindable.help = Angiver, at denne egenskab eller metode, eller alle egenskaberne i denne klasse, kan bruges i udtryk til databinding.
defaultProperty.help = Angiver, hvilken af denne klasses egenskaber der kan defineres i MXML, uden at dens værdi er omgivet af egenskabsmærker.
deprecated.help = Markerer denne egenskab, metode eller klasse som værende forældet og ikke længere anbefalet til brug.
embed.help = Integrerer en aktivfil (f.eks. JPEG, PNG, MP3 eller XML) i en SWF og initialiserer denne variabel til den tilsvarende aktivklasse.
event.help = Erklærer en hændelse som denne klasse udsender.
exclude.help = Udelader en nærmere angivet egenskab, metode, typografi eller hændelse i denne klasse fra Flash Builders kodetip og fra ASDoc.
excludeClass.help = Udelader denne klasse fra Flash Builders kodetip og fra ASDoc.
hostComponent.help = Specificerer den SkinnableComponent, som vil bruge dette Spark-tema.
iconFile.help = Specificerer et ikon, som repræsenterer denne komponent i Flash Builder.
inspectable.help = Specificerer, hvordan denne egenskab vises i Flash Builders Property Inspector. Bruges også til at specificere de tilladte værdier i MXML for en egenskab af typen String.
managed.help = Angiver, at LCDS skal overvåge alle ændringer (opret/opdater/slet) af instanser af denne klasse. Administrerede klasser kan bindes automatisk.
nonCommitingChangeEvent.help = Specificerer den hændelse, som indikerer hårfine justeringer af værdien af denne egenskab, f.eks. ændringer i TextInput forud for en bekræftelse.
percentProxy.help = Specificerer en procentbaseret egenskab, der svarer til denne egenskab. Eksempel: width="100%" i MXML definerer percentWidth som 100 i ActionScript.
remoteClass.help = Specificerer den eksterne klasse, der svarer til denne klasse, til AMF-serialisering.
resourceBundle.help = Angiver, at en klasse bruger en bestemt resursesamling, sådan at samlingen kan kompileres i SWF.
richTextContent.help = Angiver, at alle tegn skal fortolkes bogstaveligt som tekst, når denne egenskab er defineret vha. tegndata i MXML.
skinPart.help = Angiver, at denne egenskabs værdi er et temaelement i denne komponents tema.
skinState.help = Erklærer en visningsstatus, som komponentens tema skal understøtte.
style.help = Erklærer en CSS-stil, som denne komponent understøtter.
swf.help = Specificerer information til SWF-headeren for denne ActionScript-applikation.
transient.help = Angiver, at denne egenskab ikke skal indgå i AMF-serialiseringen.
