################################################################################
##
##  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.
##
################################################################################

config.FileConfigurator.LoadingConfiguration=Laden van configuratiebestand ${file}

CommandLineHelp=Use '${program} -help' voor informatie over het gebruik van de opdrachtregel.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Ongeldige componentnaam '${name}': componentnaam moet geldige ActionScript-klassenaam zijn.
css.CssCompiler.StyleSheetParseError=Fout bij parseren van opmaakmodel: ${stylePath}
css.ConditionTypeNotSupported=Conditietype van CSS-selector wordt niet ondersteund: '${condition}'
css.SelectorTypeNotSupported=CSS-selectortype wordt niet ondersteund: '${selector}'
css.UnresolvedQualifiedTypeSelector=Kan type ${type} dat door naamruimte is gekwalificeerd, niet omzetten in CSS-selector ${selector}.
css.UnqualifiedTypeSelector=Type ${type} in CSS-selector ${selector} moet met een naamruimte worden gekwalificeerd.
css.StyleDef.InvalidReference=Ongeldige ${type}Reference-instructie in opmaakmodel.  Het moet \u00e9\u00e9n String-parameter bevatten.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() kan alleen worden gebruikt voor een document.
css.StylesContainer.ParseError=Probleem met parseren van standaard-CSS: ${message}.
css.StylesContainer.DefaultCSSFileNotFound=Standaard CSS-bestand niet gevonden.
css.StylesContainer.ExcludedStyleProperty=De stijl '${stylePropertyName}' wordt uitgesloten door type '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} is geen verwijzing naar documenteigenschappen.
css.StylesContainer.InvalidStyleProperty=De stijl '${stylePropertyName}' is niet gedeclareerd door type '${typeName}'.
css.StylesContainer.InvalidStyleTheme=De stijl '${stylePropertyName}' wordt alleen ondersteund door type '${typeName}' met thema(s) '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=De CSS-typeselector '${styleName}' is niet verwerkt, omdat het type niet is gebruikt in de toepassing.
css.StylesContainer.ComponentTypeSelectorsNotSupported=CSS-typeselectors worden niet ondersteund in componenten: '${selector}'
css.StyleConflictException=Declaratie van stijl '${style}' conflicteert met eerdere declaratie in ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension='${source}' heeft geen herkende extensie, en er is geen mimeType opgegeven
TranscoderException.NoMatchingTranscoder=geen transcoder geregistreerd voor mimeType '${mimeType}'
TranscoderException.NoAssociatedClass=geen klasse gekoppeld aan '${tag}' bij gebruik van ${transcoder}
media.AbstractTranscoder.UnsupportedAttribute=transcoderingsparameter '${attribute}' wordt niet ondersteund door '${className}'
media.AbstractTranscoder.UnableToResolve=kan '${source}' voor transcoderen niet interpreteren
media.AbstractTranscoder.NetworkTranscodingSource=netwerkbron ${url} kan niet worden ingesloten tijdens compileren; gebruik een lokaal bestand of laad de bron bij uitvoering
media.AbstractTranscoder.MissingSource=er is geen bron opgegeven om te transcoderen
media.AbstractTranscoder.TemplateException=sjabloon '${template}' kan niet worden geladen
media.AbstractTranscoder.UnableToGenerateSource=kan de bron voor klasse ${className} niet genereren
media.AbstractTranscoder.UnableToReadSource=kan transcoderingsbron '${source}' niet lezen
media.AbstractTranscoder.ExceptionWhileTranscoding=uitzondering tijdens transcoderen: ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen='${source}' resulteert in gegenereerde code, kan bestaande klasse '${className}' niet gebruiken
media.AbstractTranscoder.IncompatibleTranscoderParameters=transcoderingsparameters '${param1}' en '${param2}' zijn incompatibel

