################################################################################
##
##  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=Laster inn konfigurasjonsfilen ${file}

CommandLineHelp=Bruk ${program} -help for \u00e5 f\u00e5 informasjon om bruk av kommandolinjen.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Ugyldig komponentnavn "${name}": komponentnavnet m\u00e5 v\u00e6re gyldig ActionScript-klassenavn.
css.CssCompiler.StyleSheetParseError=Feil ved analysering av stilark: ${stylePath}
css.ConditionTypeNotSupported=Betingelsestype for CSS-velger st\u00f8ttes ikke: ${condition}
css.SelectorTypeNotSupported=CSS-velgertype st\u00f8ttes ikke: ${selector}
css.UnresolvedQualifiedTypeSelector=Kan ikke l\u00f8se navneomr\u00e5dekvalifisert type ${type} i CSS-velgeren ${selector}
css.UnqualifiedTypeSelector=Typen ${type} i CSS-velgeren ${selector} m\u00e5 kvalifiseres med et navneomr\u00e5de.
css.StyleDef.InvalidReference=Ugyldig ${type}-referansedirektiv i stilark. Det m\u00e5 inneholde \u00e9n enkel strengparameter.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() kan kun brukes i dokumentsammenheng.
css.StylesContainer.ParseError=Problem ved analysering av standard CSS: ${message}.
css.StylesContainer.DefaultCSSFileNotFound=Finner ikke standard CSS-fil.
css.StylesContainer.ExcludedStyleProperty=Stilen ${stylePropertyName} utelates av typen ${typeName}.
css.StylesContainer.InvalidPropertyReference=${value} er ikke en referanse til en dokumentegenskap.
css.StylesContainer.InvalidStyleProperty=Stilen ${stylePropertyName} ble ikke deklarert av typen ${typeName}.
css.StylesContainer.InvalidStyleTheme=Stilen ${stylePropertyName} st\u00f8ttes kun av typen ${typeName} med f\u00f8lgende tema(er): ${styleThemes}.
css.StylesContainer.UnusedTypeSelector=CSS-typevelgeren ${styleName} ble ikke behandlet, fordi typen ikke ble brukt i programmet.
css.StylesContainer.ComponentTypeSelectorsNotSupported=CSS-typevelgere st\u00f8ttes ikke i komponentene: ${selector}
css.StyleConflictException=Deklarasjon av stil ${style} er i konflikt med tidligere deklarasjon i ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension=${source} har ikke en kjent filtype, og en mimeType ble ikke angitt
TranscoderException.NoMatchingTranscoder=ingen omkoding registrert for mimeType ${mimeType}
TranscoderException.NoAssociatedClass=ingen klasse tilknyttet ${tag} ved bruk av ${transcoder}
media.AbstractTranscoder.UnsupportedAttribute=omkodingsparameteren ${attribute} st\u00f8ttes ikke av ${className}
media.AbstractTranscoder.UnableToResolve=kan ikke l\u00f8se ${source} for omkoding
media.AbstractTranscoder.NetworkTranscodingSource=nettverksressursen ${url} kan ikke bygges inn under kompilering, bruk en lokal fil eller last inn ressursen under kj\u00f8retid
media.AbstractTranscoder.MissingSource=ingen kilde angitt som skal omkodes
media.AbstractTranscoder.TemplateException=kan ikke laste inn malen ${template}
media.AbstractTranscoder.UnableToGenerateSource=kan ikke generere kilde for klassen ${className}
media.AbstractTranscoder.UnableToReadSource=kan ikke lese omkodingskilden ${source}
media.AbstractTranscoder.ExceptionWhileTranscoding=unntak under omkoding: ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen=${source} resulterer i generert kode, kan ikke bruke eksisterende klasse ${className}
media.AbstractTranscoder.IncompatibleTranscoderParameters=omkodingsparametere ${param1} og ${param2} er inkompatible

media.FontTranscoder.BadParameters=omkoding av skrift krever at du angir fontName og source, systemFont eller sourceList
media.FontTranscoder.BadFlashType=flashType m\u00e5 v\u00e6re true eller false.
media.FontTranscoder.BadAdvancedAntiAliasing=advancedAntiAliasing m\u00e5 v\u00e6re true eller false.
media.FontTranscoder.InvalidUnicodeRangeException=ugyldig Unicode-omr\u00e5de ${range}
media.FontTranscoder.UnableToBuildFont=kan ikke bygge skriften ${fontName}
media.FontTranscoder.UnableToExtrace=kan ikke trekke ut skriften ${fileName}
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=den innebygde skriften ${alias} kan v\u00e6re en skygge av en enhetsskrift med samme navn. Bruk fontName for \u00e5 gi skriften et annet navn
media.LosslessImageTranscoder.InvalidQuality=Kvaliteten m\u00e5 v\u00e6re en dublett mellom 0 og 100. 
media.LosslessImageTranscoder.QualityRequiresCompression=Kvalitet krever at komprimering=true.
media.ImageTranscoder.ScalingGridException=skaleringsrutenettet m\u00e5 ha alle fire hj\u00f8rner definert
media.MovieTranscoder.MissingSymbolDefinition=finner ikke definisjon for symbol '${symbol}' not found
media.MovieTranscoder.MissingFontFace=finner ikke skriften ${fontName} med ${weight} tykkelse og ${style} stil
media.MovieTranscoder.UnableToBuildRootSprite=kan ikke bygge rotdefinisjon for Sprite
media.MovieTranscoder.BadScalingGridTarget=kan ikke bruke skaleringsrutenett p\u00e5 ressurstypen ${resourceType}
media.MovieTranscoder.ScalingGridRange=rutenettverdier for skalering m\u00e5 v\u00e6re st\u00f8rre enn null, den venstre verdien m\u00e5 v\u00e6re mindre enn den h\u00f8yre verdien, og den \u00f8verste verdien m\u00e5 v\u00e6re mindre enn den nederste verdien
media.MovieTranscoder.ScalingGridAlreadyDefined=SWF-aktiva har allerede et skaleringsrutenett
media.MovieTranscoder.IgnoringAS2=ignorerer AS2-code i ${symbol}, Flex 2-programmer st\u00f8tter bare AS3
media.SkinTranscoder.SkinClassNotFound=finner ikke klasse for skall ${className}
media.SoundTranscoder.UnsupportedSamplingRate=samplingsfrekvens som ikke st\u00f8ttes (${frequency}Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=kan ikke fastsette antall pr\u00f8verammer
media.SoundTranscoder.NotInMP3Format=lydfilen ble ikke gjenkjent som MP3.
media.SVGTranscoder.Deprecated=SVG-bruk er blitt avskrevet siden Flex 4. Bruk FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Ingen bytekode er tilgjengelig.
abc.AbcCompiler.BytecodeDecodingFailed=dekoding av abc-bytekode mislyktes.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=Kan ikke omkode ${what}.
as3.EmbedEvaluator.UnableToCreateSource=Kan ikke opprette kilden ${name}.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=Embed st\u00f8tter bare klasser med variabler av typen Class eller String.
as3.EmbedEvaluator.InvalidEmbedVariable=En Embed-variabel kan ikke ha en eksisterende verdi.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=Embed st\u00f8ttes bare p\u00e5 klasser og medlemsvariabler.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} er avskrevet siden ${since}. Bruk ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=Klassen ${assetClass} utvider ikke aktivaen ${assetType} for grunnklassen ${requiredBase}.
as3.EmbedExtension.NonPublicAssetClass=Class ${assetClass} m\u00e5 v\u00e6re offentlig for \u00e5 kunne bruke tilknyttet aktivum.
as3.HostComponentExtension.HostComponentClassNotFound=Finner ikke [HostComponent]-klassen ${className}.
as3.HostComponentExtension.MissingSkinPart=P\u00e5krevd skalldel ${skinPartName} mangler.
as3.HostComponentExtension.MissingSkinPartWarning=P\u00e5krevd skalldel ${skinPartName} mangler.
as3.HostComponentExtension.MissingSkinState=P\u00e5krevd skalltilstand ${skinStateName} mangler.
as3.HostComponentExtension.WrongSkinPartType=Skalldeltypen ${skinPartTypeName} m\u00e5 kunne tildeles ${hostSkinPartTypeName}.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Metadata krever en tilknyttet definisjon.
as3.MetaDataParser.InvalidMetadataFormatError=Ugyldig metadataformat.
as3.MetaDataParser.InvalidMetadataFormatWarning=Ugyldig metadataformat.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Bare metadata er tillatt.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=IconFile-metadata b\u00f8r ikke angis mer enn \u00e9n gang i en fil. Angi som b\u00e5de ${icon} og ${val} i ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=[AccessibilityClass] m\u00e5 definere en implementeringsegenskap som angir et typenavn.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] m\u00e5 angi et typenavn.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Dupliserte deklarasjoner for skalltilstand ${name}.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=Kun \u00e9n [HostComponent] er tillatt.
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] m\u00e5 angi et typenavn.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] m\u00e5 angi et typenavn.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] m\u00e5 angi et egenskapsnavn.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Finner flere konstrukt\u00f8rdefinisjoner. Konstrukt\u00f8r kan ikke defineres i <Script/>-kode.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=ResourceBundle-metadata st\u00f8ttes bare p\u00e5 variabler.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=ResourceBundle-metadata m\u00e5 angi et buntnavn.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Dupliserte ${metaData}-metadata p\u00e5 ${declaringClass}s ${setter} getter og setter.
as3.SyntaxTreeEvaluator.NotResourceBundleType=En ResourceBundle-variabel m\u00e5 angis som mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Skalldeler m\u00e5 v\u00e6re offentlige.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=ResourceBundle-metadata p\u00e5 variabelniv\u00e5 er avskrevet.  Bruk ResourceBundle-metadata p\u00e5 klasseniv\u00e5.
as3.StyleEvaluator.StyleMustAnnotateAClass=[Style] m\u00e5 kommentere en klasse.
as3.StyleEvaluator.StyleHasMissingName=[Style]-metadata mangler name.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=[Managed] klasser er automatisk [Bindable] \u2013 metadata ignoreres.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Egenskaper av en [Managed] klasse er automatisk [Bindable] \u2013 metadata ignoreres.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=Klasse allerede merket [Bindable]; [Bindable] p\u00e5 egenskapsniv\u00e5 er overfl\u00f8dig og vil bli ignorert.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=[Bindable] krever en hendelsesnavnparameter n\u00e5r den brukes p\u00e5 en funksjon som ikke er en getter eller setter.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] er ikke tillatt inni funksjonsdefinisjon.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] ikke tillatt her.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] ikke tillatt p\u00e5 globale variabler eller pakkevariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] ikke tillatt p\u00e5 const-medlemsvariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] ikke tillatt p\u00e5 statiske medlemsvariabler.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=[Bindable] ikke tillatt p\u00e5 ikke-offentlige medlemsvariabler i denne konteksten.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] ikke tillatt p\u00e5 globale funksjoner eller funksjoner p\u00e5 pakkeniv\u00e5.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=[Bindable] ikke tillatt p\u00e5 ikke-offentlige funksjoner i denne konteksten.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=Hendelsesnavnet er ikke en gyldig ActionScript-identifikator.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=[Bindable] p\u00e5 ${getter} getter krever en lokalt definert setter.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=Databinding vil ikke kunne oppdage tilordninger til ${name}.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=Databinding vil ikke kunne oppdage endringer ved bruk av klammeparentesoperator. For Array brukes ArrayCollection.getItemAt() i stedet.


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] p\u00e5 skrivebeskyttet getter er un\u00f8dvendig og vil bli ignorert.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=[Bindable] p\u00e5 lesebeskyttet setter er utilgjengelig og vil bli ignorert.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=Implementering av grensesnitt ${interfaceName} kan ikke legges til klassen ${className} p\u00e5 grunn av konflikt med eksisterende metode eller egenskap ${methodName}.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=Kan ikke laste inn malen ${templateName}
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Intern feil: unntak under generering fra malen ${templateName} for klassen ${className]: ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Ugyldig modus ${mode} ble angitt i [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] m\u00e5 ha 'uid' som type 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=[Managed] moduskonflikt.
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=[Managed] kan bare brukes p\u00e5 klassedefinisjoner, eller p\u00e5 egenskaper i [Managed]-klasser.
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=[Managed] ble angitt p\u00e5 klassen ${className} med en m\u00e5legenskap, men tjenestefil ble ikke konfigurert. Forsinkede tilknytninger vil ikke bli opprettholdt.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] kan ikke brukes p\u00e5 mxml-komponenter.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Ugyldig komponentnavn \u00ab${name}\u00bb: komponentnavnet m\u00e5 v\u00e6re et gyldig ActionScript-klassenavn.
fxg.FXGCompiler.FXGParseException=FXG-analyseunntak
fxg.FXGCompiler.SourceGenerationException=FXG-kildegenereringsunntak

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=Det kan hende foresp\u00f8rsel ikke har attributter.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=Metode krever et navneattributt.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Det kan hende argumenter ikke har attributter.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=Operasjon krever et navneattributt.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=Det kan hende foresp\u00f8rsel bare har format-attributter.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Ignorerer innebygd stilark fordi en kildefil ble definert.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=Databindinguttrykk st\u00f8ttes ikke med attributter behandlet under kompilering.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Problemer med \u00e5 finne eksternt stilark: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=Kode m\u00e5 v\u00e6re tom hvis kildeattributt angis.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Problemer med \u00e5 finne ekstern modell: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=Ekstern modell inneholder bare skal\u00e6rt innhold \u2013 dette st\u00f8ttes ikke for \u00f8yeblikket.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Ignorerer innebygd skript fordi en kildefil ble angitt.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Ignorerer innebygd XML fordi en kildefil ble angitt.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Problemer med \u00e5 finne ekstern XML: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=Binding m\u00e5 ha en gyldig kilde.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=Binding m\u00e5 ha et gyldig m\u00e5l.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=Bindingskilde og -m\u00e5l kan ikke v\u00e6re like.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Ukjent attributt: ${qname} p\u00e5 ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Problemer med \u00e5 finne ekstern fil: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Ignorerer innebygd streng fordi en kildefil ble definert.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Problemer med \u00e5 finne ekstern fil: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Problemer med \u00e5 analysere ekstern XML: ${name} - (line ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Problemer med \u00e5 analysere ekstern XML: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Problemer med \u00e5 analysere ekstern XML: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Finner ikke fil: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Problemer med \u00e5 analysere ekstern ren tekst: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Feil ved analysering av stilark: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=M\u00e5 definere en innebygd komponent.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=En definisjon m\u00e5 ha et navneattributt.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=Definisjonen "${name}" m\u00e5 ha n\u00f8yaktig ett underordnet element.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=Bibliotekskode m\u00e5 v\u00e6re den f\u00f8rste underordnede av rotkoden til et dokument.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=Privatkode m\u00e5 v\u00e6re den siste underordnede av rotkoden til et dokument.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Tilordning av ny overordnet m\u00e5 ha definert et m\u00e5lattributt.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Tilordning av ny overordnet m\u00e5 ha definert enten includeIn eller excludeFrom.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Det kan hende elementet ikke innholder b\u00e5de bindingsuttrykk og attributtinitialisering.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=Ignorerer ${image} CDATA fordi det finnes andre XML-elementer...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=Kan ikke ha en kode merket "Object" inni modeller eller tjenester.
mxml.builder.DocumentBuilder.MissingAttribute=Mangler ${attribute}-attributt.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError="${image}" m\u00e5 v\u00e6re underordnet rotkoden.
mxml.builder.DocumentBuilder.NestedDeclaration=Deklarasjonen ${declaration} m\u00e5 v\u00e6re i koden <Declarations>, da den ikke implementerer ${targetType}.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=Deklarasjonen ${declaration} m\u00e5 v\u00e6re i koden <Declarations>, da den ikke kan tilordnes standardegenskapens type, ${targetType}, eller elementtype, ${targetElementType}.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=Deklarasjonen ${declaration} m\u00e5 v\u00e6re i koden <Declarations>, da den ikke kan tilordnes standardegenskapens elementtype, ${targetElementType}.
mxml.builder.DocumentBuilder.DefaultPropertyError=Standard egenskap st\u00f8ttes ikke p\u00e5 rotkode.
mxml.builder.DocumentBuilder.ThemeAttributeError=Angi temaet gjennom konfigurasjonsalternativene for kompilatoren. "theme"-attributtet st\u00f8ttes ikke lenger i MXML-dokumenter.
mxml.builder.DocumentBuilder.RslAttributeError=Angi bibliotek som deles under kj\u00f8ring i konfigurasjonsalternativene for kompilatoren. "rsl"-attributtet st\u00f8ttes ikke lenger i MXML-dokumenter.
mxml.builder.DocumentBuilder.LibAttributeError=Angi bibliotek gjennom konfigurasjonsalternativene for kompilatoren. lib-attributtet st\u00f8ttes ikke lenger i MXML-dokumenter.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed ikke tillatt her.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear ikke tillatt her.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Ugyldig klassenavn "${className}" angitt for "preloader"-attributt.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Ugyldig klassenavn ${className} angitt for splashScreenImage-attributt.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Ugyldig klassenavn "${className}" angitt for "runtimeDPIProvider"-attributt.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=id-attributt er ikke tillatt i rotkoden for en komponent.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=Attributtene includeIn og excludeFrom kan ikke brukes p\u00e5 rotkoden til en komponent.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=Attributtene includeIn og excludeFrom kan ikke brukes p\u00e5 direkte underordnede til koden <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=Attributtene itemCreationPolicy og itemDestructionPolicy kan ikke brukes p\u00e5 rotkoden til en komponent.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=Attributtene itemCreationPolicy og itemDestructionPolicy kan ikke brukes p\u00e5 direkte underordnede til koden <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} st\u00f8ttes ikke for \u00f8yeblikket som Array-element.
mxml.builder.ArrayBuilder.UnknownNode=${image} ikke tillatt her.
mxml.builder.AbstractBuilder.AtClearNotAllowed=@Clear-direktivet kan kun brukes for tilstandsbestemte stilegenskaper.
mxml.builder.AbstractBuilder.BindingNotAllowed=Databindingsuttrykk er ikke tillatt her.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Initialisering for "${desc}": databindingsuttrykk er ikke tillatt her.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=Innebygd toveis databindingsuttrykk er ikke tillatt her.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Initialisering for "${desc}": Toveis databindingsuttrykk er ikke tillatt her.
mxml.builder.AbstractBuilder.ClearNotAllowed=@Clear kan bare brukes med tilstandsbestemte egenskaper.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Initialisering for "${desc}": @ContextRoot kan ikke brukes med typen ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Udefinert kontekstrot.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Initialisering for "${desc}": @Embed kan ikke brukes med typen ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Initialisering for "${desc}": kan ikke analysere verdi for type ${type}${array} fra tekst "${text}".
mxml.builder.AbstractBuilder.InvalidPercentage=Initialisering for "${desc}": ugyldig prosentuttrykk: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Initialisering for "${desc}": ugyldig toveis bindende uttrykk: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Ugyldig toveis bindende uttrykk: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Initialisering for "${desc}": Verdier av typen ${type} kan ikke representeres som tekst.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Initialisering for "${desc}": Prosentdeler er ikke tillatt her.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Initialisering for "${desc}": ukjent direktiv under kompilering.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] p\u00e5 egenskapen "${property}" navngir ikke en tilgjengelig egenskap i klassen "${type}".
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Flere initialiseringer for egenskapen "${name}".
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Flere initialiseringer for egenskapen "${name}". (Obs! "${name}" er standardegenskapen for "${type}").
mxml.builder.AbstractBuilder.EventTypeUnavailable=Hendelsestype "${type}" er utilgjengelig.
mxml.builder.AbstractBuilder.EventHandlerEmpty=Hendelsesbehandling er tom.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Flere initialiseringer for stilen "${name}".
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Flere initialiseringer for effekten "${name}".
mxml.builder.AbstractBuilder.ClassNotAvailable=Klassen "${className}" er ikke tilgjengelig.
mxml.builder.AbstractBuilder.TypeNotAvailable=Standard MXML-type "${type}" er ikke tilgjengelig.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=${type} kan ikke tilordnes standardegenskapen ${defaultProperty} av typen ${targetType}.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=I initialisering for ${lvalue}: Typen ${type} kan ikke tilordnes m\u00e5ltypen ${targetType}.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Flere initialiseringsverdier for standardegenskapen ${defaultProperty} av typen ${targetType}.
mxml.builder.AbstractBuilder.TypeNotMultiple=I initialisering for ${lvalue}: flere initialiseringsverdier for m\u00e5ltypen ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=I initialisering for ${lvalue}: Typen ${type} kan ikke tilordnes m\u00e5ltypen ${targetType} eller m\u00e5lelementtypen ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=I initialisering for ${lvalue}: Typen ${type} kan ikke tilordnes m\u00e5let ${targetType} elementtype ${targetElementType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=Initialisering for egenskapen "${name}" er ikke tillatt her.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Attributtene itemCreationPolicy og itemDestructionPolicy m\u00e5 f\u00f8lge med et av attributtene includeIn eller excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Ugyldig verdi for attributtet itemCreationPolicy. 
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=itemDestructionPolicy m\u00e5 f\u00f8lge med et av attributtene includeIn eller excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Ugyldig verdi for attributtet itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=Egenskapen "${name}" er skrivebeskyttet.
mxml.builder.AbstractBuilder.PropertyUnreachable=Intern feil: Type for egenskapen "{name}" er utilgjengelig.
mxml.builder.AbstractBuilder.StyleUnreachable=Intern feil: Type for stilen {name} er utilgjengelig.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Ugyldig verdi: ${value}. Den m\u00e5 v\u00e6re en av ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=Flash Player st\u00f8tter ikke innlasting av SVG under kj\u00f8ring. Hvis du vil bygge inn SVG, kan du bruke @Embed()-funksjonen under kompilering.
mxml.builder.AbstractBuilder.EmptyChildInitializer=Initialisering av underordnet kode for typen "${type}" kan 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 avskrevet.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement="${name}" er avskrevet. Bruk "${replacement}".
mxml.builder.AbstractBuilder.DeprecatedSince="${name}" er avskrevet siden ${since}. Bruk "${replacement}".
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement="${name}" er avskrevet siden ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=Stilen ${stylePropertyName} utelates av typen ${typeName}.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=Stilen ${stylePropertyName} st\u00f8ttes kun av typen ${typeName} med f\u00f8lgende tema(er): ${styleThemes}.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=Stilen ${stylePropertyName} st\u00f8ttes kun av typen ${typeName} med f\u00f8lgende tema(er): ${styleThemes}.
mxml.builder.ComponentBuilder.UnknownNamespace=Ukjent navneomr\u00e5de ${namespace} i attributt ${text} (bare standard attributtnavneomr\u00e5der st\u00f8ttes).
mxml.builder.ComponentBuilder.UnknownAttribute=Kan ikke l\u00f8se attributt ${name} for komponenttype ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=Kan ikke l\u00f8se attributtet "${localPart}" i navneomr\u00e5det "${namespace}" for komponenttypen ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Underordnede elementer for '${parentTypeName}' som er standard egenskapsverdi for '${propertyName}' m\u00e5 v\u00e6re sammenhengende.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Komponentdeklarasjoner er ikke tillatt her. (Obs! visuelle underordnede m\u00e5 implementere ${interfaceName})
mxml.builder.ComponentBuilder.NestedDeclaration=Komponentdeklarasjoner er ikke tillatt her.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=${type} er en grunnleggende grafisk enhet som b\u00f8r v\u00e6re en del av en gruppe for \u00e5 kunne legges til ${parentType}.
mxml.builder.ComponentBuilder.MixedContent=Blandet innhold er ikke tillatt her.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Komponent kan ikke ha b\u00e5de tekstinitialisering og attributter.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} er ikke tillatt her.
mxml.builder.ComponentBuilder.MixedInitializers=B\u00e5de tekst- og ikke-tekstinitialisering ble angitt.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Tilstandsoverstyring kan ikke lenger deklareres eksplisitt. Syntaksen for eldre tilstander er avskrevet.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Underordnede av Halo-navigat\u00f8rer m\u00e5 implementere INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Gjentakere krever overordnede som er Halo-beholderbasert.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=Tilstandsbestemt egenskapssyntaks '${name}' st\u00f8ttes ikke for MXML-spr\u00e5kversjoner fra f\u00f8r 2009.
mxml.builder.ModelBuilder.ClassNotFound=Finner ikke ${className}-klassen.
mxml.builder.ModelBuilder.OnlyOneRootTag=Bare \u00e9n rotkode er tillatt.
mxml.builder.ModelBuilder.OnlyScalarError=Modell ${id} inneholder bare skal\u00e6rt innhold \u2013 dette st\u00f8ttes ikke for \u00f8yeblikket.
mxml.builder.PrimitiveBuilder.InitializerRequired=Initialiseringsverdi kreves her.
mxml.builder.XMLBuilder.OnlyOneRootTag=Bare \u00e9n rotkode er tillatt.
mxml.builder.XMLBuilder.MixedContent=Blandet innhold er ikke tillatt her.
mxml.builder.XMLBuilder.RequireXMLContent=XML-innhold er obligatorisk.
mxml.builder.XMLListBuilder.RequireXMLContent=XML-innhold er obligatorisk.
mxml.builder.VectorBuilder.WrongElementType=Elementer i denne vektoren m\u00e5 kunne tildeles ${elementTypeName}.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=Kan ikke l\u00f8se ${tag} til en komponentimplementering.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Blandet innhold er ikke tillatt her.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Underordnede elementer er ikke tillatt her.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Bare ett spr\u00e5knavneomr\u00e5de kan angis per dokument. Fant "${ns1}" og "${ns2}".
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=Linjenummerst\u00f8tte for XML-kodeattributter er ikke tilgjengelig. Det er mulig at MXML-feilrapportering under kompilering og komponentfeils\u00f8king ikke gir riktige linjenumre. Kontroller at xercesPatch.jar er i klassebanen.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Uventet slutt p\u00e5 spesialtegnflyt. Det siste spesialtegnet var: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Uventet slutt p\u00e5 SAX-hendelsesflyt. Den siste hendelsen var: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Fant en uventet behandlingsinstruks, denne blir ignorert. Fant: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: Finner ikke typen ${elementTypeName}.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): Typen ${instanceTypeName} er utilgjengelig.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Ugyldig innbyggingsdirektiv i stilark \u2013 kan ikke l\u00f8se kilden ${source}.
mxml.rep.AtEmbed.NoEmbedParams=Ingen parametere angitt for @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=Kildeattributt st\u00f8ttes ikke med skinClass.
mxml.rep.AtResource.NoResourceParams=Ingen parametere angitt for @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Ingen n\u00f8kkelparameter angitt for @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Ingen buntparameter angitt for @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=Kan ikke l\u00f8se MXML-spr\u00e5kversjon. Angi spr\u00e5knavneomr\u00e5de p\u00e5 rotdokumentkoden.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=Identifikatoren "${name}" er brukt for b\u00e5de en tilstandsgruppe og en tilstand.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=N\u00f8kkelordene includeIn og excludeFrom kan ikke spesifiseres samtidig.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Pr\u00f8ver \u00e5 initialisere ikke-offentlig arvet egenskap ${name} fra MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Pr\u00f8ver \u00e5 initialisere skrivebeskyttet arvet egenskap ${name} fra MXML.
mxml.rep.MxmlDocument.StateResolutionError=Tilstanden "${name}" ble referert til uten at den ble deklarert.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Pr\u00f8ver \u00e5 initialisere arvet egenskap ${name} av typen ${propertyType} med verdien til den inkompatible typen ${valueType}.
mxml.rep.StatesModel.ConflictingReparentTags=Kan ikke tilordne det samme m\u00e5let "${target}" til overordnede p\u00e5 ulike steder i samme tilstand ("${name}").
mxml.rep.StatesModel.DuplicateState=Flere definisjoner for tilstand  ${state}.
mxml.rep.StatesModel.IncompatibleReparentType=Kan ikke tilordne m\u00e5let "${target}" til overordnet p\u00e5 angitt sted. Ikke-kompatibel type eller skal\u00e6r egenskap.
mxml.rep.StatesModel.IncompatibleStatefulNode=Skal\u00e6rverdinoder kan ikke v\u00e6re tilstandsbestemte.
mxml.rep.StatesModel.InvalidReparentState=Kan ikke tildele ny overordnet for m\u00e5let ${target}. Det finnes allerede i tilstanden (${name}).
mxml.rep.StatesModel.TargetResolutionError=Kan ikke l\u00f8se angitt m\u00e5l, "${name}", for tilordning av ny overordnet.
mxml.rep.StatesModel.MultipleInitializers=Flere initialiseringer for egenskapen "${name}" i tilstanden "${state}".
mxml.rep.StatesModel.IncompatibleState=Komponenten kan ikke realiseres i tilstanden "${state}" fordi en forgjenger er utelukket fra "${state}".
mxml.rep.StatesModel.CircularReparent=Fant sirkelreferanse i tilstanden "${state}" som skyldes en kode for tilordning av ny overordnet.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=Kan ikke generere initialiseringskode i Repeater p\u00e5 grunn av ID eller databinding p\u00e5 en komponent som ikke er en visuelt underordnet. 


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time} ms
util.Benchmark.BenchmarkTotalText=${message} ${time} ms total kj\u00f8retid: ${total} ms
util.Benchmark.BenchmarkID=${id}: ${duration} ms
util.Benchmark.TotalTime=Total tid: ${time} ms
util.Benchmark.MemoryUsage=Topp for bruk av minne: ${total} MB (Heap: ${heap}, Non-Heap: ${nonHeap})
util.AbstractLogger.Info=Informasjon
util.AbstractLogger.Warning=Advarsel
util.AbstractLogger.Error=Feil
util.AbstractLogger.col=kol
util.AbstractLogger.Recompile=Kompiler p\u00e5 nytt
util.AbstractLogger.Reason=\u00c5rsak
util.AbstractLogger.Updated=Oppdatert
util.ManifestParser.UndefinedClass=Manifest: Feil under innlasting av navneomr\u00e5det ${fileName}: ${line} Komponenten ${tag} har udefinert klasse.
util.ManifestParser.ManifestError=Manifest: Feil under innlasting av navneomr\u00e5det ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifest: Feil under innlasting av navneomr\u00e5det ${fileName}: ${line} Komponenten ${tag} kan ikke bruke * som den definerte klassen.
util.ManifestParser.DuplicateComponentDefinition=Manifest: Feil under innlasting av navneomr\u00e5det ${fileName}: ${line} Komponent ${tag} er definert mer enn \u00e9n gang i dette navneomr\u00e5det.
util.MD5Crypt.UnsupportedAlgorithm=MD5-kryptering: St\u00f8tter ikke algoritmen for passordkryptering.
util.XMLStringSerializer.IllegalXMLChar=Ugyldig XML-tegn
util.VelocityManager.InitializationError=Unntak under initialisering av hastighetsmotor: ${message}
util.VelocityManager.InvocationError=Metode ${className}.${methodName}: Aktiveringsunntak under kodegenerering: ${message}
util.VelocityManager.TemplateReferenceIsNull=Malreferansen ${s} er null.
util.VelocityManager.GetMethodNotFound=${template} linje ${line}, kolonne ${column}: Finner ikke Get-metode for ${identifier} i ${className}
util.VelocityManager.SetMethodNotFound=${template} linje ${line}, kolonne ${column}: Finner ikke Set-metode for ${identifier} i ${className}
util.LocalLogger.ErrMsgBug=Feilrapportering for Flex-kompilator
util.LocalLogger.GeneratedCodeMarker=Generert kode (bruk -keep for \u00e5 lagre)
util.LocalLogger.PathInfo=Bane: ${filepath}
util.LocalLogger.LineInfo=Linje: ${fileline}
util.LocalLogger.ColumnInfo=Kolonne: ${filecol}
util.LocalLogger.MessageInfo=Melding: ${filemsg}
util.LocalLogger.SourceInfo=Kilde: ${filesource}
util.LocalLogger.ErrorCodeInfo=Feilkode: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=stakksporing
util.VelocityException.UnableToWriteGeneratedFile=Kan ikke skrive den genererte filen (${fileName}): ${message}.
util.VelocityException.TemplateNotFound=Kan ikke laste inn malen ${template}.
util.VelocityException.GenerateException=Det oppstod et unntak under generering fra ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=Kodingen for den angitte strengen er ugyldig: ${string}
util.OrderedProperties.RemovedFromProperty=En egenskap kan ikke inneholde ${string}, og ble fjernet fra ${property}


