################################################################################
##
##  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=Caricamento del file di configurazione ${file}

CommandLineHelp=Per informazioni sull\u2019uso della riga di comando, selezionare '${program} -help'.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Nome "${name}" del componente non valido: \u00e8 necessario che tale nome sia conforme ai nomi di classe ActionScript.
css.CssCompiler.StyleSheetParseError=Errore durante l\u2019analisi del foglio di stile: ${stylePath}
css.ConditionTypeNotSupported=Tipo di condizione del selettore CSS non supportato: '${condition}'
css.SelectorTypeNotSupported=Tipo di selettore CSS non supportato: '${selector}'
css.UnresolvedQualifiedTypeSelector=Impossibile risolvere il tipo '${type}' qualificato con uno spazio di nome nel selettore CSS '${selector}'
css.UnqualifiedTypeSelector=Il tipo '${type}' nel selettore CSS '${selector}' deve essere qualificato con uno spazio di nome.
css.StyleDef.InvalidReference=Istruzione ${type}Reference non valida nel foglio di stile. Deve contenere un unico parametro String.
css.StyleDef.PropertyReferenceRequiresDocument=\u00c8 possibile utilizzare PropertyReference() solo nel contesto di un documento.
css.StylesContainer.ParseError=Problema durante l\u2019analisi del file CSS predefinito. ${message}.
css.StylesContainer.DefaultCSSFileNotFound=File CSS predefinito non trovato.
css.StylesContainer.ExcludedStyleProperty=Lo stile '${stylePropertyName}' \u00e8 escluso dal tipo '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} non \u00e8 un riferimento di propriet\u00e0 di documento.
css.StylesContainer.InvalidStyleProperty=Lo stile '${stylePropertyName}' non \u00e8 stato dichiarato dal tipo '${typeName}'.
css.StylesContainer.InvalidStyleTheme=Lo stile '${stylePropertyName}' \u00e8 supportato solo dal tipo '${typeName}' con il tema/i temi '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=Il selettore di tipo CSS '${styleName}' non \u00e8 stato elaborato perch\u00e9 tale tipo non viene utilizzato nell\u2019applicazione.
css.StylesContainer.ComponentTypeSelectorsNotSupported=I selettori di tipo CSS non sono supportati nei componenti '${selector}'
css.StyleConflictException=La dichiarazione di stile '${style}' \u00e8 in conflitto con la dichiarazione precedente in ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension='${source}' non presenta un\u2019estensione riconosciuta e non \u00e8 stato fornito alcun mimeType.
TranscoderException.NoMatchingTranscoder=per mimeType '${mimeType}' non \u00e8 registrato alcuno strumento di transcodifica
TranscoderException.NoAssociatedClass=durante l\u2019uso di ${transcoder}, a '${tag}' non \u00e8 associata alcuna classe
media.AbstractTranscoder.UnsupportedAttribute=il parametro di transcodifica '${attribute}' non \u00e8 supportato da '${className}'
media.AbstractTranscoder.UnableToResolve=impossibile risolvere '${source}' per la transcodifica
media.AbstractTranscoder.NetworkTranscodingSource=impossibile incorporare la risorsa di rete ${url} in fase di compilazione. Utilizzare un file locale o caricare tale risorsa in fase di esecuzione.
media.AbstractTranscoder.MissingSource=non \u00e8 disponibile alcuna origine da transcodificare
media.AbstractTranscoder.TemplateException=impossibile caricare il modello '${template}'
media.AbstractTranscoder.UnableToGenerateSource=impossibile generare l\u2019origine relativa alla classe '${className}'
media.AbstractTranscoder.UnableToReadSource=impossibile eseguire la lettura dell\u2019origine di transcodifica '${source}'
media.AbstractTranscoder.ExceptionWhileTranscoding=eccezione durante la transcodifica: ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen='${source}' results in generated code, cannot use existing class '${className}'
media.AbstractTranscoder.IncompatibleTranscoderParameters=i parametri di transcodifica '${param1}' e '${param2}' sono incompatibili

media.FontTranscoder.BadParameters=per eseguire la transcodifica dei font \u00e8 necessario specificare 'fontName' e uno dei tre parametri seguenti: 'source', 'systemFont' o 'sourceList'
media.FontTranscoder.BadFlashType=il valore di flashType deve essere true o false.
media.FontTranscoder.BadAdvancedAntiAliasing=\u00e8 necessario che il valore di advancedAntiAliasing sia True o False.
media.FontTranscoder.InvalidUnicodeRangeException=intervallo Unicode '${range}' non valido
media.FontTranscoder.UnableToBuildFont=impossibile generare il font '${fontName}'
media.FontTranscoder.UnableToExtrace=impossibile estrarre il font '${fileName}'
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=\u00e8 possibile che il font incorporato '${alias}' nasconda un font di periferica con lo stesso nome. Per creare un alias del font con un nome differente, utilizzare fontName.
media.LosslessImageTranscoder.InvalidQuality=Il valore di Quality deve essere un numero doppio compreso tra 0 e 100.
media.LosslessImageTranscoder.QualityRequiresCompression=Quality richiede compress="true".
media.ImageTranscoder.ScalingGridException=\u00e8 necessario definire tutti e quattro gli angoli della griglia di ridimensionamento
media.MovieTranscoder.MissingSymbolDefinition=la definizione del simbolo '${symbol}' non \u00e8 stata trovata
media.MovieTranscoder.MissingFontFace=il font '${fontName}' con spessore ${weight} e stile ${style} non \u00e8 stato trovato
media.MovieTranscoder.UnableToBuildRootSprite=impossibile generare la definizione Sprite principale
media.MovieTranscoder.BadScalingGridTarget=impossibile applicare la griglia di ridimensionamento al tipo di risorsa '${resourceType}'
media.MovieTranscoder.ScalingGridRange=i valori della griglia di ridimensionamento devono essere maggiori di zero; il valore di sinistra deve essere minore di quello di destra e il valore in alto deve essere minore di quello in basso.
media.MovieTranscoder.ScalingGridAlreadyDefined=la risorsa SWF dispone gi\u00e0 di una griglia di ridimensionamento
media.MovieTranscoder.IgnoringAS2=il codice AS2 all\u2019interno di '${symbol}' verr\u00e0 ignorato perch\u00e9 le applicazioni Flex 2 supportano solo AS3
media.SkinTranscoder.SkinClassNotFound=Impossibile trovare la classe per l'interfaccia '${className}'
media.SoundTranscoder.UnsupportedSamplingRate=frequenza di campionamento non supportata (${frequency}Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=impossibile stabilire il conteggio dei fotogrammi di esempio
media.SoundTranscoder.NotInMP3Format=il formato del file audio non \u00e8 stato riconosciuto come MP3.
media.SVGTranscoder.Deprecated=L'utilizzo di SVG \u00e8 divenuto obsoleto a partire da Flex 4. Utilizzare FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Non \u00e8 disponibile alcun bytecode.
abc.AbcCompiler.BytecodeDecodingFailed=decodifica del bytecode abc non riuscita.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=Impossibile transcodificare ${what}.
as3.EmbedEvaluator.UnableToCreateSource=Impossibile creare ${name} di origine.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=L\u2019incorporazione \u00e8 supportata solo nelle variabili di tipo classe o stringa.
as3.EmbedEvaluator.InvalidEmbedVariable=Non \u00e8 consentito assegnare un valore gi\u00e0 esistente ad una variabile di incorporazione.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=L\u2019incorporazione \u00e8 supportata solo nelle classi e nelle variabili di membro.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} \u00e8 stato contrassegnato come obsoleto a partire da ${since}. Utilizzare ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=La classe '${assetClass}' non estende la classe di base '${requiredBase}' dell\u2019assetto '${assetType}'.
as3.EmbedExtension.NonPublicAssetClass=Per utilizzare la risorsa associata alla classe '${assetClass}', \u00e8 necessario che quest\u2019ultima sia pubblica.
as3.HostComponentExtension.HostComponentClassNotFound=Impossibile trovare la classe '${className}' di [HostComponent].
as3.HostComponentExtension.MissingSkinPart=Manca la parte dell'interfaccia richiesta '${skinPartName}'.
as3.HostComponentExtension.MissingSkinPartWarning=Manca la parte dell'interfaccia richiesta '${skinPartName}'.
as3.HostComponentExtension.MissingSkinState=Manca lo stato dell'interfaccia richiesta '${skinStateName}'.
as3.HostComponentExtension.WrongSkinPartType=Il tipo di parte di skin '${skinPartTypeName}' deve essere assegnabile a '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=\u00c8 obbligatorio specificare una definizione associata ai metadati.
as3.MetaDataParser.InvalidMetadataFormatError=Formato dei metadati non valido.
as3.MetaDataParser.InvalidMetadataFormatWarning=Formato dei metadati non valido.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Sono consentiti solo metadati.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=Non \u00e8 consigliabile impostare i metadati IconFile pi\u00f9 di una volta in un file. Configurare sia '${icon}' che '${val}' all\u2019interno di ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=La classe [AccessibilityClass] deve specificare una propriet\u00e0 di implementazione che specifica un nome di tipo.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=\u00c8 necessario che [ArrayElementType] specifichi un nome di tipo.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Dichiarazione duplicata di '${name}' SkinState.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=\u00c8 consentito solo un [HostComponent].
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] deve specificare un nome di tipo.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=\u00c8 necessario che [InstanceType] specifichi un nome di tipo.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=\u00c8 necessario che [PercentProxy] specifichi un nome di propriet\u00e0.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Sono state trovate pi\u00f9 definizioni di costruttori. Non \u00e8 consentito definire un costruttore nel codice <Script/>.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=I metadati ResourceBundle sono supportati solo nelle variabili.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=\u00c8 necessario che nei metadati ResourceBundle venga indicato il nome di un gruppo.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Nella propriet\u00e0 di richiamo e di impostazione '${setter}' di ${declaringClass}' sono presenti i metadati duplicati '${metaData}'.
as3.SyntaxTreeEvaluator.NotResourceBundleType=\u00c8 necessario digitare una variabile ResourceBundle in mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Le parti dell'interfaccia devono essere pubbliche.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=I metadati ResourceBundle a livello di variabile sono stati contrassegnati come obsoleti. Utilizzare i metadati ResourceBundle a livello di classe.
as3.StyleEvaluator.StyleMustAnnotateAClass=\u00c8 necessario che [Style] denoti una classe.
as3.StyleEvaluator.StyleHasMissingName=Nei metadati [Style] manca il 'nome'.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=Le classi [Managed] sono automaticamente [Bindable]. I metadati verranno ignorati.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Le propriet\u00e0 di una classe [Managed] sono automaticamente [Bindable]. I metadati verranno ignorati.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=La classe \u00e8 gi\u00e0 contrassegnata come [Bindable]; tale valore a livello di propriet\u00e0 \u00e8 ridondante e verr\u00e0 pertanto ignorato.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=Se [Bindable] viene applicato ad una funzione diversa da quella di richiamo o di impostazione, \u00e8 obbligatorio specificare un parametro per il nome dell\u2019evento.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] non \u00e8 consentito all\u2019interno della definizione di funzione.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] non \u00e8 consentito in questa posizione.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] non \u00e8 consentito in variabili globali o di pacchetto.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] non \u00e8 consentito in variabili di membro di tipo const.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] non \u00e8 consentito in variabili di membro di tipo statico.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=In questo contesto [Bindable] non \u00e8 consentito in variabili di membro non pubbliche.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] non \u00e8 consentito in funzioni globali o a livello di pacchetto.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=In questo contesto [Bindable] non \u00e8 consentito in funzioni non pubbliche.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=Il nome dell\u2019evento non \u00e8 un identificatore ActionScript valido.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=Se [Bindable] si trova in corrispondenza della propriet\u00e0 di richiamo '${getter}', \u00e8 necessario specificare una propriet\u00e0 di impostazione definita localmente.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=Il binding dei dati non sar\u00e0 in grado di rilevare le assegnazioni a "${name}".
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=Il binding dei dati non sar\u00e0 in grado di rilevare le modifiche se si utilizza l\u2019operatore parentesi quadra. Per Array, utilizzare invece ArrayCollection.getItemAt().


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] in corrispondenza della propriet\u00e0 di richiamo con accesso in sola lettura \u00e8 superfluo, pertanto verr\u00e0 ignorato.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=Impossibile recuperare [Bindable] in corrispondenza della propriet\u00e0 di impostazione con accesso in sola scrittura; pertanto, verr\u00e0 ignorato.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=Impossibile aggiungere alla classe '${className}' l\u2019implementazione dell\u2019interfaccia '${interfaceName}' a causa di un conflitto con un metodo esistente o con la propriet\u00e0 '${methodName}'.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=Impossibile caricare il modello '${templateName}'
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Errore interno: \u00e8 stata sollevata un\u2019eccezione durante la procedura di creazione dal modello '${templateName}' per la classe '${className]': ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=In [Managed] \u00e8 stata specificata la modalit\u00e0 non valida '${mode}'.
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] richiede un 'UID' di tipo 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=Conflitto di modalit\u00e0 per [Managed].
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=\u00c8 consentito utilizzare [Managed] solo nelle definizioni di classe o per le propriet\u00e0 contenute nelle classi [Managed].
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=Nella classe '${className}' \u00e8 stato specificato [Managed] con una propriet\u00e0 di destinazione, ma non \u00e8 stato configurato alcun file dei servizi. Le associazioni lente non verranno rispettate.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=Non \u00e8 consentito utilizzare [Managed] in componenti MXML.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Nome "${name}" del componente non valido: \u00e8 necessario che tale nome sia conforme ai nomi di classe ActionScript.
fxg.FXGCompiler.FXGParseException=Eccezione dell'analisi FXG
fxg.FXGCompiler.SourceGenerationException=Eccezione della generazione dell'origine FXG

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=Non sono consentiti attributi per la richiesta.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=\u00c8 necessario specificare un nome di attributo per il metodo.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Non sono consentiti attributi per gli argomenti.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=\u00c8 necessario specificare un nome di attributo per l\u2019operazione.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=Sono consentiti solo attributi 'format' per la richiesta.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Il foglio di stile incorporato viene ignorato perch\u00e9 \u00e8 stato definito un file di origine.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=Le espressioni di binding dei dati non sono supportate se gli attributi vengono elaborati in fase di compilazione.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Si \u00e8 verificato un problema durante la ricerca del foglio di stile esterno: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=Se viene specificata l\u2019origine dell\u2019attributo, \u00e8 necessario che il tag sia vuoto.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Si \u00e8 verificato un problema durante la ricerca del modello esterno: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=Nel modello esterno \u00e8 presente solo contenuto di tipo scalare, che non \u00e8 correntemente supportato.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Lo script inline viene ignorato perch\u00e9 \u00e8 stata definita un\u2019origine.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Il codice XML inline viene ignorato perch\u00e9 \u00e8 stata definita un\u2019origine.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Si \u00e8 verificato un problema durante la ricerca del codice XML esterno: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=\u00c8 necessario specificare un\u2019origine valida per l\u2019associazione.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=\u00c8 necessario specificare una destinazione valida per l\u2019associazione.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=L'origine e la destinazione di associazione non possono essere identiche.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Attributo sconosciuto: ${qname} in ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Si \u00e8 verificato un problema durante la ricerca del file esterno: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=La stringa incorporata viene ignorata perch\u00e9 \u00e8 stato definito un file di origine.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Si \u00e8 verificato un problema durante la ricerca del file esterno: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Si \u00e8 verificato un problema durante l\u2019analisi del codice XML esterno: ${name} - (riga ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Si \u00e8 verificato un problema durante l\u2019analisi del codice XML esterno: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Si \u00e8 verificato un problema durante l\u2019analisi del codice XML esterno: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=File non trovato: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Si \u00e8 verificato un problema durante l\u2019analisi del testo normale esterno: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Errore durante l\u2019analisi del foglio di stile: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=\u00c8 necessario definire un componente inline.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=La definizione deve contenere un attributo di nome.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=La definizione "${name}" deve contenere solo un elemento secondario.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=Il tag della libreria deve essere il primo elemento secondario del tag principale del documento.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=Il tag privato deve essere l'ultimo elemento secondario del tag principale del documento.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Per Reparent \u00e8 necessario definire un attributo di destinazione.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Per Reparent \u00e8 necessario definire includeIn o excludeFrom.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Nell\u2019elemento non possono essere presenti contemporaneamente un\u2019espressione di binding e gli inizializzatori degli attributi
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=La sezione CDATA di ${image} viene ignorata perch\u00e9 esistono altri elementi XML.
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=Non \u00e8 consentito denominare un tag \u201cOggetto\u201d all\u2019interno di modelli o servizi.
mxml.builder.DocumentBuilder.MissingAttribute=Manca l\u2019attributo ${attribute}.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError="${image}" deve essere un elemento secondario del tag principale.
mxml.builder.DocumentBuilder.NestedDeclaration=La dichiarazione '${declaration}' deve essere contenuta nel tag <Declarations> poich\u00e9 non implementa '${targetType}'.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=La dichiarazione '${declaration}' deve essere contenuta nel tag <Declarations> poich\u00e9 non pu\u00f2 essere assegnata al tipo '${targetType}' o al tipo di elemento '${targetElementType}' della propriet\u00e0 predefinita.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=La dichiarazione '${declaration}' deve essere contenuta nel tag <Declarations> poich\u00e9 non pu\u00f2 essere assegnata al tipo di elemento '${targetElementType}' della propriet\u00e0 predefinita.
mxml.builder.DocumentBuilder.DefaultPropertyError=La propriet\u00e0 predefinita non \u00e8 supportata nel tag principale.
mxml.builder.DocumentBuilder.ThemeAttributeError=Impostare il tema tramite le opzioni di configurazione del compilatore; l\u2019attributo "theme" non \u00e8 pi\u00f9 supportato nei documenti MXML.
mxml.builder.DocumentBuilder.RslAttributeError=Specificare le librerie condivise in fase di esecuzione tramite le opzioni di configurazione del compilatore; l\u2019attributo "rsl" non \u00e8 pi\u00f9 supportato nei documenti MXML.
mxml.builder.DocumentBuilder.LibAttributeError=Specificare le librerie tramite le opzioni di configurazione del compilatore; l\u2019attributo "lib" non \u00e8 pi\u00f9 supportato nei documenti MXML.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed non \u00e8 consentito in questa posizione.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear non \u00e8 consentito in questa posizione.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Per l\u2019attributo "preloader" \u00e8 stato specificato il nome di classe non valido "${className}".
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Per l\u2019attributo 'splashScreenImage' \u00e8 stato specificato il nome di classe non valido '${className}'.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Per l\u2019attributo "runtimeDPIProvider" \u00e8 stato specificato il nome di classe non valido "${className}".
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=L\u2019attributo ID non \u00e8 consentito nel tag principale di un componente.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=Non \u00e8 consentito utilizzare gli attributi includeIn ed excludeFrom nel tag principale di un componente.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=Non \u00e8 consentito utilizzare gli attributi includeIn ed excludeFrom negli elementi secondari diretti del tag <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=Non \u00e8 consentito utilizzare gli attributi itemCreationPolicy e itemDestructionPolicy nel tag principale di un componente.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=Non \u00e8 consentito utilizzare gli attributi itemCreationPolicy e itemDestructionPolicy negli elementi secondari diretti del tag <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} non \u00e8 correntemente supportato come elemento Array.
mxml.builder.ArrayBuilder.UnknownNode=${image} non \u00e8 consentito in questa posizione.
mxml.builder.AbstractBuilder.AtClearNotAllowed=L'istruzione @Clear pu\u00f2 essere utilizzata solo per propriet\u00e0 di stile specifiche dello stato.
mxml.builder.AbstractBuilder.BindingNotAllowed=L\u2019espressione di binding dei dati non \u00e8 consentita in questa posizione.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Inizializzatore di "${desc}": in questa posizione non \u00e8 consentita un'espressione di binding dei dati.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=L\u2019espressione di binding bidirezionale dei dati inline non \u00e8 consentita in questa posizione.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Inizializzatore di "${desc}": in questa posizione non \u00e8 consentita un'espressione di binding bidirezionale dei dati.
mxml.builder.AbstractBuilder.ClearNotAllowed=\u00c8 possibile utilizzare @Clear solo con propriet\u00e0 specifiche dello stato.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Inizializzatore di "${desc}": non \u00e8 consentito utilizzare @ContextRoot con il tipo ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=L\u2019elemento principale del contesto non \u00e8 definito.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Inizializzatore di "${desc}": non \u00e8 consentito utilizzare @Embed con il tipo ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Inizializzatore di "${desc}": impossibile analizzare il valore di tipo ${type}${array} dal testo "${text}".
mxml.builder.AbstractBuilder.InvalidPercentage=Inizializzatore di "${desc}": espressione percentuale non valida: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Inizializzatore di "${desc}": espressione di binding bidirezionale non valida: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Espressione di binding bidirezionale non valida: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Inizializzatore di "${desc}": non \u00e8 possibile rappresentare come testo i valori di tipo ${type}.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Inizializzatore di "${desc}": i valori percentuali non sono consentiti in questa posizione.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Inizializzatore di "${desc}": istruzione in fase di compilazione non riconosciuta.
mxml.builder.AbstractBuilder.PercentProxyWarning=Nella propriet\u00e0 "${property}", [PercentProxy("${percentProxyName}")] non definisce una propriet\u00e0 raggiungibile della classe "${type}".
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Sono presenti pi\u00f9 inizializzatori per la propriet\u00e0 "${name}".
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Sono presenti pi\u00f9 inizializzatori per la propriet\u00e0 "${name}". (Nota: "${name}" \u00e8 la propriet\u00e0 predefinita di "${type}".)
mxml.builder.AbstractBuilder.EventTypeUnavailable=Il tipo di evento "${type}" non \u00e8 disponibile.
mxml.builder.AbstractBuilder.EventHandlerEmpty=Il gestore eventi \u00e8 vuoto.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Sono presenti pi\u00f9 inizializzatori per lo stile "${name}".
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Sono presenti pi\u00f9 inizializzatori per l\u2019effetto "${name}".
mxml.builder.AbstractBuilder.ClassNotAvailable=La classe "${className}" non \u00e8 disponibile.
mxml.builder.AbstractBuilder.TypeNotAvailable=Il tipo MXML standard "${type}" non \u00e8 disponibile.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=Il tipo '${type}' non pu\u00f2 essere assegnato alla propriet\u00e0 predefinita '${defaultProperty}' di tipo '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=Nell'inizializzatore di '${lvalue}', il tipo ${type} non pu\u00f2 essere assegnato al tipo di destinazione '${targetType}'.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Sono presenti pi\u00f9 valori di inizializzatore del tipo '${targetType}' per la propriet\u00e0 predefinita '${defaultProperty}'.
mxml.builder.AbstractBuilder.TypeNotMultiple=Nell'inizializzatore di '${lvalue}', pi\u00f9 valori di inizializzatore per il tipo di destinazione ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=Nell'inizializzatore di '${lvalue}', il tipo ${type} non \u00e8 assegnabile al tipo di destinazione ${targetType} o al tipo di elemento di destinazione ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=Nell'inizializzatore di '${lvalue}', il tipo ${type} non \u00e8 assegnabile al tipo di elemento di destinazione  ${targetElementType} ${targetType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=L\u2019inizializzatore della propriet\u00e0 "${name}" non \u00e8 consentito in questa posizione.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Gli attributi itemCreationPolicy e itemDestructionPolicy devono accompagnare l'attributo includeIn o excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Valore non valido per l'attributo itemCreationPolicy. 
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=L'attributo itemDestructionPolicy deve accompagnare l'attributo includeIn o excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Valore non valido per l'attributo itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=La propriet\u00e0 "${name}" \u00e8 di sola lettura.
mxml.builder.AbstractBuilder.PropertyUnreachable=Errore interno: il tipo relativo alla propriet\u00e0 "{name}" non \u00e8 raggiungibile.
mxml.builder.AbstractBuilder.StyleUnreachable=Errore interno: il tipo relativo allo stile "{name}" non \u00e8 raggiungibile.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Valore non valido: ${value}. Deve essere uno dei valori seguenti: ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=Flash Player non supporta il caricamento di file SVG in fase di esecuzione. Per incorporare un file SVG, utilizzare la funzione @Embed() in fase di compilazione.
mxml.builder.AbstractBuilder.EmptyChildInitializer=L\u2019inizializzatore del tag secondario relativo al tipo "${type}" non pu\u00f2 essere vuoto.

# 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}" \u00e8 stato contrassegnato come obsoleto.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement="${name}" \u00e8 stato contrassegnato come obsoleto. Utilizzare "${replacement}".
mxml.builder.AbstractBuilder.DeprecatedSince="${name}" \u00e8 stato contrassegnato come obsoleto a partire da ${since}. Utilizzare "${replacement}".
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement="${name}" \u00e8 stato contrassegnato come obsoleto a partire da ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=Lo stile '${stylePropertyName}' \u00e8 escluso dal tipo '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=Lo stile '${stylePropertyName}' \u00e8 supportato solo dal tipo '${typeName}' con il tema/i temi '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=Lo stile '${stylePropertyName}' \u00e8 supportato solo dal tipo '${typeName}' con il tema/i temi '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=L\u2019attributo ${text} presenta uno spazio dei nomi sconosciuto: ${namespace}. Sono supportati solo spazi dei nomi di attributo predefiniti.
mxml.builder.ComponentBuilder.UnknownAttribute=Impossibile risolvere l\u2019attributo '${name}' relativo al tipo di componente ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=Impossibile risolvere l\u2019attributo "${localPart}" nello spazio dei nomi "${namespace}" relativo al tipo di componente ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Gli elementi secondari di '${parentTypeName}' utilizzati per il valore della propriet\u00e0 predefinita per '${propertyName}' devono essere contigui.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Le dichiarazioni dei componenti non sono consentite in questa posizione. (Nota: negli elementi visivi secondari \u00e8 necessario implementare ${interfaceName}.)
mxml.builder.ComponentBuilder.NestedDeclaration=Le dichiarazioni dei componenti non sono consentite in questa posizione.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=Il tipo '${type}' \u00e8 una primitiva grafica che deve essere inclusa in un Gruppo per potere essere aggiunta a '${parentType}'.
mxml.builder.ComponentBuilder.MixedContent=Il contenuto misto non \u00e8 consentito in questa posizione.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Nel componente non possono essere presenti contemporaneamente un inizializzatore di testo e gli attributi.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} non \u00e8 consentito in questa posizione.
mxml.builder.ComponentBuilder.MixedInitializers=Sono stati specificati inizializzatori di testo e non di testo.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Non \u00e8 pi\u00f9 possibile dichiarare in modo esplicito la sostituzione dello stato. La sintassi precedente relativa agli stati \u00e8 diventata obsoleta.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Gli elementi secondari dei visualizzatori Halo devono implementare INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=I Repeater richiedono elementi primari basati su contenitori Halo.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=La sintassi delle propriet\u00e0 specifiche dello stato '${name}' non \u00e8 supportata per le versioni di MXML precedenti al 2009.
mxml.builder.ModelBuilder.ClassNotFound=Impossibile trovare la classe ${className}.
mxml.builder.ModelBuilder.OnlyOneRootTag=\u00c8 consentito un solo tag principale.
mxml.builder.ModelBuilder.OnlyScalarError=Nel modello '${id}' \u00e8 presente solo contenuto di tipo scalare, che non \u00e8 correntemente supportato.
mxml.builder.PrimitiveBuilder.InitializerRequired=Il valore dell\u2019inizializzatore \u00e8 obbligatorio in questa posizione.
mxml.builder.XMLBuilder.OnlyOneRootTag=\u00c8 consentito un solo tag principale.
mxml.builder.XMLBuilder.MixedContent=Il contenuto misto non \u00e8 consentito in questa posizione.
mxml.builder.XMLBuilder.RequireXMLContent=\u00c8 obbligatorio che sia presente del contenuto XML.
mxml.builder.XMLListBuilder.RequireXMLContent=\u00c8 obbligatorio che sia presente del contenuto XML.
mxml.builder.VectorBuilder.WrongElementType=Gli elementi di questo vettore devono essere assegnabili a '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=Impossibile risolvere ${tag} su un\u2019implementazione di componente.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Il contenuto misto non \u00e8 consentito in questa posizione.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Gli elementi secondari non sono consentiti in questa posizione.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Per ogni documento \u00e8 possibile specificare un solo spazio dei nomi di una lingua. Trovati "${ns1}" e "${ns2}".
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=Il supporto del numero di riga relativo agli attributi dei tag XML non \u00e8 disponibile. \u00c8 possibile che i numeri di riga restituiti dagli strumenti di creazione rapporti e debug dei componenti MXML siano errati. Assicurarsi che nella variabile d'ambiente classpath sia incluso xercesPatch.jar.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Fine imprevista del flusso di token. Ultimo token: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Fine imprevista del flusso di eventi SAX. Ultimo evento: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=\u00c8 stata riscontrata un'istruzione di elaborazione non prevista, che verr\u00e0 ignorata. Rilevato: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: tipo ${elementTypeName} non trovato.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): il tipo ${instanceTypeName} non \u00e8 disponibile.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Il foglio di stile contiene un\u2019istruzione di incorporazione non valida. Impossibile risolvere l\u2019origine '${source}'.
mxml.rep.AtEmbed.NoEmbedParams=Non \u00e8 stato fornito alcun parametro per @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=L'attributo di origine non \u00e8 supportato con skinClass.
mxml.rep.AtResource.NoResourceParams=Non \u00e8 stato fornito alcun parametro per @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Non \u00e8 stato fornito alcun parametro chiave per @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Non \u00e8 stato fornito alcun parametro di raggruppamento per @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=Impossibile risolvere la versione della lingua MXML. Specificare lo spazio dei nomi della lingua nel tag principale del documento.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=L'identificatore "${name}" \u00e8 stato usato sia per un gruppo di stato che per uno stato.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=Non \u00e8 consentito utilizzare allo stesso tempo le parole chiave includeIn ed excludeFrom.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Tentativo di inizializzazione della propriet\u00e0 non pubblica '${name}' ereditata da MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Tentativo di inizializzazione della propriet\u00e0 di sola lettura '${name}' ereditata da MXML.
mxml.rep.MxmlDocument.StateResolutionError=\u00c8 stato fatto riferimento allo stato "${name}" senza dichiararlo.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Tentativo di inizializzazione della propriet\u00e0 ereditata '${name}' di tipo '${propertyType}' con il valore di tipo incompatibile '${valueType}'.
mxml.rep.StatesModel.ConflictingReparentTags=Non \u00e8 possibile reimpostare la stessa destinazione "${target}" come elemento principale di pi\u00f9 destinazioni all'interno dello stesso stato ("${name}").
mxml.rep.StatesModel.DuplicateState=Pi\u00f9 definizioni per lo stato '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=Non \u00e8 possibile reimpostare la destinazione "${target}" come elemento principale della destinazione specificata. Tipo o propriet\u00e0 scalare non compatibile.
mxml.rep.StatesModel.IncompatibleStatefulNode=I nodi di valori scalari non possono essere specifici dello stato.
mxml.rep.StatesModel.InvalidReparentState=Impossibile assegnare un nuovo elemento padre alla destinazione '${target}'. Esiste gi\u00e0 nello stato ('${name}').
mxml.rep.StatesModel.TargetResolutionError=Impossibile risolvere la destinazione "${name}" da reimpostare come elemento principale.
mxml.rep.StatesModel.MultipleInitializers=Nello stato "${state}" sono presenti pi\u00f9 inizializzatori della propriet\u00e0 "${name}".
mxml.rep.StatesModel.IncompatibleState=Impossibile realizzare il componente all'interno dello stato "${state}" poich\u00e9 un elemento predecessore \u00e8 escluso dallo stato "${state}".
mxml.rep.StatesModel.CircularReparent=Rilevato riferimento circolare nello stato "${state}" dovuto al tag Reparent.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=Impossibile generare il codice di inizializzazione in Repeater a causa del binding dei dati o dell'ID relativo ad un componente che non \u00e8 un elemento visivo secondario.  


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time} ms
util.Benchmark.BenchmarkTotalText=${message} ${time} ms Totale: ${total} ms
util.Benchmark.BenchmarkID=${id}: ${duration} ms
util.Benchmark.TotalTime=Durata complessiva: ${time} ms
util.Benchmark.MemoryUsage=Picchi utilizzo memoria: ${total} MB (heap: ${heap}; non-heap: ${nonHeap})
util.AbstractLogger.Info=Informazioni
util.AbstractLogger.Warning=Avvertimento
util.AbstractLogger.Error=Errore
util.AbstractLogger.col=col
util.AbstractLogger.Recompile=Ricompila
util.AbstractLogger.Reason=Motivo
util.AbstractLogger.Updated=Aggiornamento eseguito
util.ManifestParser.UndefinedClass=Manifesto: Errore durante il caricamento dello spazio dei nomi ${fileName}: ${line} Il ${tag} del componente presenta una classe non definita.
util.ManifestParser.ManifestError=Manifesto: Errore durante il caricamento dello spazio dei nomi ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifesto: Errore durante il caricamento dello spazio dei nomi ${fileName}: ${line} Il ${tag} del componente non pu\u00f2 utilizzare * come classe definita.
util.ManifestParser.DuplicateComponentDefinition=Manifesto: Errore durante il caricamento dello spazio dei nomi ${fileName}: ${line} Il ${tag} del componente ricorre pi\u00f9 di una volta all\u2019interno di questo spazio dei nomi.
util.MD5Crypt.UnsupportedAlgorithm=Cifratura MD5: questo algoritmo di cifratura della password non \u00e8 supportato.
util.XMLStringSerializer.IllegalXMLChar=Carattere XML non consentito
util.VelocityManager.InitializationError=\u00c8 stata sollevata un\u2019eccezione durante l\u2019inizializzazione del motore di velocit\u00e0: ${message}
util.VelocityManager.InvocationError=Metodo '${className}.${methodName}': \u00e8 stata sollevata un\u2019eccezione durante l\u2019esecuzione di codegen: ${message}
util.VelocityManager.TemplateReferenceIsNull=Il riferimento '${s}' al modello restituisce null.
util.VelocityManager.GetMethodNotFound=${template} riga ${line}, colonna ${column}: Il metodo Get per '${identifier}' non \u00e8 stato trovato in ${className}
util.VelocityManager.SetMethodNotFound=${template} riga ${line}, colonna ${column}: Il metodo di impostazione per '${identifier}' non \u00e8 stato trovato in ${className}
util.LocalLogger.ErrMsgBug=Bug rapporto errori del compilatore Flex
util.LocalLogger.GeneratedCodeMarker=Codice generato (per salvare, utilizzare \u2013keep)
util.LocalLogger.PathInfo=Percorso: ${filepath}
util.LocalLogger.LineInfo=Riga: ${fileline}
util.LocalLogger.ColumnInfo=Colonna: ${filecol}
util.LocalLogger.MessageInfo=Messaggio: ${filemsg}
util.LocalLogger.SourceInfo=Origine: ${filesource}
util.LocalLogger.ErrorCodeInfo=Codice errore: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=analisi dello stack:
util.VelocityException.UnableToWriteGeneratedFile=Impossibile eseguire la scrittura del file (${fileName}) generato: ${message}.
util.VelocityException.TemplateNotFound=Impossibile caricare il modello '${template}'.
util.VelocityException.GenerateException=\u00c8 stata sollevata un\u2019eccezione durante la procedura di generazione da ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=La codifica della stringa specificata \u00e8 errata: ${string}
util.OrderedProperties.RemovedFromProperty=${string}' non pu\u00f2 essere contenuta in una propriet\u00e0, pertanto \u00e8 stata rimossa da '${property}'


# flex2.compiler
CompilerAPI.UnableToSetHeadless=Impossibile impostare java.awt.headless a causa di un\u2019eccezione relativa alla protezione. Impostarlo manualmente dalla riga di comando.
CompilerAPI.IncompatibleSWCArchive=L\u2019archivio SWC ${swc} non \u00e8 compatibile con questo compilatore.
CompilerAPI.OutputTime=File: ${size}. Ora:
CompilerAPI.NotFullyCompiled=Il file di origine non \u00e8 stato compilato correttamente.
CompilerAPI.SourceNoLongerExists=Il file di origine non esiste pi\u00f9.
CompilerAPI.SourceFileUpdated=\u00c8 stato aggiornato il file di origine o uno dei file inclusi.
CompilerAPI.AssetUpdated=\u00c8 stata aggiornata una delle risorse.
CompilerAPI.SwcDefinitionObsoleted=Definizione resa obsoleta da '${newLocation}'.
CompilerAPI.DependencyUpdated=La dipendenza '${dependency}' \u00e8 stata aggiornata.
CompilerAPI.DependencyNotCached=La dipendenza '${dependency}' non \u00e8 stata memorizzata nella cache.
CompilerAPI.NotSourcePathFirstPreference=Il file di origine non corrisponde pi\u00f9 al riferimento principale del percorso di origine.
CompilerAPI.DependentFileNoLongerExists=Il relativo file dipendente in ${location} non esiste pi\u00f9.
CompilerAPI.InvalidImportStatement=L\u2019istruzione di importazione ${defName} non \u00e8 pi\u00f9 valida.
CompilerAPI.DependentFileModified=Il relativo file dipendente in ${location} \u00e8 stato aggiornato.
CompilerAPI.MultiNameMeaningChanged=Il significato del riferimento con pi\u00f9 nomi ${multiName} \u00e8 stato modificato da "${qName}" ad una definizione differente.
CompilerAPI.FilesChangedAffected=File modificati: ${updateCount}. File interessati: ${count}
CompilerAPI.MoreThanOneDefinition=Non \u00e8 possibile assegnare pi\u00f9 di una definizione visibile esternamente ad un file che si trova in un percorso di origine. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=\u00c8 obbligatorio assegnare una definizione visibile esternamente ad un file che si trova in un percorso di origine. Se si intende rendere visibile esternamente una definizione contenuta nel file, inserirla in un pacchetto.
CompilerAPI.WrongPackageName=\u00c8 necessario che un file che si trova in un percorso di origine presenti la stessa struttura di pacchetto "${pathPackage}" del pacchetto della definizione "${defPackage}".
CompilerAPI.WrongDefinitionName=\u00c8 necessario che un file che si trova in un percorso di origine "${pathName}" abbia lo stesso nome della definizione di classe contenuta nel file "${defName}".
CompilerAPI.CircularInheritance=La definizione si trova in una ereditariet\u00e0 circolare.
CompilerAPI.UnableToResolveDependency=Impossibile risolvere la dipendenza relativa a ${localPart}.
CompilerAPI.AmbiguousMultiname=Impossibile risolvere in modo non ambiguo un riferimento con pi\u00f9 nomi. Sono disponibili ${qName1} (da ${source1}) e ${qName2} (da ${source2}).
CompilerAPI.SWFEncoding=Codifica SWF in corso...
CompilerAPI.PersistingCompilationUnits=Applicazione della persistenza a ${count} unit\u00e0 di compilazione in corso...
CompilerAPI.FailedToMatchCacheFile=Impossibile creare una corrispondenza tra la destinazione della compilazione e ${cacheName}. Il file della cache non verr\u00e0 riutilizzato.
CompilerAPI.LoadingCompilationUnits=Caricamento di ${count} unit\u00e0 di compilazione in corso...
CompilerAPI.ChannelDefinitionNotFound=Impossibile trovare la definizione del canale ${clientType}.
CompilerAPI.TooManyErrors=Sono stati riscontrati troppi errori.
CompilerAPI.ForcedToStop=\u00c8 stato trasmesso al compilatore un comando di interruzione.
CompilerAPI.UnableToWriteSizeReport=Impossibile eseguire la scrittura del rapporto delle dimensioni in ${fileName}.
CompilerAPI.UnableToResolveClass=Impossibile risolvere una classe per ${type}: ${className}.
CompilerAPI.UnableToResolveResourceBundle=Impossibile risolvere il gruppo di risorse "${bundleName}".
CompilerAPI.UnableToResolveResourceBundleForLocale=Impossibile risolvere il gruppo di risorse "${bundleName}" per le impostazioni internazionali "${locale}".
CompilerAPI.UnableToResolveNeededClass=Impossibile risolvere la classe necessaria: ${className}.
CompilerAPI.BatchTime=Compilazione di ${sourceName}, fase ${phase}, in corso...
CompilerAPI.CompileTime=Compilazione fase ${phase} in corso...
CompilerAPI.NoCompilerFound=Non \u00e8 stato trovato alcun compilatore per "${sourceName}".
CompilerException=Sono stati riscontrati degli errori durante la compilazione.
CompilerSwcContext.Loaded = Caricate ${loaded} librerie...
FileSpec.UnsupportedFileType=Tipo di file non supportato: ${name}
SourceList.UnsupportedFileType=Tipo di file non supportato: ${name}
SourceList.FileNotInSourcePath=Nel percorso di origine \u00e8 necessario includere ${name}.
PersistenceStore.ObsoleteCacheFileFormat=\u00c8 stato rilevato un formato di file cache obsoleto. Il file della cache non verr\u00e0 riutilizzato.
PersistenceStore.NoFileSpec=Esistono i dati di compilazione basati sulla specifica dei file, ma non \u00e8 disponibile alcuna specifica.
PersistenceStore.NoSourceList=Esistono i dati di compilazione basati su SourceList, ma non \u00e8 disponibile alcun elemento SourceList.
PersistenceStore.NoSourcePath=Esistono i dati di compilazione basati su SourcePath, ma non \u00e8 disponibile alcun elemento SourcePath.
PersistenceStore.NoResourceBundlePath=Esistono i dati di compilazione basati su ResourceBundlePath, ma non \u00e8 disponibile alcun elemento ResourceBundlePath.
PersistenceStore.NoResourceContainer=Esistono i dati di compilazione basati su ResourceContainer, ma non \u00e8 disponibile alcun elemento ResourceContainer.
SourcePathBase.ClasspathOverlap=La voce del percorso di origine '${cpath}' \u00e8 una sottodirectory della voce del percorso di origine '${directory}'.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} e ${file2} non possono trovarsi all\u2019interno della stessa directory.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=impossibile caricare il modello '${template}'
mxml.ImplementationCompiler.CodeGenerationException=\u00c8 stata sollevata un\u2019eccezione durante la procedura di generazione da ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=\u00e8 stato trovato uno spazio dei nomi MXML non supportato ('${namespace1}'). per il codice di origine MXML 2 utilizzare lo spazio dei nomi MXML '${namespace2}'.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=\u00c8 stato trovato un carattere o un simbolo di marcatura non valido. Provare a racchiudere il codice immesso dall\u2019utente all\u2019interno di un blocco CDATA.
mxml.InterfaceCompiler.WhitespaceBeforePI=Non \u00e8 consentito apporre uno spazio davanti ad un\u2019istruzione di elaborazione XML di tipo (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier='${id}' non \u00e8 un identificatore valido.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=l\u2019identificatore '${id}' \u00e8 stato utilizzato pi\u00f9 di una volta.
mxml.InterfaceCompiler.IdentifierMatchesClassName='${name}': l\u2019identificatore e la classe non possono avere lo stesso nome.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=\u00e8 necessario che il nome della classe sia un identificatore ActionScript valido.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=nel documento il nome della classe \u00e8 stato specificato pi\u00f9 di una volta.
mxml.InterfaceCompiler.InlineComponentInternalError=si \u00e8 verificato un errore interno durante l\u2019elaborazione del componente inline.
mxml.InterfaceCompiler.BaseClassNotFound=Impossibile rilevare la classe di base specificata '${baseClassName}' per la classe di componenti '${className}'.
mxml.InterfaceCompiler.InvalidComponentName=Nome '${name}' del componente non valido: \u00e8 necessario che tale nome sia conforme ai nomi di classe ActionScript.
mxml.InterfaceCompiler.InvalidToken=Errore di analisi: l'elemento "${child}" non pu\u00f2 seguire quello "${parent}".
mxml.InterfaceCompiler.MissingEndTag=\u00c8 necessario concludere il tipo di elemento '${tag}' apponendo il tag di suffisso '${endTag}' corrispondente.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=\u00c8 necessario che la marcatura inserita dopo l\u2019elemento principale nel documento sia strutturata in modo corretto.
mxml.InterfaceCompiler.StateNameRequired=L'attributo "name" \u00e8 obbligatorio per il tag State.
mxml.InterfaceCompiler.VectorTypeRequired=type' \u00e8 un attributo obbligatorio del tag del vettore.
mxml.InvalidStateAttributeUsage=Non \u00e8 consentito utilizzare gli attributi includeIn ed excludeFrom nel tag della lingua MXML "${name}".
mxml.InvalidStateSpecificValue=Impossibile specificare il valore specifico dello stato per l'attributo della lingua MXML "${name}".

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Il gruppo di risorse contiene un\u2019istruzione ClassReference non valida. \u00c8 necessario che sia presente un solo parametro stringa.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc} versione ${swcVer} \u00e8 incompatibile con la versione ${compilerVer} del compilatore.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=Impossibile creare file ${file}: ${message}
asdoc.AsDocAPI.UnknownOS=Sistema operativo non riconosciuto da ASDoc. ASDoc \u00e8 eseguibile solo su Windows e Mac OS X.
asdoc.AsDocAPI.NotFound=Impossibile trovare la propriet\u00e0 ${property} seguente: ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} dipende da:
