################################################################################
##
##  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=Indl\u00e6ser konfigurationsfilen ${file}

CommandLineHelp=Brug '${program} -help' til at f\u00e5 oplysninger om brug af kommandolinjen.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Ugyldigt komponentnavn '${name}': Komponentnavnet skal v\u00e6re et gyldigt ActionScript-klassenavn.
css.CssCompiler.StyleSheetParseError=Der er opst\u00e5et fejl under fortolkning af typografiark: ${stylePath}
css.ConditionTypeNotSupported=CSS-v\u00e6lgerens betingelsestype underst\u00f8ttes ikke: '${condition}'
css.SelectorTypeNotSupported=CSS-v\u00e6lgerens type underst\u00f8ttes ikke: '${selector}'
css.UnresolvedQualifiedTypeSelector=Den kvalificerede navneomr\u00e5detype '${type}' i CSS-v\u00e6lgeren '${selector}' kan ikke fortolkes.
css.UnqualifiedTypeSelector=Typen '${type}' i CSS-v\u00e6lgeren '${selector}' skal kvalificeres med et navneomr\u00e5de.
css.StyleDef.InvalidReference=Ugyldig ${type}reference-instruktion i typografiark.  Den skal indeholde en enkeltstrengsparameter.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() kan kun bruges i forbindelse med et dokument.
css.StylesContainer.ParseError=Der er opst\u00e5et problemer med fortolkningen af CSS-standarden: ${message}.
css.StylesContainer.DefaultCSSFileNotFound=CSS-standardfilen blev ikke fundet.
css.StylesContainer.ExcludedStyleProperty=Typografien '${stylePropertyName}' er udelukket af typen '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} er ikke en reference til en dokumentegenskab.
css.StylesContainer.InvalidStyleProperty=Typografien '${stylePropertyName}' blev ikke erkl\u00e6ret af af typen '${typeName}'.
css.StylesContainer.InvalidStyleTheme=Typografien '${stylePropertyName}' underst\u00f8ttes kun af typen '${typeName}' med temaet/temaerne '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=CSS-typev\u00e6lgeren '${styleName}' er ikke behandlet, fordi typen ikke bruges i programmet.
css.StylesContainer.ComponentTypeSelectorsNotSupported=CSS-typev\u00e6lgere underst\u00f8ttes ikke i komponenter: '${selector}'
css.StyleConflictException=Erkl\u00e6ring af typografien '${style}' er i konflikt med tidligere erkl\u00e6ring i ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension='${source}' har intet kendt filtypenavn, og der er ikke angivet nogen mimeType
TranscoderException.NoMatchingTranscoder=Der er ikke registreret nogen kodeoverf\u00f8rsel for mimetypen '${mimeType}'
TranscoderException.NoAssociatedClass=Ingen klasse er tilknyttet '${tag}', n\u00e5r ${transcoder} bruges
media.AbstractTranscoder.UnsupportedAttribute=Kodeoverf\u00f8rselsparameteren '${attribute}' underst\u00f8ttes ikke af '${className}'
media.AbstractTranscoder.UnableToResolve='${source}' kan ikke fortolkes til kodeoverf\u00f8rslen
media.AbstractTranscoder.NetworkTranscodingSource=Netv\u00e6rksressourcen ${url} kan ikke integreres p\u00e5 kompileringstidspunktet, s\u00e5 du skal bruge en lokal fil eller indl\u00e6se ressourcen p\u00e5 k\u00f8rselstidspunktet
media.AbstractTranscoder.MissingSource=Der er ikke angivet nogen kilde til kodeoverf\u00f8rslen
media.AbstractTranscoder.TemplateException=Skabelonen '${template}' kan ikke indl\u00e6ses
media.AbstractTranscoder.UnableToGenerateSource=Kilden til klassen '${className}' kan ikke oprettes
media.AbstractTranscoder.UnableToReadSource=Kilden '${source}' til kodeoverf\u00f8rslen kan ikke l\u00e6ses
media.AbstractTranscoder.ExceptionWhileTranscoding=Der er opst\u00e5et en undtagelse under kodeoverf\u00f8rslen. ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen='${source}' medf\u00f8rer genereret kode og kan ikke bruge eksisterende klasse '${className}'
media.AbstractTranscoder.IncompatibleTranscoderParameters=Kodeoverf\u00f8rselsparametrene '${param1}' og '${param2}' er ikke kompatible