media.FontTranscoder.BadParameters=voor het transcoderen van fonts moet u een fontnaam opgeven en een bron, systeemfont of bronlijst
media.FontTranscoder.BadFlashType=flashType moet waar of onwaar zijn.
media.FontTranscoder.BadAdvancedAntiAliasing=advancedAntiAliasing moet waar of onwaar zijn.
media.FontTranscoder.InvalidUnicodeRangeException=ongeldige Unicode-reeks '${range}'
media.FontTranscoder.UnableToBuildFont=kan font '${fontName}' niet genereren
media.FontTranscoder.UnableToExtrace=kan font '${fileName}' niet extraheren
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=het ingesloten font '${alias}' kan een apparaatfont met dezelfde naam schaduwen. Gebruik fontName om het font een andere alias te geven
media.LosslessImageTranscoder.InvalidQuality=Kwaliteit moet een double tussen 0 en 100 zijn.
media.LosslessImageTranscoder.QualityRequiresCompression=Kwaliteit vereist comprimeren="waar".
media.ImageTranscoder.ScalingGridException=voor het schaalraster moeten alle vier de hoeken worden gedefinieerd
media.MovieTranscoder.MissingSymbolDefinition=definitie voor symbool '${symbol}' niet gevonden
media.MovieTranscoder.MissingFontFace=font '${fontName}' met gewicht ${weight} en stijl ${style} niet gevonden
media.MovieTranscoder.UnableToBuildRootSprite=kan de definitie voor hoofd-Sprite niet genereren
media.MovieTranscoder.BadScalingGridTarget=kan geen schaalraster toepassen op resourcetype '${resourceType}'
media.MovieTranscoder.ScalingGridRange=schaalrasterwaarden moeten groter zijn dan nul, de waarde links moet kleiner zijn dan de waarde rechts en de bovenste waarde moet kleiner zijn dan de onderste waarde
media.MovieTranscoder.ScalingGridAlreadyDefined=swf-activum heeft al een schaalraster
media.MovieTranscoder.IgnoringAS2=AS2-code in '${symbol}' wordt genegeerd; Flex 2-toepassingen ondersteunen alleen AS3
media.SkinTranscoder.SkinClassNotFound=klasse voor skin '${className}' is niet gevonden
media.SoundTranscoder.UnsupportedSamplingRate=niet ondersteunde sampling-snelheid (${frequency}Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=kan de sampleframetelling niet bepalen
media.SoundTranscoder.NotInMP3Format=het geluidsbestand is niet herkend als een mp3.
media.SVGTranscoder.Deprecated=Het gebruik van SVG is sinds Flex 4 afgeschaft. Gebruik FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Er is geen bytecode beschikbaar.
abc.AbcCompiler.BytecodeDecodingFailed=decoderen van abc-bytecode is mislukt.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=Kan ${what} niet transcoderen.
as3.EmbedEvaluator.UnableToCreateSource=Kan bron ${name} niet maken.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=Insluiten wordt alleen ondersteund met variabelen van het type klasse of tekenreeks.
as3.EmbedEvaluator.InvalidEmbedVariable=Een Embed-variabele mag geen bestaande waarde hebben.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=Insluiten wordt alleen ondersteund voor klassen en lidvariabelen.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} is afgekeurd sinds ${since}. Gebruik ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=Klasse '${assetClass}' breidt de activumbasisklasse '${requiredBase}' van '${assetType}' niet uit.
as3.EmbedExtension.NonPublicAssetClass=Klasse '${assetClass}' moet openbaar zijn om het bijbehorende activum ervan te kunnen gebruiken.
as3.HostComponentExtension.HostComponentClassNotFound=[HostComponent] klasse '${className}' niet gevonden.
as3.HostComponentExtension.MissingSkinPart=Het vereiste skinonderdeel '${skinPartName}' ontbreekt.
as3.HostComponentExtension.MissingSkinPartWarning=Het vereiste skinonderdeel '${skinPartName}' ontbreekt.
as3.HostComponentExtension.MissingSkinState=De vereiste skinstatus '${skinPartName}' ontbreekt.
as3.HostComponentExtension.WrongSkinPartType=Het type skinonderdeel '${skinPartTypeName}' moet kunnen worden toegewezen aan '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Voor metagegevens is een gekoppelde definitie vereist.
as3.MetaDataParser.InvalidMetadataFormatError=Ongeldige indeling van metagegevens.
as3.MetaDataParser.InvalidMetadataFormatWarning=Ongeldige indeling van metagegevens.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Alleen metagegevens zijn toegestaan.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=IconFile-metagegevens moeten niet vaker dan \u00e9\u00e9n keer in een bestand worden ingesteld. Ingesteld op zowel '${icon}' als '${val}' in ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=[AccessibilityClass] moet een eigenschap voor 'implementatie' defini\u00ebren waarin een type name wordt opgegeven.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] moet een typenaam opgeven.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Dubbele declaratie van SkinState '${name}'.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=Slechts \u00e9\u00e9n [HostComponent] toegestaan.
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] moet een typenaam opgeven.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] moet een typenaam opgeven.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] moet een eigenschapnaam opgeven.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Meervoudige constructordefinities gevonden. Constructor mag niet worden gedefinieerd in <Script/>-code.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=ResourceBundle-metagegevens worden alleen ondersteund voor variabelen.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=ResourceBundle-metagegevens moeten een bundelnaam opgeven.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Dubbele '${metaData}'-metagegevens voor getter en setter '${setter}' van ${declaringClass}.
as3.SyntaxTreeEvaluator.NotResourceBundleType=Een ResourceBundle-variabele moet het type mx.resources.ResourceBundle krijgen.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Skinonderdelen moeten openbaar zijn.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=ResourceBundle-metagegevens op variabelenniveau zijn afgeschaft.  Gebruik ResourceBundle-metagegevens op klasseniveau.
as3.StyleEvaluator.StyleMustAnnotateAClass=Voor [Style] is de annotatie van een klasse vereist.
as3.StyleEvaluator.StyleHasMissingName=Bij [Style]-metagegevens ontbreekt 'name'.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=[Managed]-klassen zijn automatisch [Bindable] - metagegevens worden genegeerd.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Eigenschappen van een [Managed]-klasse zijn automatisch [Bindable] - metagegevens worden genegeerd.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=Klasse is al gemarkeerd als [Bindable]; [Bindable] op eigenschapniveau is overbodig en wordt genegeerd.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=Voor [Bindable] is een parameter voor gebeurtenisnaam vereist bij toepassing op een functie die geen getter of setter is.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] is niet toegestaan voor functiedefinitie.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] is hier niet toegestaan.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] is niet toegestaan voor globale variabelen of pakketvariabelen.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] is niet toegestaan voor constante lidvariabelen.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] is niet toegestaan voor statische lidvariabelen.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=[Bindable] is niet toegestaan voor niet-openbare lidvariabelen in deze context.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] is niet toegestaan voor globale functies of pakketniveaufuncties.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=[Bindable] is niet toegestaan voor niet-openbare functies in deze context.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=De gebeurtenisnaam is geen geldige ActionScript-id.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=Voor [Bindable] voor getter '${getter}' is een lokaal gedefinieerde setter vereist.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=Met gegevensbinding kunnen geen toewijzingen aan "${name}" worden gedetecteerd.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=Met gegevensbinding kunnen geen wijzigingen worden gedetecteerd bij het gebruik van de operator vierkante haken. Voor matrix gebruikt u in plaats daarvan ArrayCollection.getItemAt().


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] voor alleen-lezen getter is onnodig en wordt genegeerd.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=[Bindable] voor alleen-schrijven setter is niet bereikbaar en wordt genegeerd.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=De implementatie van interface '${interfaceName}' kan niet worden toegevoegd aan de klasse '${className}', wegens een conflict met bestaande methode of eigenschap '${methodName}'.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=Sjabloon '${templateName}' kan niet worden geladen
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Interne fout: uitzondering tijdens genereren van sjabloon '${templateName}' voor klasse '${className]': ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Ongeldige modus '${mode}' is opgegeven in [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=Voor [Managed] moet 'uid' van het type 'String' zijn.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=[Managed]-modusconflict.
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=[Managed] mag alleen worden gebruikt voor klassedefinities, of voor eigenschappen in de [Managed]-klassen.
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=[Managed] is opgegeven voor klasse '${className}' met een doeleigenschap maar er is geen servicesbestand geconfigureerd. Uitgestelde koppelingen worden niet ondersteund.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] mag niet worden gebruikt voor mxml-componenten.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Ongeldige componentnaam ${name}: componentnaam moet geldige ActionScript-klassenaam zijn.
fxg.FXGCompiler.FXGParseException=FXG-parseringsuitzondering
fxg.FXGCompiler.SourceGenerationException=Uitzondering van FXG-brongeneratie

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=Verzoek mag geen kenmerken hebben.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=Voor methode is een naamkenmerk vereist.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Argumenten mogen geen kenmerken hebben.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=Voor bewerking is een naamkenmerk vereist.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=Verzoek mag alleen opmaakkenmerk hebben.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Ingesloten opmaakmodel wordt genegeerd omdat een bronbestand is gedefinieerd.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=Expressies voor gegevensbinding worden niet ondersteund met kenmerken die tijdens het compileren worden verwerkt.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Probleem met het zoeken van extern opmaakmodel: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=Code moet leeg zijn als bronkenmerk wordt opgegeven.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Probleem met het zoeken van extern model: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=Extern model bevat alleen scalaire inhoud - dit wordt momenteel niet ondersteund.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Inline-script wordt genegeerd omdat een bron is opgegeven.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Inline-XML wordt genegeerd omdat een bron is opgegeven.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Probleem met het zoeken van externe XML: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=Binding moet een geldige bron hebben.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=Binding moet een geldige bestemming hebben.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=Binding van bron en bestemming mogen niet hetzelfde zijn.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Onbekend kenmerk: ${qname} voor ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Probleem met het zoeken van extern bestand: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Ingesloten tekenreeks wordt genegeerd omdat een bronbestand is gedefinieerd.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Probleem met het zoeken van extern bestand: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Probleem met het parseren van externe XML: ${name} - (line ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Probleem met het parseren van externe XML: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Probleem met het parseren van externe XML: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Bestand is niet gevonden: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Probleem met het parseren van externe tekst zonder opmaak: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Fout bij parseren van opmaakmodel: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=Er moet een inline-component worden gedefinieerd.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=Een definitie moet een naamkenmerk hebben.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=Definitie '${name}' moet precies \u00e9\u00e9n onderliggend element hebben.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=Bibliotheekcode moet de eerste onderliggende code van de hoofdcode van een document zijn.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=Persoonlijke code moet de laatste onderliggende code van de hoofdcode van een document zijn.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Voor nieuw bovenliggend element moet een doelkenmerk zijn gedefinieerd.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Voor nieuw bovenliggend element moet includeIn of excludeFrom zijn gedefinieerd.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Element mag niet zowel een binding-expressie als kenmerk-initialiseerders hebben.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=${image} CDATA worden genegeerd omdat andere XML-elementen bestaan...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=Kan geen code met de naam "Object" hebben in modellen of services.
mxml.builder.DocumentBuilder.MissingAttribute=Kenmerk ${attribute} ontbreekt.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError=${image}' moet een onderliggend element van de hoofdcode zijn.
mxml.builder.DocumentBuilder.NestedDeclaration=Declaratie ${declaration} moet zich in de code <Declarations> bevinden, aangezien '${targetType}' niet door deze declaratie wordt ge\u00efmplementeerd.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=Declaratie ${declaration} moet binnen de code <Declarations> staan, omdat de declaratie niet kan worden toegewezen aan het type ${targetType} of elementtype ${targetElementType} van de standaardeigenschap.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=Declaratie ${declaration} moet binnen de code <Declarations> staan, omdat de declaratie niet kan worden toegewezen aan het elementtype ${targetElementType} van de standaardeigenschap.
mxml.builder.DocumentBuilder.DefaultPropertyError=Standaardeigenschap wordt niet ondersteund voor de hoofdcode.
mxml.builder.DocumentBuilder.ThemeAttributeError=Geef uw thema op met behulp van de configuratieopties voor de compiler; het kenmerk 'theme' wordt niet meer ondersteund in MXML-documenten.
mxml.builder.DocumentBuilder.RslAttributeError=Geef bibliotheken op die bij uitvoering worden gedeeld met behulp van de configuratieopties voor de compiler; het kenmerk 'rsl' wordt niet meer ondersteund in MXML-documenten.
mxml.builder.DocumentBuilder.LibAttributeError=Geef bibliotheken op met behulp van de configuratieopties voor de compiler; het kenmerk 'lib' wordt niet meer ondersteund in MXML-documenten.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed is hier niet toegestaan.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear is hier niet toegestaan.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Ongeldige klassenaam '${className}' opgegeven voor 'preloader'-kenmerk.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Ongeldige klassenaam '${className}' opgegeven voor 'splashScreenImage'-kenmerk.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Ongeldige klassenaam '${className}' opgegeven voor 'runtimeDPIProvider'-kenmerk.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=id-kenmerk is niet toegestaan voor de hoofdcode van een component.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=De kenmerken includeIn en excludeFrom zijn niet toegestaan voor de hoofdcode van een component.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=De kenmerken includeIn en excludeFrom zijn niet toegestaan voor onmiddellijk onderliggende elementen van de code <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=De kenmerken itemCreationPolicy en itemDestructionPolicy zijn niet toegestaan voor de hoofdcode van een component.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=De kenmerken itemCreationPolicy en itemDestructionPolicy zijn niet toegestaan voor onmiddellijk onderliggende elementen van de code <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} wordt momenteel niet ondersteund als matrixelement.
mxml.builder.ArrayBuilder.UnknownNode=${image} is hier niet toegestaan.
mxml.builder.AbstractBuilder.AtClearNotAllowed=@Clear-instructie mag alleen gebruikt worden voor statusspecifieke stijleigenschappen.
mxml.builder.AbstractBuilder.BindingNotAllowed=Expressie voor gegevensbinding is hier niet toegestaan.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Initialisatiefunctie voor '${desc}': expressie voor gegevensbinding is hier niet toegestaan.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=Inline-expressie voor tweeweggegevensbinding is hier niet toegestaan.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Initialisatiefunctie voor '${desc}': inline-expressie voor tweeweggegevensbinding is hier niet toegestaan.
mxml.builder.AbstractBuilder.ClearNotAllowed=U mag @Clear alleen gebruiken met statusspecifieke eigenschappen.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Initialisatiefunctie voor '${desc}': @ContextRoot mag niet worden gebruikt met type ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Ongedefinieerde contextbasis.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Initialisatiefunctie voor '${desc}': @Embed mag niet worden gebruikt met type ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Initialisatiefunctie voor '${desc}': kan waarde van type ${type}${array} van tekst '${text}' niet parseren.
mxml.builder.AbstractBuilder.InvalidPercentage=Initialisatiefunctie voor '${desc}': ongeldige percentage-expressie: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Initialisatiefunctie voor '${desc}': ongeldige expressie voor tweewegbinding: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Ongeldige expressie voor tweewegbinding: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Initialisatiefunctie voor '${desc}': waarden van type ${type} kunnen niet in tekst worden weergegeven.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Initialisatiefunctie voor '${desc}': percentages zijn hier niet toegestaan.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Initialisatiefunctie voor '${desc}': niet-herkende instructie tijdens compileren.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] voor eigenschap '${property}' benoemt geen bereikbare eigenschap van klasse '${type}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Meerdere initialisatiefuncties voor eigenschap '${name}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Meerdere initialisatiefuncties voor eigenschap '${name}'. (opmerking: '${name}' is de standaardeigenschap van '${type}').
mxml.builder.AbstractBuilder.EventTypeUnavailable=Gebeurtenistype '${type}' is niet beschikbaar.
mxml.builder.AbstractBuilder.EventHandlerEmpty=Gebeurtenishandler is leeg.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Meerdere initialisatiefuncties voor stijl '${name}'.
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Meerdere initialisatiefuncties voor effect '${name}'.
mxml.builder.AbstractBuilder.ClassNotAvailable=Klasse '${className}' is niet beschikbaar.
mxml.builder.AbstractBuilder.TypeNotAvailable=Standaard MXML-type '${type}' is niet beschikbaar.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=U kunt ${type} niet toewijzen aan de standaardeigenschap ${defaultProperty} van type ${targetType}.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=In de initialisatiefunctie voor '${lvalue}' kan type ${type} niet worden toegewezen aan het doeltype ${targetType}.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Meerdere initialisatiewaarden voor standaardeigenschap ${defaultProperty} van type ${targetType}.
mxml.builder.AbstractBuilder.TypeNotMultiple=In initialisatiefunctie voor '${lvalue}' bevinden zich meerdere initialisatiefunctiewaarden voor doeltype ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=In initialisatiefunctie voor '${lvalue}' kan type ${type} niet worden toegewezen aan het doeltype ${targetType} of doelelementtype ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=In initialisatiefunctie voor '${lvalue}' kan type ${type} niet worden toegewezen aan het elementtype ${targetElementType} van het doel ${targetType} 
mxml.builder.AbstractBuilder.InitializerNotAllowed=Initialisatiefunctie voor eigenschap '${name}' is hier niet toegestaan.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=U moet de kenmerken itemCreationPolicy en itemDestructionPolicy bij het kenmerk includeIn of excludeFrom opgeven.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Ongeldige waarde voor kenmerk itemCreationPolicy. 
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=U moet itemDestructionPolicy bij het kenmerk includeIn of excludeFrom opgeven.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Ongeldige waarde voor kenmerk itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=Eigenschap '${name}' is ingesteld op alleen-lezen.
mxml.builder.AbstractBuilder.PropertyUnreachable=Interne fout: type voor eigenschap '{name}' is niet bereikbaar.
mxml.builder.AbstractBuilder.StyleUnreachable=Interne fout: type voor stijl '{name}' is niet bereikbaar.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Ongeldige waarde: ${value}. Het moet een van de ${values} zijn.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=Flash Player biedt geen ondersteuning voor het laden van SVG bij uitvoering. Gebruik voor het insluiten van SVG de functie @Embed() tijdens compileren.
mxml.builder.AbstractBuilder.EmptyChildInitializer=Initialisatiefunctie voor onderliggende code voor het type '${type}' mag niet leeg zijn.

