################################################################################
##
##  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 = Hiermee wordt een helperklasse opgegeven waarmee de toegangswerking van deze component wordt geïmplementeerd.
alternative.help = Hiermee wordt een aanbevolen vervanging voor deze klasse opgegeven.
arrayElementType.help = Hiermee wordt het toegestane gegevenstype voor de elementen van deze array opgegeven.
bindable.help = Hiermee wordt aangegeven dat deze eigenschap of methode, of alle eigenschappen van deze klasse, gebruikt kunnen worden in expressies voor gegevensbinding.
defaultProperty.help = Hiermee wordt aangegeven welke eigenschap van deze klasse kan worden ingesteld in MXML zonder de bijbehorende waarde in te sluiten in een eigenschapstag.
deprecated.help = Hiermee wordt deze eigenschap, methode of klasse als verouderd gemarkeerd en niet langer aanbevolen voor gebruik.
embed.help = Hiermee wordt een activabestand (zoals JPEG, PNG, MP3, XML, etc.) ingesloten in een SWF-bestand en wordt deze variabele geïnitialiseerd voor de bijbehorende activaklasse.
event.help = Hiermee wordt een gebeurtenis gedeclareerd die deze klasse verzendt.
exclude.help = Hiermee wordt een opgegeven eigenschap, methode, stijl of gebeurtenis van deze klasse weggelaten uit de Flash Builder-codehints en uit ASDoc.
excludeClass.help = Hiermee wordt deze klasse weggelaten uit de Flash Builder-codehints en uit ASDoc.
hostComponent.help = Hiermee kunt u de SkinnableComponent opgeven die deze Spark-skin gaat gebruiken.
iconFile.help = Hiermee wordt een pictogram opgegeven waarmee deze component in Flash Builder wordt aangegeven.
inspectable.help = Hiermee wordt aangegeven hoe deze eigenschap wordt weergegeven in de eigenschappencontrole van Flash Builder. Hiermee worden ook de toegestane waarden in MXML opgegeven voor een eigenschap van het type Tekenreeks.
managed.help = Hiermee wordt aangegeven dat LCDS alle wijzigingen (maken/bijwerken/verwijderen) in exemplaren van deze klasse moet controleren. Beheerde klassen worden automatisch gebonden.
nonCommitingChangeEvent.help = Hiermee wordt de gebeurtenis opgegeven waarmee verfijnde waardenwijzigingen van deze eigenschap worden aangeduid, zoals aanpassingen in een TextInput vóór bevestiging.
percentProxy.help = Hiermee wordt een procentuele eigenschap opgegeven die overeenkomt met deze eigenschap. Bijvoorbeeld width="100%" in MXML stelt percentWidth in op 100 in ActionScript.
remoteClass.help = Hiermee wordt de externe klasse opgegeven die overeenkomt met deze klasse voor AMF-serialisatie.
resourceBundle.help = Hiermee wordt aangegeven dat deze klasse een bepaalde resourcebundel gebruikt, zodat de bundel gecompileerd kan worden in het SWF-bestand. 
richTextContent.help = Hiermee wordt aangegeven dat alle tekens letterlijk als tekst geïnterpreteerd moeten worden, wanneer deze eigenschap is ingesteld met tekengegevens in MXML.
skinPart.help = Hiermee wordt aangegeven dat de waarde van deze eigenschap een skinonderdeel is in de skin van deze component.
skinState.help = Hiermee wordt een weergavestatus opgegeven die de skin van deze component moet ondersteunen.
style.help = Hiermee wordt een CSS-stijl opgegeven die door deze component wordt ondersteund.
swf.help = Hiermee wordt informatie opgegeven voor de SWF-koptekst van deze ActionScript-toepassing.
transient.help = Hiermee wordt aangegeven dat deze eigenschap geen deel uit mag maken van de AMF-serialisatie.