media.FontTranscoder.BadParameters=Til kodeoverf\u00f8rsel af skrifttyper skal du angive 'fontName' og enten 'source', 'systemFont' eller 'sourceList'
media.FontTranscoder.BadFlashType=flashType skal v\u00e6re sand eller falsk.
media.FontTranscoder.BadAdvancedAntiAliasing=advancedAntiAliasing skal v\u00e6re sand eller falsk.
media.FontTranscoder.InvalidUnicodeRangeException=Ugyldigt Unicode-interval '${range}'
media.FontTranscoder.UnableToBuildFont=Skrifttypen '${fontName}' kan ikke oprettes
media.FontTranscoder.UnableToExtrace=Skrifttypen '${fileName}' kan ikke udtr\u00e6kkes
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=Den integrerede skrifttype '${alias}' kan overskygge en enhedsskrifttype af samme navn. Brug fontName til at omd\u00f8be skrifttypen til et andet navn
media.LosslessImageTranscoder.InvalidQuality=Kvalitet skal v\u00e6re et kommatal (double) mellem 0 og 100.
media.LosslessImageTranscoder.QualityRequiresCompression=For kvalitet skal compress="true".
media.ImageTranscoder.ScalingGridException=Skaleringsgitteret skal have defineret alle fire hj\u00f8rner
media.MovieTranscoder.MissingSymbolDefinition=Definitionen for symbolet '${symbol}' blev ikke fundet
media.MovieTranscoder.MissingFontFace=Skrifttypen '${fontName}' med v\u00e6gten ${weight} og typografien ${style} blev ikke fundet
media.MovieTranscoder.UnableToBuildRootSprite=Sprite-roddefinitionen kan ikke oprettes
media.MovieTranscoder.BadScalingGridTarget=Skaleringsgitteret kan ikke anvendes p\u00e5 ressourcetypen '${resourceType}'
media.MovieTranscoder.ScalingGridRange=Skaleringsgitterets v\u00e6rdier skal v\u00e6re st\u00f8rre end nul, den venstre v\u00e6rdi skal v\u00e6re mindre end den h\u00f8jre v\u00e6rdi, og topv\u00e6rdien skal v\u00e6re mindre end bundv\u00e6rdien
media.MovieTranscoder.ScalingGridAlreadyDefined=SWF-aktivet har allerede et skaleringsgitter
media.MovieTranscoder.IgnoringAS2=AS2-kode i '${symbol}' ignoreres, da Flex 2-programmer kun underst\u00f8tter AS3
media.SkinTranscoder.SkinClassNotFound=Klassen for temaet '${className}' blev ikke fundet
media.SoundTranscoder.UnsupportedSamplingRate=Samplingfrekvensen (${frequency}Hz) underst\u00f8ttes ikke
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=Eksempelrammens antal kan ikke fastl\u00e6gges
media.SoundTranscoder.NotInMP3Format=Lydfilen blev ikke genkendt som en MP3-fil.
media.SVGTranscoder.Deprecated=Brugen af SVG er blevet frar\u00e5det siden Flex 4. Det anbefales at bruge FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Der er ingen tilg\u00e6ngelig bytekode.
abc.AbcCompiler.BytecodeDecodingFailed=Afkodning af abc-bytekode mislykkedes.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=Koden ${what} kan ikke overf\u00f8res.
as3.EmbedEvaluator.UnableToCreateSource=Kilden ${name} kan ikke oprettes.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=Embed underst\u00f8ttes kun i variabler af typen Klasse eller Streng.
as3.EmbedEvaluator.InvalidEmbedVariable=En Embed-variabel m\u00e5 ikke have en eksisterende v\u00e6rdi.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=Embed underst\u00f8ttes kun i klasser og medlemsvariabler.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} har v\u00e6ret frar\u00e5det siden ${since}. Brug ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=Klassen '${assetClass}' udvider ikke '${assetType}'-aktivbasisklassen '${requiredBase}'.
as3.EmbedExtension.NonPublicAssetClass=Klassen '${assetClass}' skal v\u00e6re offentlig for at kunne bruge det tilknyttede aktiv.
as3.HostComponentExtension.HostComponentClassNotFound=[HostComponent]-klassen '${className}' blev ikke fundet.
as3.HostComponentExtension.MissingSkinPart=Den p\u00e5kr\u00e6vede del af temaet '${skinPartName}' mangler.
as3.HostComponentExtension.MissingSkinPartWarning=Den p\u00e5kr\u00e6vede del af temaet '${skinPartName}' mangler.
as3.HostComponentExtension.MissingSkinState=Den p\u00e5kr\u00e6vede status for temaet '${skinStateName}' mangler.
as3.HostComponentExtension.WrongSkinPartType=Temadeltypen '${skinPartTypeName}' skal kunne tilknyttes '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Metadata kr\u00e6ver tilknyttet definition.
as3.MetaDataParser.InvalidMetadataFormatError=Ugyldigt metadataformat:
as3.MetaDataParser.InvalidMetadataFormatWarning=Ugyldigt metadataformat:
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Kun metadata er tilladt.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=IconFile-metadata m\u00e5 ikke indstilles mere end \u00e9n gang i en fil. Indstil til b\u00e5de '${icon}' og '${val}' i ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=[AccessibilityClass] skal definere en implementeringsegenskab, hvor der angives et typenavn.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] skal angive et typenavn.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Dubleterkl\u00e6ring af SkinState '${name}'.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=Der tillades kun \u00e9n [HostComponent].
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] skal angive et typenavn.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] skal angive et typenavn.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] skal angive et egenskabsnavn.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Der er fundet flere konstrukt\u00f8rdefinitioner. Konstrukt\u00f8ren m\u00e5 ikke v\u00e6re defineret i <Script/>-kode.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=ResourceBundle-metadata underst\u00f8ttes kun i variabler.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=ResourceBundle-metadata skal levere et bundlenavn.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Dublet af '${metaData}'-metadata i ${declaringClass}'ens '${setter}'-hente- og indstillingsfunktion.
as3.SyntaxTreeEvaluator.NotResourceBundleType=En ResourceBundle-variabel skal v\u00e6re skrevet til mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Temadele skal v\u00e6re offentlige.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=Metadata i ResourceBundle-variable frar\u00e5des. Benyt metadata p\u00e5 ResourceBundle-klasseniveau.
as3.StyleEvaluator.StyleMustAnnotateAClass=[Style] skal tilf\u00f8je en klasse.
as3.StyleEvaluator.StyleHasMissingName=[Style]-metadata mangler 'name'.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=[Managed]-klasser er automatisk [Bindable] - metadata ignoreres.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Egenskaber for klassen [Managed] er automatisk [Bindable] - metadata ignoreres.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=Klassen er allerede m\u00e6rket [Bindable]. Egenskabsniveauet [Bindable] er overfl\u00f8digt og ignoreres.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=[Bindable] kr\u00e6ver en h\u00e6ndelsesnavneparameter ved anvendelse p\u00e5 en funktion, der ikke henter eller indstiller data.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] er ikke tilladt i definition af funktion.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] er ikke tilladt her.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] er ikke tilladt i globale variabler eller pakkevariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] er ikke tilladt i konstante medlemsvariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] er ikke tilladt i statiske medlemsvariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=[Bindable] er ikke tilladt i ikke-offentlige medlemsvariabler i denne kontekst.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] er ikke tilladt i globale funktioner eller funktioner p\u00e5 pakkeniveau.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=[Bindable] er ikke tilladt i ikke-offentlige funktioner i denne kontekst.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=H\u00e6ndelsesnavnet er ikke et gyldigt ActionScript-id.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=[Bindable] p\u00e5 '${getter}', der henter data, kr\u00e6ver lokalt defineret indstillingsfunktion.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=Databinding kan ikke registrere tildelinger for "${name}".
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=Databinding kan ikke registrere \u00e6ndringer, n\u00e5r operator i firkantet parentes bruges. Til Array skal du i stedet bruge ArrayCollection.getItemAt().


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] i skrivebeskyttet hentefunktion er un\u00f8dvendig og ignoreres.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=[Bindable] i l\u00e6sebeskyttet indstillingsfunktion er ugyldig og ignoreres.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=Implementering af gr\u00e6nsefladen '${interfaceName}' kan ikke f\u00f8jes til klassen '${className}' pga. kollision med eksisterende metode eller egenskab '${methodName}'.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=Skabelonen '${templateName}' kan ikke indl\u00e6ses
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Intern fejl: Der er opst\u00e5et en undtagelse ved oprettelse ud fra skabelonen '${templateName}' for klassen '${className}': ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Der er angivet en ugyldig tilstand '${mode}' i [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] kr\u00e6ver at 'uid' er af typen 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=Konflikt i [Managed]-tilstand.
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=[Managed] kan kun bruges i klassedefinitioner eller egenskaber i [Managed]-klasser.
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=[Managed] er angivet i klassen '${className}' med en destinationsegenskab, men der er ikke konfigureret nogen tjenestefil. Lazy-tilknytninger tillades ikke.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] kan ikke bruges p\u00e5 mxml-komponenter.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Ugyldigt komponentnavn '${name}': Komponentnavnet skal v\u00e6re et gyldigt ActionScript-klassenavn.
fxg.FXGCompiler.FXGParseException=Der er opst\u00e5et en undtagelse ved FXG-fortolkningen
fxg.FXGCompiler.SourceGenerationException=Der er opst\u00e5et en undtagelse ved oprettelse af FXG-kilden

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=Anmodningen kan mangle attributter.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=Metoden kr\u00e6ver en navneattribut.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Argumenterne kan mangle attributter.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=Handlingen kr\u00e6ver en navneattribut.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=Anmodningen har m\u00e5ske kun attributten 'format'.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Det integrerede typografiark ignoreres, fordi en kildefil er defineret.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=Databindingsudtryk underst\u00f8ttes ikke sammen med attributter, der behandles p\u00e5 kompileringstidspunktet.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Der er problemer med at finde et eksternt typografiark: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=Koden skal v\u00e6re tom, n\u00e5r kildeattributten er angivet.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Der er problemer med at finde en ekstern model: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=Den eksterne model har kun skalarindhold, hvilket ikke underst\u00f8ttes i \u00f8jeblikket.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Det indbyggede script ignoreres, fordi en kilde er defineret.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Det indbyggede XML-format ignoreres, fordi en kilde er defineret.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Der er problemer med at finde ekstern XML: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=Bindingen skal have en gyldig kilde.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=Bindingen skal have en gyldig destination.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=Kilde og destination for binding m\u00e5 ikke v\u00e6re ens.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Ukendt attribut: ${qname} p\u00e5 ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Der er problemer med at finde en ekstern fil: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Den integrerede streng ignoreres, fordi en kildefil er defineret.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Der er problemer med at finde en ekstern fil: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Der er problemer med at fortolke ekstern XML: ${name} - (line ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Der er problemer med at fortolke ekstern XML: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Der er problemer med at fortolke ekstern XML: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Filen blev ikke fundet: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Der er problemer med at fortolke almindelig ekstern tekst: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Der er opst\u00e5et fejl under fortolkning af typografiark: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=Du skal definere en indbygget komponent.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=En definition skal have en navneattribut.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=Definitionen '${name}' skal have pr\u00e6cis \u00e9t underordnet element.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=Bibliotekskoden skal v\u00e6re det f\u00f8rste underordnede element i et dokuments rodkode.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=Privat kode skal v\u00e6re det sidste underordnede element i et dokuments rodkode.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Ny overordnet skal have en m\u00e5lattribut defineret
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Ny overordnet skal enten have includeIn eller excludeFrom defineret.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Elementet m\u00e5 ikke indeholde b\u00e5de et bindingsudtryk og attributinitialiseringer.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=${image}-CDATA ignoreres, fordi der findes andre XML-elementer...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=En kode med navnet "Object" m\u00e5 ikke v\u00e6re inde i modeller eller tjenester.
mxml.builder.DocumentBuilder.MissingAttribute=Attributten ${attribute} mangler.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError=${image}' skal v\u00e6re et underordnet element for rodkoden.
mxml.builder.DocumentBuilder.NestedDeclaration=Erkl\u00e6ringen '${declaration}' skal v\u00e6re inkluderet i koden <Declarations> da den ikke implementerer '${targetType}'.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=Deklarationen '${declaration}' skal indeholdes i koden <Declarations> da den ikke kan tildeles standardegenskabens type '${targetType}' eller elementtypen '${targetElementType}'.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=Deklarationen '${declaration}' skal indeholdes i koden <Declarations> da den ikke kan tildeles standardegenskabens elementtype '${targetElementType}'.
mxml.builder.DocumentBuilder.DefaultPropertyError=Standardegenskaben underst\u00f8ttes ikke i rodkoden.
mxml.builder.DocumentBuilder.ThemeAttributeError=Angiv temaet via kompileringsprogrammets konfigurationsindstillinger, og attributten 'theme' underst\u00f8ttes ikke l\u00e6ngere i MXML-dokumenter.
mxml.builder.DocumentBuilder.RslAttributeError=Angiv delte biblioteker p\u00e5 k\u00f8rselstidspunktet via kompileringsprogrammets konfigurationsindstillinger, og attributten 'rsl' underst\u00f8ttes ikke l\u00e6ngere i MXML-dokumenter.
mxml.builder.DocumentBuilder.LibAttributeError=Angiv biblioteker via kompileringsprogrammets konfigurationsindstillinger, og attributten 'lib' underst\u00f8ttes ikke l\u00e6ngere i MXML-dokumenter.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed er ikke tilladt her.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear er ikke tilladt her.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Der er angivet et ugyldigt klassenavn '${className}' for attributten 'preloader'.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Ugyldigt klassenavn '${className}' angivet for attributten 'splashScreenImage'.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Ugyldigt klassenavn '${className}' angivet for attributten 'runtimeDPIProvider'.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=id-attributten er ikke tilladt i en komponents rodkode.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=Attributterne includeIn og excludeFrom er ikke tilladt for en komponents rodkode.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=Attributterne includeIn og excludeFrom tillades ikke for direkte underordnede elementer i koden <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=Attributterne itemCreationPolicy og itemDestructionPolicy er ikke tilladt for en komponents rodkode.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=Attributterne itemCreationPolicy og itemDestructionPolicy tillades ikke for direkte underordnede elementer i koden <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} underst\u00f8ttes i \u00f8jeblikket ikke som Array-element.
mxml.builder.ArrayBuilder.UnknownNode=${image} er ikke tilladt her.
mxml.builder.AbstractBuilder.AtClearNotAllowed=@Clear-instruktionen kan kun bruges med tilstandsspecifikke egenskaber for typografiark.
mxml.builder.AbstractBuilder.BindingNotAllowed=Databindingsudtryk er ikke tilladt her.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Initialisering af '${desc}': Databindingsudtryk er ikke tilladt her.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=Internt tovejs databindingsudtryk er ikke tilladt her.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Initialisering af '${desc}': tovejs databindingsudtryk er ikke tilladt her.
mxml.builder.AbstractBuilder.ClearNotAllowed=@Clear kan kun bruges med tilstandsspecifikke egenskaber.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Initialisering af '${desc}': @ContextRoot m\u00e5 ikke bruges sammen med typen ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Kontekstroden er ikke defineret.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Initialisering af '${desc}': @Embed m\u00e5 ikke bruges sammen med typen ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Initialisering af '${desc}': V\u00e6rdien af typen ${type}${array} kan ikke fortolkes ud fra teksten '${text}'.
mxml.builder.AbstractBuilder.InvalidPercentage=Initialisering af '${desc}': ugyldigt procentudtryk: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Initialisering af '${desc}': Ugyldigt tovejs bindingsudtryk: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Ugyldigt tovejs bindingsudtryk: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Initialisering af '${desc}': V\u00e6rdier af typen ${type} m\u00e5 ikke findes i tekst.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Initialisering af '${desc}': Procenter er ikke tilladt her.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Initialisering af '${desc}': Ukendt instruktion p\u00e5 kompileringstidspunktet.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] i egenskaben '${property}' navngiver ikke en tilg\u00e6ngelig egenskab af klassen '${type}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Der er flere initialiseringer af egenskaben '${name}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Der er flere initialiseringer af egenskaben '${name}'. (Bem\u00e6rk! '${name}' er standardegenskaben for '${type}').
mxml.builder.AbstractBuilder.EventTypeUnavailable=H\u00e6ndelsestypen '${type}' er ikke tilg\u00e6ngelig.
mxml.builder.AbstractBuilder.EventHandlerEmpty=H\u00e6ndelsesh\u00e5ndteringen er tom.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Der er flere initialiseringer af typografien '${name}'.
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Der er flere initialiseringer af effekten '${name}'.
mxml.builder.AbstractBuilder.ClassNotAvailable=Klassen '${className}' er ikke tilg\u00e6ngelig.
mxml.builder.AbstractBuilder.TypeNotAvailable=MXML-standardtypen '${type}' er ikke tilg\u00e6ngelig.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=${type}' kan ikke tildeles standardegenskaben '${defaultProperty}' af typen '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=I initialisering af '${lvalue}' kan typen ${type} ikke tildeles m\u00e5ltypen ${targetType}.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Der er flere initialiseringsv\u00e6rdier for standardegenskaben '${defaultProperty}' af typen '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotMultiple=Der er flere initialiseringsv\u00e6rdier for m\u00e5ltypen ${targetType} i initialisering af '${lvalue}'.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=I initialisering af '${lvalue}' kan typen ${type} ikke tildeles m\u00e5ltypen ${targetType} m\u00e5lelementtypen ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=I initialisering af '${lvalue}' kan typen ${type} ikke tildeles ${targetType}-m\u00e5lelementtypen ${targetElementType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=Initialisering af egenskaben '${name}' er ikke tilladt her.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Attributterne itemCreationPolicy og itemDestructionPolicy skal ledsage attributten includeIn eller excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Ugyldig v\u00e6rdi for attributten itemCreationPolicy
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=itemDestructionPolicy skal ledsage attributten includeIn eller excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Ugyldig v\u00e6rdi for attributten itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=Egenskaben '${name}' er skrivebeskyttet.
mxml.builder.AbstractBuilder.PropertyUnreachable=Intern fejl: Typen for egenskaben '{name}' er ikke tilg\u00e6ngelig.
mxml.builder.AbstractBuilder.StyleUnreachable=Intern fejl: Typen for typografien '{name}' er ikke tilg\u00e6ngelig.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Ugyldig v\u00e6rdi: ${value}. Den skal v\u00e6re en af ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=Flash-afspilleren underst\u00f8tter ikke indl\u00e6sning af SVG p\u00e5 k\u00f8rselstidspunktet. Du kan integrere SVG ved at bruge funktionen @Embed() p\u00e5 kompileringstidspunktet.
mxml.builder.AbstractBuilder.EmptyChildInitializer=Initialisering af underordnet kode for typen '${type}' m\u00e5 ikke v\u00e6re tom.

# 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}' er blevet frar\u00e5det.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement=${name}' er blevet frar\u00e5det. Brug '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSince=${name}' har v\u00e6ret frar\u00e5det siden ${since}. Brug '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement='${name}' har v\u00e6ret frar\u00e5det siden ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=Typografien '${stylePropertyName}' er udelukket af typen '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=Typografien '${stylePropertyName}' underst\u00f8ttes kun af typen '${typeName}' med temaet/temaerne '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=Typografien '${stylePropertyName}' underst\u00f8ttes kun af typen '${typeName}' med temaet/temaerne '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=Ukendt navneomr\u00e5de ${namespace} i attributten ${text} (kun standardnavneomr\u00e5der for attributter underst\u00f8ttes).
mxml.builder.ComponentBuilder.UnknownAttribute=Attributten '${name}' kan ikke fortolkes for komponenttypen ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=Attributten '${localPart}' kan ikke fortolkes i navneomr\u00e5det '${namespace}' for komponenttypen ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Det underordnede element til '${parentTypeName}', der er standardv\u00e6rdi for egenskaben '${propertyName}', skal v\u00e6re fortl\u00f8bende.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Komponenterkl\u00e6ringer er ikke tilladt her. (Bem\u00e6rk! Visuelle underordnede elementer skal implementere ${interfaceName})
mxml.builder.ComponentBuilder.NestedDeclaration=Komponenterkl\u00e6ringer er ikke tilladt her.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=${type}' er en grafisk grundfigur der skal indkapsles i en gruppe for at kunne f\u00f8jes til '${parentType}'.
mxml.builder.ComponentBuilder.MixedContent=Blandet indhold er ikke tilladt her.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Komponenten m\u00e5 ikke have b\u00e5de tekstinitialisering og attributter.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} er ikke tilladt her.
mxml.builder.ComponentBuilder.MixedInitializers=Der er b\u00e5de angivet tekst- og ikke-tekstinitialiseringer.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Tilsides\u00e6ttelser af tilstand m\u00e5 ikke l\u00e6ngere erkl\u00e6res eksplicit. Den gamle statussyntaks er blevet frar\u00e5det.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=De underordnede elementer for Halo-navigatorer skal implementere INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Repeater-v\u00e6rdier skal have et overordnet element, som er baseret p\u00e5 en Halo-beholder.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=Den statusspecifikke syntaks for egenskaben '${name}' underst\u00f8ttes ikke for MXML-sprogversioner fra f\u00f8r 2009.
mxml.builder.ModelBuilder.ClassNotFound=Klassen ${className} blev ikke fundet.
mxml.builder.ModelBuilder.OnlyOneRootTag=Kun \u00e9n rodkode er tilladt.
mxml.builder.ModelBuilder.OnlyScalarError=Modellen '${id}' har kun skalarindhold, hvilket ikke underst\u00f8ttes i \u00f8jeblikket.
mxml.builder.PrimitiveBuilder.InitializerRequired=Initialiseringsv\u00e6rdien kr\u00e6ves her.
mxml.builder.XMLBuilder.OnlyOneRootTag=Kun \u00e9n rodkode er tilladt.
mxml.builder.XMLBuilder.MixedContent=Blandet indhold er ikke tilladt her.
mxml.builder.XMLBuilder.RequireXMLContent=XML-indhold er p\u00e5kr\u00e6vet.
mxml.builder.XMLListBuilder.RequireXMLContent=XML-indhold er p\u00e5kr\u00e6vet.
mxml.builder.VectorBuilder.WrongElementType=Elementer af denne vektor skal kunne knyttes til '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=${tag} kan ikke fortolkes som komponentimplementering.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Blandet indhold er ikke tilladt her.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Underordnede elementer er ikke tilladt her.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Der m\u00e5 kun angives \u00e9t navneomr\u00e5de til sprog pr. dokument. '${ns1}' og '${ns2}' blev fundet.
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=Linjenumre underst\u00f8ttes ikke for XML-kodeattributter. Det er muligt, at MXML-fejlrapportering og komponentfejlfinding p\u00e5 kompileringstidspunktet ikke oplyser korrekte linjenumre. S\u00f8rg for, at xercesPatch.jar findes i klassestien.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Uventet slutning p\u00e5 tokenstream. Det seneste token var: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Uventet slutning p\u00e5 SAX-h\u00e6ndelsesstream. Den seneste h\u00e6ndelse var: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Der blev fundet en uventet procesinstruktion, som ignoreres. Fandt: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: typen ${elementTypeName} blev ikke fundet.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): Typen ${instanceTypeName} er ikke tilg\u00e6ngelig.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Ugyldig Embed-instruktion i typografiarket, s\u00e5 kilden '${source}' ikke kan fortolkes.
mxml.rep.AtEmbed.NoEmbedParams=Der findes ingen parametre til @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=Kildeattributten underst\u00f8ttes ikke sammen med skinClass.
mxml.rep.AtResource.NoResourceParams=Der findes ingen parametre til @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Der findes ingen n\u00f8gleparameter til @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Der findes ingen bundleparameter til @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=MXML-sprogversionen kan ikke fortolkes. Angiv navneomr\u00e5det til sproget i koden til roddokumentet.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=Identifikatoren '${name}' bruges til b\u00e5de en tilstandsgruppe og en tilstand.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=N\u00f8gleordene includeIn og excludeFrom m\u00e5 ikke angives samtidigt.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Der g\u00f8res fors\u00f8g p\u00e5 at initialisere ikke-offentlig, nedarvet egenskab '${name}' fra MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Der g\u00f8res fors\u00f8g p\u00e5 at initialisere skrivebeskyttet, nedarvet egenskab '${name}' fra MXML.
mxml.rep.MxmlDocument.StateResolutionError=Der refereres til tilstanden '${name}' uden at den er erkl\u00e6ret.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Der g\u00f8res fors\u00f8g p\u00e5 at initialisere nedarvet egenskab '${name}' af typen '${propertyType}' med en v\u00e6rdi, der ikke er en kompatibel type '${valueType}'.
mxml.rep.StatesModel.ConflictingReparentTags=Det samme m\u00e5l '${target}' kan ikke angives som overordnet igen p\u00e5 flere destinationer i samme tilstand ('${name}').
mxml.rep.StatesModel.DuplicateState=Flere definitioner til tilstanden '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=M\u00e5let '${target}' kan ikke angives som overordnet igen p\u00e5 den angivne destination. Inkompatibel type eller skalaregenskab.
mxml.rep.StatesModel.IncompatibleStatefulNode=Skalarv\u00e6rdinoder m\u00e5 ikke v\u00e6re tilstandsspecifikke.
mxml.rep.StatesModel.InvalidReparentState='${target}' kan ikke tilknyttes et nyt overordnet element.  Det findes allerede i tilstanden ('${name}').
mxml.rep.StatesModel.TargetResolutionError=Det angivne m\u00e5l for ny overordnet'${name}', kan ikke fortolkes.
mxml.rep.StatesModel.MultipleInitializers=Der er flere initialiseringer af egenskaben '${name}' i tilstanden '${state}'.
mxml.rep.StatesModel.IncompatibleState=Komponenten kan ikke realiseres i tilstanden '${state}', fordi en forl\u00f8ber er ekskluderet fra '${state}'. 
mxml.rep.StatesModel.CircularReparent=Der er fundet en cirkul\u00e6r reference i tilstanden '${state}' p\u00e5 grund af koden Reparent.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=Initialiseringskode i Repeater kan ikke oprettes pga. id eller databinding p\u00e5 en komponent, der ikke er et visuelt underordnet element.  


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time}ms
util.Benchmark.BenchmarkTotalText=${message} ${time}ms Samlet k\u00f8rselstid: ${total}ms
util.Benchmark.BenchmarkID=${id}: ${duration}ms
util.Benchmark.TotalTime=Samlet tid: ${time}ms
util.Benchmark.MemoryUsage=Spidsbelastning for hukommelse: ${total} MB (Heap: ${heap}, Ikke-heap: ${nonHeap})
util.AbstractLogger.Info=Oplysninger
util.AbstractLogger.Warning=Advarsel
util.AbstractLogger.Error=Fejl
util.AbstractLogger.col=Kol
util.AbstractLogger.Recompile=Kompiler igen
util.AbstractLogger.Reason=\u00c5rsag
util.AbstractLogger.Updated=Opdateret
util.ManifestParser.UndefinedClass=Manifest: Fejl ved indl\u00e6sning af navneomr\u00e5det ${fileName}: ${line} Komponenten ${tag} har ikke-defineret klasse!
util.ManifestParser.ManifestError=Manifest: Fejl ved indl\u00e6sning af navneomr\u00e5det ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifest: Fejl ved indl\u00e6sning af navneomr\u00e5det ${fileName}: ${line} Komponenten ${tag} kan ikke bruge * som defineret klasse.
util.ManifestParser.DuplicateComponentDefinition=Manifest: Fejl ved indl\u00e6sning af navneomr\u00e5det ${fileName}: ${line} Komponenten ${tag} er defineret mere end \u00e9n gang i dette navneomr\u00e5de.
util.MD5Crypt.UnsupportedAlgorithm=MD5-kryptering: Algoritmen for kryptering af adgangskoden underst\u00f8ttes ikke.
util.XMLStringSerializer.IllegalXMLChar=Ugyldigt XML-tegn
util.VelocityManager.InitializationError=Der er opst\u00e5et en undtagelse ved initialisering af hastighedsprogrammet: ${message}
util.VelocityManager.InvocationError=Metoden '${className}.${methodName}': Der er opst\u00e5et en aktiveringsundtagelse under kodeoprettelsen. ${message}
util.VelocityManager.TemplateReferenceIsNull=Skabelonreferencen '${s}' giver resultatet null.
util.VelocityManager.GetMethodNotFound=${template} linje ${line}, kolonne ${column}: Hentemetoden for '${identifier}' blev ikke fundet i ${className}
util.VelocityManager.SetMethodNotFound=${template} linje ${line}, kolonne ${column}: Indstillingsmetoden for '${identifier}' blev ikke fundet i ${className}
util.LocalLogger.ErrMsgBug=Flex-kompileringsprogrammets fejlrapportering
util.LocalLogger.GeneratedCodeMarker=Genereret kode (brug -keep til lagring)
util.LocalLogger.PathInfo=Sti: ${filepath}
util.LocalLogger.LineInfo=Linje: ${fileline}
util.LocalLogger.ColumnInfo=Kolonne: ${filecol}
util.LocalLogger.MessageInfo=Meddelelse: ${filemsg}
util.LocalLogger.SourceInfo=Kilde: ${filesource}
util.LocalLogger.ErrorCodeInfo=Fejlkode: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=Staksporing
util.VelocityException.UnableToWriteGeneratedFile=Den oprettede fil (${fileName}) kan ikke skrives: ${message}.
util.VelocityException.TemplateNotFound=Skabelonen '${template}' kan ikke indl\u00e6ses.
util.VelocityException.GenerateException=Der er opst\u00e5et en undtagelse ved oprettelse ud fra ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=Kodningen for den givne streng er fejlformateret: ${string}
util.OrderedProperties.RemovedFromProperty='${string}' kan ikke findes i en egenskab og er fjernet fra '${property}'


# flex2.compiler
CompilerAPI.UnableToSetHeadless=java.awt.headless kan ikke indstilles pga. sikkerhedsundtagelse. Indstil den manuelt via kommandolinjen.
CompilerAPI.IncompatibleSWCArchive=SWC-arkivet ${swc} er ikke kompatibelt med dette kompileringsprogram.
CompilerAPI.OutputTime=Filer: ${size} Tid:
CompilerAPI.NotFullyCompiled=Kildefilen blev ikke fuldt kompileret.
CompilerAPI.SourceNoLongerExists=Kildefilen findes ikke l\u00e6ngere.
CompilerAPI.SourceFileUpdated=Kildefilen eller en af de inkluderede filer er opdateret.
CompilerAPI.AssetUpdated=Et af aktiverne er opdateret.
CompilerAPI.SwcDefinitionObsoleted=Definition overfl\u00f8diggjort af '${newLocation}'.
CompilerAPI.DependencyUpdated=Afh\u00e6ngigheden '${dependency}' er opdateret.
CompilerAPI.DependencyNotCached=Afh\u00e6ngighed '${dependency}' er ikke gemt i cachen.
CompilerAPI.NotSourcePathFirstPreference=Kildefilen er ikke l\u00e6ngere kildestiens f\u00f8rste pr\u00e6ference.
CompilerAPI.DependentFileNoLongerExists=Dens afh\u00e6ngige fil, ${location}, findes ikke l\u00e6ngere.
CompilerAPI.InvalidImportStatement=Importudsagnet, ${defName}, er ikke l\u00e6ngere gyldigt.
CompilerAPI.DependentFileModified=Dens afh\u00e6ngige fil, ${location}, er opdateret.
CompilerAPI.MultiNameMeaningChanged=Betydningen af multinavnet ${multiName} er \u00e6ndret fra '${qName}' til noget andet.
CompilerAPI.FilesChangedAffected=Filer er \u00e6ndret: ${updateCount} filer er p\u00e5virket: ${count}
CompilerAPI.MoreThanOneDefinition=En fil, der findes i en kildesti, m\u00e5 ikke have mere end \u00e9n eksternt synlig definition. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=En fil, der findes i en kildesti, skal have en eksternt synlig definition. Hvis en definition i filen skal v\u00e6re eksternt synlig, skal du placere definitionen i en pakke.
CompilerAPI.WrongPackageName=En fil, der findes i en kildesti, skal have samme pakkestruktur '${pathPackage}' som definitionens pakke, '${defPackage}'.
CompilerAPI.WrongDefinitionName=En fil, der findes i en kildesti '${pathName}', skal have samme navn som klassedefinitionen i filen '${defName}'.
CompilerAPI.CircularInheritance=Definitionen har cirkul\u00e6r nedarvning.
CompilerAPI.UnableToResolveDependency=Afh\u00e6ngighed af ${localPart} kan ikke fortolkes.
CompilerAPI.AmbiguousMultiname=En reference med flere navne kan ikke fortolkes entydigt. ${qName1} (fra ${source1}) og ${qName2} (fra ${source2}) er tilg\u00e6ngelig.
CompilerAPI.SWFEncoding=SWF-kodning...
CompilerAPI.PersistingCompilationUnits=Bevarer ${count} kompileringsenheder...
CompilerAPI.FailedToMatchCacheFile=Kompileringsm\u00e5let kunne ikke matches med ${cacheName}. Cachefilen bliver ikke brugt igen.
CompilerAPI.LoadingCompilationUnits=Indl\u00e6ser ${count} kompileringsenheder...
CompilerAPI.ChannelDefinitionNotFound=Kanaldefinitionen ${clientType} findes ikke.
CompilerAPI.TooManyErrors=Der er fundet for mange fejl!
CompilerAPI.ForcedToStop=Kompileringsprogrammet er standset.
CompilerAPI.UnableToWriteSizeReport=St\u00f8rrelsesrapporten kan ikke skrives til ${fileName}.
CompilerAPI.UnableToResolveClass=En klasse for ${type} kan ikke fortolkes: ${className}.
CompilerAPI.UnableToResolveResourceBundle=Ressourcebundle "${bundleName}" kan ikke fortolkes.
CompilerAPI.UnableToResolveResourceBundleForLocale=Ressourcebundle "${bundleName}" kan ikke fortolkes for landestandarden "${locale}".
CompilerAPI.UnableToResolveNeededClass=En n\u00f8dvendig klasse kan ikke fortolkes: ${className}.
CompilerAPI.BatchTime=Kompilerer ${sourceName}, fase ${phase}...
CompilerAPI.CompileTime=Kompilereringsfase ${phase}\u2026
CompilerAPI.NoCompilerFound=Der blev ikke fundet et kompileringsprogram til '${sourceName}'.
CompilerException=Der er opst\u00e5et fejl under kompileringen...
CompilerSwcContext.Loaded = ${loaded} biblioteker er indl\u00e6st...
FileSpec.UnsupportedFileType=Ikke-underst\u00f8ttet filtype: ${name}
SourceList.UnsupportedFileType=Ikke-underst\u00f8ttet filtype: ${name}
SourceList.FileNotInSourcePath=${name} skal v\u00e6re i kildestien.
PersistenceStore.ObsoleteCacheFileFormat=Der er fundet et for\u00e6ldet cachefilformat. Cachefilen bliver ikke brugt igen.
PersistenceStore.NoFileSpec=Der findes FileSpec-baserede kompileringsdata, men der er ikke angivet nogen FileSpec.
PersistenceStore.NoSourceList=Der findes SourceList-baserede kompileringsdata, men der er ikke angivet nogen SourceList.
PersistenceStore.NoSourcePath=Der findes SourcePath-baserede kompileringsdata, men der er ikke angivet nogen SourcePath.
PersistenceStore.NoResourceBundlePath=Der findes ResourceBundlePath-baserede kompileringsdata, men der er ikke angivet nogen ResourceBundlePath.
PersistenceStore.NoResourceContainer=Der findes ResourceContainer-baserede kompileringsdata, men der er ikke angivet nogen ResourceContainer.
SourcePathBase.ClasspathOverlap=Kildestien '${cpath}' er en undermappe i kildestien '${directory}'.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} og ${file2} m\u00e5 ikke v\u00e6re i samme mappe.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=Skabelonen '${template}' kan ikke indl\u00e6ses
mxml.ImplementationCompiler.CodeGenerationException=Der er opst\u00e5et en undtagelse ved oprettelse ud fra ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=Der er fundet et MXML-navneomr\u00e5de, der ikke underst\u00f8ttes ('${namespace1}'). Brug MXML-navneomr\u00e5det '${namespace2}' til MXML 2-kildekode.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Der er fundet et ugyldigt tegn eller m\u00e6rke. Pr\u00f8v at inds\u00e6tte koden i en CDATA-blok.
mxml.InterfaceCompiler.WhitespaceBeforePI=Mellemrum er ikke tilladt foran en XML-procesinstruktion (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier='${id}' er ikke et gyldigt id.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=Identifikatoren '${id}' er brugt mere end \u00e9n gang.
mxml.InterfaceCompiler.IdentifierMatchesClassName='${name}': Identifikatoren og klassen har m\u00e5ske ikke samme navn.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=Klassenavnet skal v\u00e6re et gyldigt ActionScript-id.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=Klassenavnet er angivet mere end \u00e9n gang i dokumentet.
mxml.InterfaceCompiler.InlineComponentInternalError=Der er opst\u00e5et en intern fejl ved behandling af indbygget komponent.
mxml.InterfaceCompiler.BaseClassNotFound=Den angivne basisklasse '${baseClassName}' for komponentklassen '${className}' blev ikke fundet.
mxml.InterfaceCompiler.InvalidComponentName=Ugyldigt komponentnavn '${name}': Komponentnavnet skal v\u00e6re et gyldigt ActionScript-klassenavn.
mxml.InterfaceCompiler.InvalidToken=Fortolkningsfejl: '${child}' m\u00e5 ikke f\u00f8lge efter '${parent}'.
mxml.InterfaceCompiler.MissingEndTag=Elementtypen '${tag}' skal afsluttes med den tilh\u00f8rende slutkode '${endTag}'.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=M\u00e6rket i dokumentet efter rodelementet skal have korrekt format.
mxml.InterfaceCompiler.StateNameRequired='name' is a required attribute for the State tag.
mxml.InterfaceCompiler.VectorTypeRequired='type' er en p\u00e5kr\u00e6vet attribut for koden Vector.
mxml.InvalidStateAttributeUsage=Attributterne includeIn og excludeFrom er ikke tilladt for MXML-sprogkoden '${name}'.
mxml.InvalidStateSpecificValue=Der kan ikke specificeres en tilstandsspecifik v\u00e6rdi for MXML-sprogattributten '${name}'.

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Ugyldig ClassReference-instruktion i ressourcebundle. Den skal indeholde en enkelt strengparameter.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc} version ${swcVer} er ikke kompatibel med version ${compilerVer} af kompileringsprogrammet.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=${file} kunne ikke oprettes: ${message}
asdoc.AsDocAPI.UnknownOS=Ukendt operativsystem for ASDoc. ASDoc kan kun k\u00f8re under Windows og Mac OS X.
asdoc.AsDocAPI.NotFound=F\u00f8lgende ${property} blev ikke fundet: ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} er afh\u00e6ngig af:
