################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You under the Apache License, Version 2.0
##  (the "License"); you may not use this file except in compliance with
##  the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
################################################################################
accessibilityClass.help = Specifica una classe helper che implementa la modalità di accesso di questo componente.
alternative.help = Specifica l'elemento sostitutivo consigliato di questa classe.
arrayElementType.help = Specifica il tipo di dati consentito per gli elementi di questo array.
bindable.help = Indica che è possibile utilizzare questa proprietà/questo metodo, o tutte le proprietà di questa classe, nelle espressioni di associazione di dati.
defaultProperty.help = Specifica quale proprietà di questa classe può essere impostata in MXML senza racchiuderne il valore in una regola di proprietà.
deprecated.help = Contrassegna questa proprietà, questo metodo o questa classe come obsoleti e non più consigliati per l'uso. 
embed.help = Incorpora un file di risorse (come JPEG, PNG, MP3, XML e così via) in un file SWF e inizializza la variabile con la classe di risorsa corrispondente.
event.help = Dichiara un evento inviato da questa classe.
exclude.help = Omette una proprietà, un metodo, uno stile o un evento specificato di questa classe dai suggerimenti per il codice di Flash Build e da ASDoc.
excludeClass.help = Omette questa classe dai suggerimenti per il codice di Flash Build e da ASDoc.
hostComponent.help = Specifica il componente SkinnableComponent che userà questa skin Spark.
iconFile.help = Specifica l'icona che rappresenta questo componente in Flash Builder.
inspectable.help = Specifica come appare questa proprietà nella finestra di ispezione Proprietà di Flash Builder. Si utilizza anche per specificare i valori consentiti in MXML per le proprietà di tipo stringa.  
managed.help = Indica che LCDS deve monitorare tutte le modifiche (crea/aggiorna/elimina) alle istanze di questa classe. Le classi gestite sono associabili automaticamente.
nonCommitingChangeEvent.help = Specifica l'evento che indica modifiche minori ai valori di questa proprietà, come le modifiche in ImmissioneTesto prima della conferma.
percentProxy.help = Specifica una proprietà basata su percentuale che corrisponde a questa proprietà. Ad esempio, width="100%" in MXML imposta percentWidth su 100 in ActionScript.
remoteClass.help = Specifica la classe remota che corrisponde a questa classe per la serializzazione AMF.
resourceBundle.help = Indica che questa classe usa un gruppo di risorse particolare, in modo che il gruppo venga compilato nel file SWF.
richTextContent.help = Indica che tutti i caratteri devono essere interpretati letteralmente come testo quando questa proprietà viene impostata usando i dati carattere in MXML.
skinPart.help = Indica che il valore di questa proprietà è una parte di skin nella skin di questo componente.
skinState.help = Dichiara uno stato di visualizzazione che la skin di questo componente deve supportare.
style.help = Dichiara uno stile CSS supportato da questo componente.
swf.help = Specifica informazioni per l'intestazione del file SWF di questa applicazione ActionScript.
transient.help = Indica che questa proprietà non deve partecipare alla serializzazione AMF.