# If you update any of these strings, you must change ASC's equivalents in asc/src/localized_strings/EN/Lint_Warnings.xml (don't forget Japanese!)
mxml.builder.AbstractBuilder.Deprecated=${name}' is afgeschaft.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement=${name}' is afgeschaft. Gebruik '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSince=${name}' is afgeschaft sinds ${since}. Gebruik '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement=${name}' is afgeschaft sinds ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=De stijl '${stylePropertyName}' wordt uitgesloten door type '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=De stijl '${stylePropertyName}' wordt alleen ondersteund door type '${typeName}' met thema(s) '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=De stijl '${stylePropertyName}' wordt alleen ondersteund door type '${typeName}' met thema(s) '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=Onbekende naamruimte ${namespace} voor kenmerk ${text} (alleen standaardkenmerknaamruimten worden ondersteund).
mxml.builder.ComponentBuilder.UnknownAttribute=Kan kenmerk '${name}' voor componenttype ${type} niet interpreteren.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=Kan kenmerk '${localPart}' in naamruimte '${namespace}' voor componenttype ${type} niet omzetten.
mxml.builder.ComponentBuilder.NonContiguous=Onderliggende elementen van ${parentTypeName}' die de standaard eigenschapswaarde voor '${propertyName}' vormen, moeten opeenvolgend zijn.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Componentdeclaraties zijn hier niet toegestaan. (Opmerking: visuele onderliggende elementen moeten ${interfaceName} implementeren)
mxml.builder.ComponentBuilder.NestedDeclaration=Componentdeclaraties zijn hier niet toegestaan.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=${type} is een grafische primitief die in een groep moet worden genest om aan ${parentType} te kunnen worden toegevoegd.
mxml.builder.ComponentBuilder.MixedContent=Gemengde inhoud is hier niet toegestaan.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Component mag niet zowel een tekstinitialiseerder als kenmerken hebben.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} is hier niet toegestaan.
mxml.builder.ComponentBuilder.MixedInitializers=Zowel tekst- als niet-tekstinitialiseerders zijn opgegeven.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=U mag wijziging van de status niet langer uitdrukkelijk declareren. De syntaxis voor oudere statussen is afgeschaft.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Onderliggende elementen van Halo-navigators moeten INavigatorContent implementeren.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Voor herhalers is een bovenliggend element vereist dat op een Halo-container is gebaseerd.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=Staatspecifieke eigendomssyntaxis '${name}' wordt niet ondersteund voor MXML-taalversies van voor 2009.
mxml.builder.ModelBuilder.ClassNotFound=De klasse ${className} is niet gevonden.
mxml.builder.ModelBuilder.OnlyOneRootTag=Slechts \u00e9\u00e9n hoofdcode is toegestaan.
mxml.builder.ModelBuilder.OnlyScalarError=Model '${id}' bevat alleen scalaire inhoud - dit wordt momenteel niet ondersteund.
mxml.builder.PrimitiveBuilder.InitializerRequired=Initialiseerderwaarde is hier vereist.
mxml.builder.XMLBuilder.OnlyOneRootTag=Slechts \u00e9\u00e9n hoofdcode is toegestaan.
mxml.builder.XMLBuilder.MixedContent=Gemengde inhoud is hier niet toegestaan.
mxml.builder.XMLBuilder.RequireXMLContent=XML-inhoud is vereist.
mxml.builder.XMLListBuilder.RequireXMLContent=XML-inhoud is vereist.
mxml.builder.VectorBuilder.WrongElementType=Elementen van deze Vector moeten kunnen worden toegewezen aan '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=Kan ${tag} niet interpreteren tot een componentimplementatie.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Gemengde inhoud is hier niet toegestaan.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Onderliggende elementen zijn hier niet toegestaan.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=U mag slechts \u00e9\u00e9n taalnaamruimte per document opgeven. Gevonden: '${ns1}' en '${ns2}'.
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=Ondersteuning voor regelnummers voor XML-codekenmerken is niet beschikbaar. Het is mogelijk dat MXML-foutrapportage en foutopsporing van componenten geen juiste regelnummers weergeven. Zorg dat xercesPatch.jar zich in het klassepad bevindt.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Onverwacht einde van tokenstroom. Het laatste token was: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Onverwacht einde van SAX-gebeurtenisstroom. De laatste gebeurtenis was: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Onverwachte verwerkingsopdracht aangetroffen; deze wordt genegeerd. Gevonden: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: type ${elementTypeName} niet gevonden.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): type ${instanceTypeName} is niet beschikbaar.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Ongeldige Embed-instructie in opmaakmodel - kan bron '${source}' niet interpreteren.
mxml.rep.AtEmbed.NoEmbedParams=Er zijn geen parameters opgegeven voor @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=Source-kenmerk niet ondersteund met skinClass.
mxml.rep.AtResource.NoResourceParams=Er zijn geen parameters opgegeven voor @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Er is geen sleutelparameter opgegeven voor @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Er is geen bundelparameter opgegeven voor @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=Kan MXML-taalversie niet omzetten. Geef de taalnaamruimte voor de hoofddocumentcode op.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=Identifier-'${name}' wordt zowel voor een statusgroep als een status gebruikt.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=U mag de trefwoorden includeIn en excludeFrom keywords niet gelijktijdig opgeven.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Er wordt een poging gedaan om niet-openbare overgenomen eigenschap '${name}' van MXML te initialiseren.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Er wordt een poging gedaan om alleen-lezen overgenomen eigenschap '${name}' van MXML te initialiseren.
mxml.rep.MxmlDocument.StateResolutionError=Er is naar de status '${name}' verwezen zonder dat de status is gedeclareerd.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Er wordt een poging gedaan om overgenomen eigenschap '${name}' van type '${propertyType}' met waarde van incompatibel type '${valueType}' te initialiseren.
mxml.rep.StatesModel.ConflictingReparentTags=Kan hetzelfde doel '${target}' niet opnieuw als bovenliggend element toewijzen aan meerdere bestemmingen in dezelfde status ('${name}').
mxml.rep.StatesModel.DuplicateState=Meerdere definities voor staat '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=Kan doel '${target}' niet opnieuw als bovenliggend element toewijzen aan opgegeven bestemming. Incompatibele scalaire of type-eigenschap.
mxml.rep.StatesModel.IncompatibleStatefulNode=Knooppunten met scalaire waarden mogen niet statusspecifiek zijn.
mxml.rep.StatesModel.InvalidReparentState=Kan doel '${target}' niet als nieuw bovenliggend element toewijzen.  Het bestaat al in de status ('${name}').
mxml.rep.StatesModel.TargetResolutionError=Kan het opgegeven doel voor een nieuw bovenliggend element '${name}' niet omzetten.
mxml.rep.StatesModel.MultipleInitializers=Meerdere initialisatiefuncties voor eigenschap '${name}' in status '${state}'.
mxml.rep.StatesModel.IncompatibleState=Component kan niet worden gerealiseerd binnen status '${state}' omdat een bovenliggend element is uitgesloten van '${state}'. 
mxml.rep.StatesModel.CircularReparent=Cirkelverwijzing gedetecteerd in status '${state}' wegens nieuwe bovenliggende code.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=Kan geen initialisatiecode genereren in repeater, wegens id- of gegevensbinding voor een component die geen visueel onderliggend element is.  


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time}ms
util.Benchmark.BenchmarkTotalText=${message} ${time}ms Voorlopig totaal: ${total}ms
util.Benchmark.BenchmarkID=${id}: ${duration}ms
util.Benchmark.TotalTime=Totale tijd: ${time}ms
util.Benchmark.MemoryUsage=Piekgeheugengebruik: ${total} MB (Heap: ${heap}, Niet-heap: ${nonHeap})
util.AbstractLogger.Info=Info
util.AbstractLogger.Warning=Waarschuwing
util.AbstractLogger.Error=Fout
util.AbstractLogger.col=kol
util.AbstractLogger.Recompile=Opnieuw compileren
util.AbstractLogger.Reason=Reden
util.AbstractLogger.Updated=Bijgewerkt
util.ManifestParser.UndefinedClass=Manifest: Fout bij laden van naamruimte ${fileName}: ${line} component ${tag} heeft ongedefinieerde klasse!
util.ManifestParser.ManifestError=Manifest: Fout bij laden van naamruimte ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifest: Fout bij laden van naamruimte ${fileName}: ${line} component ${tag} kan * niet gebruiken als de gedefinieerde klasse.
util.ManifestParser.DuplicateComponentDefinition=Manifest: Fout bij laden van naamruimte ${fileName}: ${line} component ${tag} is meerdere keren gedefinieerd in deze naamruimte.
util.MD5Crypt.UnsupportedAlgorithm=MD5-codering: Algoritme voor wachtwoordversleuteling wordt niet ondersteund.
util.XMLStringSerializer.IllegalXMLChar=Ongeldig XML-teken
util.VelocityManager.InitializationError=Uitzondering tijdens initialiseren van snelheidsengine: ${message}
util.VelocityManager.InvocationError=Methode '${className}.${methodName}': aanroepuitzondering tijdens codegen: ${message}
util.VelocityManager.TemplateReferenceIsNull=Sjabloonverwijzing '${s}' levert null.
util.VelocityManager.GetMethodNotFound=${template} regel ${line}, kolom ${column}: Get-methode voor '${identifier}' niet gevonden voor ${className}
util.VelocityManager.SetMethodNotFound=${template} regel ${line}, kolom ${column}: Set-methode voor '${identifier}' niet gevonden voor ${className}
util.LocalLogger.ErrMsgBug=Flex-compiler, fout bij bugrapportage
util.LocalLogger.GeneratedCodeMarker=Gegenereerde code (gebruik -keep om op te slaan)
util.LocalLogger.PathInfo=Pad: ${filepath}
util.LocalLogger.LineInfo=Regel: ${fileline}
util.LocalLogger.ColumnInfo=Kolom: ${filecol}
util.LocalLogger.MessageInfo=Bericht: ${filemsg}
util.LocalLogger.SourceInfo=Bron: ${filesource}
util.LocalLogger.ErrorCodeInfo=Foutcode: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=stapeltracering
util.VelocityException.UnableToWriteGeneratedFile=Kan gegenereerd bestand (${fileName}) niet schrijven: ${message}.
util.VelocityException.TemplateNotFound=Sjabloon '${template}' kan niet worden geladen
util.VelocityException.GenerateException=Uitzondering tijdens genereren van ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=De codering voor de opgegeven tekenreeks is onjuist: ${string}
util.OrderedProperties.RemovedFromProperty=${string}' kan zich niet in een eigenschap bevinden en is uit '${property}' verwijderd


# flex2.compiler
CompilerAPI.UnableToSetHeadless=Kan java.awt.headless niet instellen wegens een uitzondering in de beveiliging. Stel deze handmatig in via de opdrachtregel.
CompilerAPI.IncompatibleSWCArchive=SWC-archief ${swc} is incompatibel met deze compiler.
CompilerAPI.OutputTime=Bestanden: ${size} Tijd:
CompilerAPI.NotFullyCompiled=Het bronbestand is niet volledig gecompileerd.
CompilerAPI.SourceNoLongerExists=Het bronbestand bestaat niet meer.
CompilerAPI.SourceFileUpdated=Het bronbestand of een van de opgenomen bestanden is bijgewerkt.
CompilerAPI.AssetUpdated=Een van de activa is bijgewerkt.
CompilerAPI.SwcDefinitionObsoleted=Definitie verouderd door '${newLocation}'.
CompilerAPI.DependencyUpdated=Afhankelijkheid ${dependency} is bijgewerkt.
CompilerAPI.DependencyNotCached=Afhankelijkheid '${dependency}' niet opgeslagen in de cache
CompilerAPI.NotSourcePathFirstPreference=Het bronbestand is niet meer de eerste voorkeur van het bronpad.
CompilerAPI.DependentFileNoLongerExists=Het afhankelijke bestand ervan, ${location}, bestaat niet meer.
CompilerAPI.InvalidImportStatement=De importinstructie, ${defName}, is niet meer geldig.
CompilerAPI.DependentFileModified=Het afhankelijke bestand ervan, ${location}, is bijgewerkt.
CompilerAPI.MultiNameMeaningChanged=De betekenis van de multinaam ${multiName} is gewijzigd van '${qName}' in iets anders.
CompilerAPI.FilesChangedAffected=Gewijzigde bestanden: ${updateCount}-bestanden zijn erbij betrokken: ${count}
CompilerAPI.MoreThanOneDefinition=Een aangetroffen bestand in een bronpad kan slechts \u00e9\u00e9n extern zichtbare definitie hebben. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=Een aangetroffen bestand in een bronpad moet een extern zichtbare definitie hebben. Als een definitie in het bestand extern zichtbaar moet zijn, plaatst u de definitie in een pakket.
CompilerAPI.WrongPackageName=Een aangetroffen bestand in een bronpad moet dezelfde pakketstructuur '${pathPackage}' hebben als het pakket van de definitie, '${defPackage}'.
CompilerAPI.WrongDefinitionName=Een aangetroffen bestand in een bronpad '${pathName}' moet dezelfde naam hebben als de klassedefinitie in het bestand '${defName}'.
CompilerAPI.CircularInheritance=De definitie is in circulaire overname.
CompilerAPI.UnableToResolveDependency=Kan afhankelijkheid van ${localPart} niet omzetten.
CompilerAPI.AmbiguousMultiname=Kan een multinaamverwijzing niet eenduidig omzetten. ${qName1} (van ${source1}) en ${qName2} (van ${source2}) zijn beschikbaar.
CompilerAPI.SWFEncoding=SWF-codering...
CompilerAPI.PersistingCompilationUnits=${count} compilatie-eenheden worden doorgezet...
CompilerAPI.FailedToMatchCacheFile=Overeenkomst tussen het compileerdoel en ${cacheName} is mislukt. Het cachebestand wordt niet opnieuw gebruikt.
CompilerAPI.LoadingCompilationUnits=${count} compilatie-eenheden worden geladen...
CompilerAPI.ChannelDefinitionNotFound=Kanaaldefinitie, ${clientType}, kan niet worden gevonden.
CompilerAPI.TooManyErrors=Er zijn te veel fouten aangetroffen!
CompilerAPI.ForcedToStop=De compiler heeft de instructie gekregen om te stoppen.
CompilerAPI.UnableToWriteSizeReport=Kan het grootterapport niet schrijven naar ${fileName}.
CompilerAPI.UnableToResolveClass=Kan een klasse niet omzetten voor ${type}: ${className}.
CompilerAPI.UnableToResolveResourceBundle=Kan resourcebundel "${bundleName}" niet omzetten.
CompilerAPI.UnableToResolveResourceBundleForLocale=Kan resourcebundel "${bundleName}" niet omzetten voor landinstelling "${locale}".
CompilerAPI.UnableToResolveNeededClass=Kan een benodigde klasse niet omzetten: ${className}.
CompilerAPI.BatchTime=${sourceName} wordt gecompileerd, fase ${phase}...
CompilerAPI.CompileTime=Fase ${phase} wordt gecompileerd...
CompilerAPI.NoCompilerFound=Geen compiler voor '${sourceName}'.
CompilerException=Fouten aangetroffen tijdens compileren...
CompilerSwcContext.Loaded = ${loaded} bibliotheken geladen...
FileSpec.UnsupportedFileType=Niet-ondersteund bestandstype: ${name}
SourceList.UnsupportedFileType=Niet-ondersteund bestandstype: ${name}
SourceList.FileNotInSourcePath=${name} moet zich in het bronpad bevinden.
PersistenceStore.ObsoleteCacheFileFormat=Verouderde cachebestandsindeling aangetroffen. Het cachebestand wordt niet opnieuw gebruikt.
PersistenceStore.NoFileSpec=Op bestandsspecificatie gebaseerde compilatiegegevens bestaan maar er is geen bestandsspecificatie opgegeven.
PersistenceStore.NoSourceList=Op bronlijst gebaseerde compilatiegegevens bestaan maar er is geen bronlijst opgegeven.
PersistenceStore.NoSourcePath=Op bronpad gebaseerde compilatiegegevens bestaan maar er is geen bronpad opgegeven.
PersistenceStore.NoResourceBundlePath=Op ResourceBundlePath gebaseerde compilatiegegevens bestaan maar er is geen ResourceBundlePath opgegeven.
PersistenceStore.NoResourceContainer=Op resourcecontainer gebaseerde compilatiegegevens bestaan maar er is geen resourcecontainer opgegeven.
SourcePathBase.ClasspathOverlap=Bronpaditem, '${cpath}', is een submap van bronpaditem, '${directory}'.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} en ${file2} kunnen niet naast elkaar bestaan in dezelfde map.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=sjabloon '${template}' kan niet worden geladen
mxml.ImplementationCompiler.CodeGenerationException=Uitzondering tijdens genereren van ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=niet-ondersteunde MXML-naamruimte gevonden ('${namespace1}'). Gebruik de MXML-naamruimte '${namespace2}' voor MXML 2-broncode.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Ongeldig teken of ongeldige markering aangetroffen. Plaats de code in een CDATA-blok.
mxml.InterfaceCompiler.WhitespaceBeforePI=Spaties zijn niet toegestaan voor een XML-verwerkingsinstructie (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier='${id}' is geen geldige id.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=id '${id}' wordt meer dan \u00e9\u00e9n keer gebruikt.
mxml.InterfaceCompiler.IdentifierMatchesClassName='${name}': id en klasse mogen niet dezelfde naam hebben.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=klassenaam moet een geldige ActionScript-id zijn.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=opgegeven klassenaam komt meer dan \u00e9\u00e9n keer voor in het document.
mxml.InterfaceCompiler.InlineComponentInternalError=interne fout bij verwerken van inline-component.
mxml.InterfaceCompiler.BaseClassNotFound=Kan opgegeven basisklasse '${baseClassName}' voor componentklasse '${className}' niet vinden.
mxml.InterfaceCompiler.InvalidComponentName=Ongeldige componentnaam '${name}': componentnaam moet geldige ActionScript-klassenaam zijn.
mxml.InterfaceCompiler.InvalidToken=Parseerfout: '${parent}' mag niet worden gevolgd door '${child}'.
mxml.InterfaceCompiler.MissingEndTag=Het elementtype '${tag}' moet worden be\u00ebindigd door de overeenkomstige eindcode '${endTag}'.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=De markering in het document na het hoofdelement moet goed zijn samengesteld.
mxml.InterfaceCompiler.StateNameRequired=name' is een vereist kenmerk voor de code State.
mxml.InterfaceCompiler.VectorTypeRequired=type' is een vereist attribuut voor de Vector-tag.
mxml.InvalidStateAttributeUsage=De kenmerken includeIn en excludeFrom zijn niet toegestaan voor MXML-taalcode '${name}'.
mxml.InvalidStateSpecificValue=Kan geen statusspecifieke waarde voor MXML-taalkenmerk '${name}' opgeven.

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Ongeldige ClassReference-instructie in resourcebundel. Deze moet \u00e9\u00e9n tekenreeksparameter bevatten.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc}-versie ${swcVer} is incompatibel met compilerversie ${compilerVer}.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=Kan ${file} niet maken: ${message}
asdoc.AsDocAPI.UnknownOS=Onbekend besturingssysteem voor ASDoc. ASDoc wordt alleen uitgevoerd onder Windows en Mac OS X.
asdoc.AsDocAPI.NotFound=De volgende ${property} is niet gevonden: ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} afhankelijk van:
