################################################################################
##
##  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 = Angir en hjelperklasse som implementerer denne komponentens virkemåte for tilgang.
alternative.help = Angir anbefalt erstatning for denne klassen.
arrayElementType.help = Angir tillatt datatype for elementene i gjeldende Array.
bindable.help = Angir at denne egenskapen eller metoden, eller alle egenskapene i klassen, kan brukes i databindingsuttrykk.
defaultProperty.help = Angir hvilken egenskap for denne klassen som kan angis i MXML uten at verdien settes inn i en egenskapskode.
deprecated.help = Markerer denne egenskapen, metoden eller klassen som utdatert og ikke lenger anbefalt.
embed.help = Integrerer en resursfil (som JPEG, PNG, MP3, XML osv.) i en SWF-fil, og initialiserer denne variabelen til tilsvarende ressursklasse.
event.help = Deklarerer en hendelse som denne klassen sender.
exclude.help = Utelater en bestemt egenskap, metode, stil eller hendelse i denne klassen fra kodehintene til Flash Builder og fra ASDoc.
excludeClass.help = Utelater denne klassen fra kodehintene til Flash Builder og fra ASDoc.
hostComponent.help = Angir hvilken SkinnableComponent som skal bruke dette Spark-skallet.
iconFile.help = Angir et ikon som skal representere denne komponenten i Flash Builder.
inspectable.help = Angir hvordan denne egenskapen vises i Flash Builders egenskapskontrollør. Brukes også til å angi tillatte verdier i MXML for en egenskap av typen String.
managed.help = Indikerer at LCDS bør overvåke alle endringer (oppretting/oppdatering/sletting) av forekomster av denne klassen. Håndterte klasser kan automatisk bindes.
nonCommitingChangeEvent.help = Angir hendelsen som indikerer små verdiendringer for denne egenskapen, f.eks. endringer i en TextInput før bekreftelse.
percentProxy.help = Angir en prosentbasert egenskap som tilsvarer denne egenskapen. Egenskapen width="100%" i MXML angir f.eks. percentWidth til 100 i ActionScript.
remoteClass.help = Angir den eksterne klassen som tilsvarer denne klassen for AMF-serialisering.
resourceBundle.help = Indikerer at denne klassen bruker en bestemt ressurspakke, slik at pakken kompileres i SWF-filen.
richTextContent.help = Indikerer at alle tegn skal tolkes bokstavelig som tekst, når denne egenskapen er angitt med tegndata i MXML.
skinPart.help = Indikerer at verdien til denne egenskapen er en skalldel i denne komponentens skall.
skinState.help = Deklarerer en visningstilstand som skallet til denne komponenten må støtte.
style.help = Deklarerer en CSS-stil som denne komponenten støtter.
swf.help = Angir informasjon for SWF-hodet til dette ActionScript-programmet.
transient.help = Angir at denne egenskapen ikke skal delta i AMF-serialisering.