# flex2.compiler
CompilerAPI.UnableToSetHeadless=Kan ikke angi java.awt.headless p\u00e5 grunn av et sikkerhetsunntak. Angi det manuelt via kommandolinjen.
CompilerAPI.IncompatibleSWCArchive=Swc-arkivet ${swc} er inkompatibelt med denne kompilatoren.
CompilerAPI.OutputTime=Filer: ${size} Tid:
CompilerAPI.NotFullyCompiled=Kildefilen ble ikke fullstendig kompilert.
CompilerAPI.SourceNoLongerExists=Kildefilen finnes ikke lenger.
CompilerAPI.SourceFileUpdated=Kildefilen eller en av de inkluderte filene er oppdatert.
CompilerAPI.AssetUpdated=Ett av aktivaene er oppdatert.
CompilerAPI.SwcDefinitionObsoleted=Definisjonen er foreldet av ${newLocation}.
CompilerAPI.DependencyUpdated=Avhengigheten ${dependency} er oppdatert.
CompilerAPI.DependencyNotCached=Avhengigheten ${dependency} er ikke bufret.
CompilerAPI.NotSourcePathFirstPreference=Kildefilen er ikke lenger kildebanens f\u00f8rste preferanse.
CompilerAPI.DependentFileNoLongerExists=Den avhengige filen, ${location}, finnes ikke lenger.
CompilerAPI.InvalidImportStatement=Importsetningen, ${defName}, er ikke lenger gyldig.
CompilerAPI.DependentFileModified=Den avhengige filen, ${location}, er oppdatert.
CompilerAPI.MultiNameMeaningChanged=Betydningen av multinavnet ${multiName} er endret fra "${qName}" til noe annet.
CompilerAPI.FilesChangedAffected=Filer endret: ${updateCount} Filer p\u00e5virket: ${count}
CompilerAPI.MoreThanOneDefinition=En fil funnet i en kildebane kan ikke ha mer enn \u00e9n eksternt synlig definisjon. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=En fil funnet i en kildebane m\u00e5 ha en eksternt synlig definisjon. Hvis en definisjon i filen er ment \u00e5 v\u00e6re eksternt synlig, m\u00e5 du plassere definisjonen i en pakke.
CompilerAPI.WrongPackageName=En fil funnet i en kildebane m\u00e5 ha samme pakkestruktur, "${pathPackage}", som pakken for definisjonen, "${defPackage}".
CompilerAPI.WrongDefinitionName=En fil funnet i en kildebane "${pathName}" m\u00e5 ha det samme navnet som klassedefinisjonen inni filen "${defName}".
CompilerAPI.CircularInheritance=Definisjonen er i sirkul\u00e6r arv.
CompilerAPI.UnableToResolveDependency=Kan ikke l\u00f8se avhengighet p\u00e5 ${localPart}.
CompilerAPI.AmbiguousMultiname=Kan ikke l\u00f8se en multinavnreferanse entydig. ${qName1} (fra ${source1}) og ${qName2} (fra ${source2}) er tilgjengelige.
CompilerAPI.SWFEncoding=Swf-koding...
CompilerAPI.PersistingCompilationUnits=Fastholder ${count} kompileringsenheter...
CompilerAPI.FailedToMatchCacheFile=Kompileringsm\u00e5l samsvarer ikke med ${cacheName}. Hurtigbufferfilen blir ikke brukt p\u00e5 nytt.
CompilerAPI.LoadingCompilationUnits=Laster inn ${count} kompileringsenheter...
CompilerAPI.ChannelDefinitionNotFound=Finner ikke kanaldefinisjonen ${clientType}.
CompilerAPI.TooManyErrors=Det oppsto for mange feil.
CompilerAPI.ForcedToStop=Kompilatoren ble bedt om \u00e5 stoppe.
CompilerAPI.UnableToWriteSizeReport=Kan ikke skrive st\u00f8rrelsesrapport til ${fileName}.
CompilerAPI.UnableToResolveClass=Kan ikke l\u00f8se en klasse for ${type}: ${className}.
CompilerAPI.UnableToResolveResourceBundle=Kan ikke l\u00f8se ressursbunt "${bundleName}".
CompilerAPI.UnableToResolveResourceBundleForLocale=Kan ikke l\u00f8se ressursbunt "${bundleName}" for lokal innstilling ${locale}.
CompilerAPI.UnableToResolveNeededClass=Kan ikke l\u00f8se n\u00f8dvendig klasse: ${className}.
CompilerAPI.BatchTime=Kompilerer ${sourceName}, fase ${phase} ...
CompilerAPI.CompileTime=Kompilerer fase ${phase} ...
CompilerAPI.NoCompilerFound=Ingen kompilator for "${sourceName}".
CompilerException=Det oppstod feil under kompilering...
CompilerSwcContext.Loaded = Innlastede ${loaded} bibliotek...
FileSpec.UnsupportedFileType=Filtypen st\u00f8ttes ikke: ${name}
SourceList.UnsupportedFileType=Filtypen st\u00f8ttes ikke: ${name}
SourceList.FileNotInSourcePath=${name} m\u00e5 v\u00e6re i kildebanen.
PersistenceStore.ObsoleteCacheFileFormat=Oppdaget foreldet filformat for hurtigbuffer. Hurtigbufferfilen vil ikke bli brukt p\u00e5 nytt.
PersistenceStore.NoFileSpec=FileSpec-baserte kompileringsdata finnes, men en FileSpec er ikke angitt.
PersistenceStore.NoSourceList=SourceList-baserte kompileringsdata finnes, men en SourceList er ikke angitt.
PersistenceStore.NoSourcePath=SourcePath-baserte kompileringsdata finnes, men en SourcePath er ikke angitt.
PersistenceStore.NoResourceBundlePath=ResourceBundlePath-baserte kompileringsdata finnes, men en ResourceBundlePath er ikke angitt.
PersistenceStore.NoResourceContainer=ResourceContainer-baserte kompileringsdata finnes, men en ResourceContainer er ikke angitt.
SourcePathBase.ClasspathOverlap=Kildebaneoppf\u00f8ringen, ${cpath}, er en underkatalog i kildebaneoppf\u00f8ringen, ${directory}.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} og ${file2} kan ikke finnes samtidig i samme katalog.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=kan ikke laste inn malen ${template}
mxml.ImplementationCompiler.CodeGenerationException=Det oppstod et unntak under generering fra ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=finner MXML-navneomr\u00e5de som ikke st\u00f8ttes (${namespace1}). Bruk MXML-navneomr\u00e5det ${namespace2} for MXML 2-kildekode.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Ugyldig tegn eller kode funnet. Pr\u00f8v \u00e5 omslutte koden med en CDATA-blokk.
mxml.InterfaceCompiler.WhitespaceBeforePI=Blanktegn er ikke tillatt f\u00f8r en behandlingsinstruksjon for XML (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier=${id} er ikke en gyldig identifikator.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=identifikator ${id} brukt mer enn \u00e9n gang.
mxml.InterfaceCompiler.IdentifierMatchesClassName=${name}: identifikator og klasse kan ikke ha samme navn.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=klassenavnet m\u00e5 v\u00e6re en gyldig ActionScript-identifikator.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=klassenavnet ble angitt mer enn \u00e9n gang i dokumentet.
mxml.InterfaceCompiler.InlineComponentInternalError=intern feil i behandling av innebygd komponent.
mxml.InterfaceCompiler.BaseClassNotFound=Finner ikke grunnklassen ${baseClassName} for komponentklassen ${className}.
mxml.InterfaceCompiler.InvalidComponentName=Ugyldig komponentnavn ${name}: komponentnavnet m\u00e5 v\u00e6re gyldig ActionScript-klassenavn.
mxml.InterfaceCompiler.InvalidToken=Analysefeil: "${child}" kan ikke f\u00f8lge "${parent}".
mxml.InterfaceCompiler.MissingEndTag=Elementtypen ${tag} m\u00e5 avsluttes av samsvarende sluttkode ${endTag}.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=Koden i dokumentet etter rotelementet m\u00e5 v\u00e6re korrekt utformet.
mxml.InterfaceCompiler.StateNameRequired="name" er et p\u00e5krevd attributt for koden State.
mxml.InterfaceCompiler.VectorTypeRequired=\u00abtype\u00bb er en p\u00e5krevd attributt for vektorkoden.
mxml.InvalidStateAttributeUsage=Attributtene includeIn og excludeFrom er ikke tillatt p\u00e5 MXML-spr\u00e5kkoden "${name}".
mxml.InvalidStateSpecificValue=Kan ikke spesifisere tilstandsbestemt verdi for MXML-spr\u00e5kattributtet "${name}".

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Ugyldig ClassReference-direktiv i ressursbunt. Det m\u00e5 inneholde en enkel String-parameter.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc} versjon ${swcVer} er inkompatibel med kompilatorversjon ${compilerVer}.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=Kan ikke opprette ${file}: ${message}
asdoc.AsDocAPI.UnknownOS=Ukjent operativsystem for ASDoc. ASDoc kan bare kj\u00f8res under Windows og Mac OS X.
asdoc.AsDocAPI.NotFound=Finner ikke f\u00f8lgende ${property}: ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} avhenger av:
