################################################################################
##
##  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=Cargando el archivo de configuraci\u00f3n ${file}

CommandLineHelp=Use la ayuda de '${program} para obtener informaci\u00f3n sobre el uso de la l\u00ednea de comandos.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Nombre de componente '${name}' no v\u00e1lido: el nombre del componente debe ser un nombre de clase ActionScript v\u00e1lido.
css.CssCompiler.StyleSheetParseError=Error al analizar la hoja de estilos: ${stylePath}
css.ConditionTypeNotSupported=No se admite el tipo de condici\u00f3n de selector CSS: '${condition}'
css.SelectorTypeNotSupported=No se admite el tipo de selector CSS: '${selector}'
css.UnresolvedQualifiedTypeSelector=No se puede resolver el tipo completado con un espacio de nombres '${type}' en el selector CSS '${selector}'
css.UnqualifiedTypeSelector=El tipo '${type}' del selector CSS '${selector}' debe completarse con un espacio de nombres.
css.StyleDef.InvalidReference=Directiva de ${type}Reference no v\u00e1lida en la hoja de estilos. Debe contener un solo par\u00e1metro de tipo String.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() s\u00f3lo se puede usar en el contexto de un documento.
css.StylesContainer.ParseError=Problema al analizar la hoja de estilos CSS predeterminada: ${message}.
css.StylesContainer.DefaultCSSFileNotFound=No se encontr\u00f3 el archivo CSS.
css.StylesContainer.ExcludedStyleProperty=El estilo '${stylePropertyName}' se excluye por tipo '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} no es una referencia de propiedad de documento.
css.StylesContainer.InvalidStyleProperty=El estilo '${stylePropertyName}' no se ha declarado por tipo '${typeName}'.
css.StylesContainer.InvalidStyleTheme=El estilo '${stylePropertyName}' s\u00f3lo es compatible con el tipo '${typeName}' con tema(s) '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=No se proces\u00f3 el selector de tipo CSS '${styleName}', debido a que el tipo no se us\u00f3 en la aplicaci\u00f3n.
css.StylesContainer.ComponentTypeSelectorsNotSupported=Los componentes no admiten selectores de tipo CSS: '${selector}'
css.StyleConflictException=La declaraci\u00f3n de estilo '${style}' entra en conflicto con la declaraci\u00f3n previa de ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension='${source}' no tiene ninguna extensi\u00f3n reconocida y no se ha proporcionado ning\u00fan mimeType
TranscoderException.NoMatchingTranscoder=no se ha registrado ning\u00fan transcodificador para mimeType '${mimeType}'
TranscoderException.NoAssociatedClass=no se asocia ninguna clase con '${tag}' al usar ${transcoder}
media.AbstractTranscoder.UnsupportedAttribute='${className}' no admite el par\u00e1metro de transcodificaci\u00f3n '${attribute}'
media.AbstractTranscoder.UnableToResolve=no se puede resolver '${source}' para la transcodificaci\u00f3n
media.AbstractTranscoder.NetworkTranscodingSource=no se puede incrustar el recurso de red ${url} en tiempo de compilaci\u00f3n; use un archivo local o cargue el recurso en tiempo de ejecuci\u00f3n
media.AbstractTranscoder.MissingSource=no se proporcion\u00f3 ning\u00fan origen que transcodificar
media.AbstractTranscoder.TemplateException=no se puede cargar la plantilla '${plantilla}'
media.AbstractTranscoder.UnableToGenerateSource=no se puede generar el origen de la clase '${className}'
media.AbstractTranscoder.UnableToReadSource=no se puede leer el origen de la transcodificaci\u00f3n '${source}'
media.AbstractTranscoder.ExceptionWhileTranscoding=excepci\u00f3n durante la transcodificaci\u00f3n: ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen='${source}' tiene como resultado el c\u00f3digo generado, no se puede usar la clase existente '${className}'
media.AbstractTranscoder.IncompatibleTranscoderParameters=los par\u00e1metros de transcodificaci\u00f3n '${param1}' y '${param2}' no son compatibles

media.FontTranscoder.BadParameters=la transcodificaci\u00f3n de fuentes requiere que especifique 'fontName' y una de 'source', 'systemFont' o 'sourceList'
media.FontTranscoder.BadFlashType=el valor de flashType debe ser true o false.
media.FontTranscoder.BadAdvancedAntiAliasing=el valor de advancedAntiAliasing debe ser true o false.
media.FontTranscoder.InvalidUnicodeRangeException=intervalo '${range}' Unicode no v\u00e1lido
media.FontTranscoder.UnableToBuildFont=no se puede generar la fuente '${fontName}'
media.FontTranscoder.UnableToExtrace=no se puede extraer la fuente '${fileName}'
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=la fuente incrustada '${alias}' puede prevalecer sobre la fuente de un dispositivo del mismo nombre. Use fontName para que el alias de la fuente sea un nombre distinto
media.LosslessImageTranscoder.InvalidQuality=La calidad debe ser un valor doble entre 0 y 100.
media.LosslessImageTranscoder.QualityRequiresCompression=La calidad requiere compress="true".
media.ImageTranscoder.ScalingGridException=la cuadr\u00edcula de la escala debe tener los cuatro bordes definidos
media.MovieTranscoder.MissingSymbolDefinition=no se encontr\u00f3 la definici\u00f3n del s\u00edmbolo '${symbol}'
media.MovieTranscoder.MissingFontFace=no se encontr\u00f3 la fuente '${fontName}' con el grosor ${weight} y el estilo ${style}
media.MovieTranscoder.UnableToBuildRootSprite=no se puede generar la definici\u00f3n del Sprite ra\u00edz
media.MovieTranscoder.BadScalingGridTarget=no se puede aplicar la cuadr\u00edcula de la escala al tipo de recurso '${resourceType}'
media.MovieTranscoder.ScalingGridRange=los valores de la cuadr\u00edcula de escala deben ser mayores que cero, el valor de la izquierda debe ser menor que el de la derecha y el superior menor que el inferior
media.MovieTranscoder.ScalingGridAlreadyDefined=el activo SWF ya tiene una cuadr\u00edcula de escala
media.MovieTranscoder.IgnoringAS2=se pasa por alto el c\u00f3digo AS2 de '${symbol}'; las aplicaciones Flex 2 s\u00f3lo admiten AS3
media.SkinTranscoder.SkinClassNotFound=no se encontr\u00f3 la clase para la m\u00e1scara '${className}'
media.SoundTranscoder.UnsupportedSamplingRate=no se admite la velocidad de muestreo (${frequency}Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=no se pudo determinar el n\u00famero de marcos de ejemplo
media.SoundTranscoder.NotInMP3Format=no se reconoci\u00f3 el archivo de sonido como MP3.
media.SVGTranscoder.Deprecated=El uso de SVG est\u00e1 en desuso desde Flex 4. Use FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=No se dispone de ning\u00fan c\u00f3digo de bytes.
abc.AbcCompiler.BytecodeDecodingFailed=error de descodificaci\u00f3n de c\u00f3digo de bytes abc.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=No se puede transcodificar ${what}.
as3.EmbedEvaluator.UnableToCreateSource=No se puede crear el origen ${name}.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=La variable Embed s\u00f3lo se admite en variables de tipo Class o String.
as3.EmbedEvaluator.InvalidEmbedVariable=Una variable Embed no debe tener ning\u00fan valor existente.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=La variable Embed s\u00f3lo se admite en clases y variables de miembros.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} est\u00e1 en desuso desde ${since}. Utilice ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=La clase '${assetClass}' no extiende la clase base '${requiredBase}'. del activo '${assetType}'
as3.EmbedExtension.NonPublicAssetClass=La clase '${assetClass}' debe ser p\u00fablica para usar su activo asociado.
as3.HostComponentExtension.HostComponentClassNotFound=No se ha encontrado [HostComponent] clase '${className}'.
as3.HostComponentExtension.MissingSkinPart=Falta la parte de m\u00e1scara requerida '${skinPartName}'.
as3.HostComponentExtension.MissingSkinPartWarning=Falta la parte de aspecto obligatoria '${skinPartName}'.
as3.HostComponentExtension.MissingSkinState=Falta la parte de m\u00e1scara requerida '${skinStateName}'.
as3.HostComponentExtension.WrongSkinPartType=El tipo de parte de aspecto '${skinPartTypeName}' debe ser asignable a '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Los metadatos requieren una definici\u00f3n asociada.
as3.MetaDataParser.InvalidMetadataFormatError=Formato de metadatos no v\u00e1lido.
as3.MetaDataParser.InvalidMetadataFormatWarning=Formato de metadatos no v\u00e1lido.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=S\u00f3lo se permiten metadatos.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=Los metadatos de IconFile no se deben establecer m\u00e1s de un vez en un archivo. Establezca '${icon}' y '${val}' en ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=[AccessibilityClass] debe definir una propiedad 'implementation' que especifique un nombre de tipo.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] debe especificar un nombre de tipo.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Declaraci\u00f3n duplicada de SkinState '${name}'.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=S\u00f3lo se permite un [HostComponent].
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] debe especificar un nombre de tipo.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] debe especificar un nombre de tipo.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] debe especificar un nombre de propiedad.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Se encontraron varias definiciones de constructor. Quiz\u00e1 no se pueda definir un constructor en c\u00f3digo <Script/>.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=Los metadatos de ResourceBundle s\u00f3lo se admiten en variables.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=Los metadatos de ResourceBundle deben proporcionar un nombre de paquete.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Duplique los '${metaData}' metadatos en ${declaringClass}'s '${setter}' captador y establecedor.
as3.SyntaxTreeEvaluator.NotResourceBundleType=Se debe escribir una variable ResourceBundle en mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Las partes de m\u00e1scara deben ser p\u00fablicas.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=Los metadatos de ResourceBundle de nivel de variable est\u00e1n desfasados.  Utilice metadatos de ResourceBundle de nivel de clase.
as3.StyleEvaluator.StyleMustAnnotateAClass=[Style] se debe anotar una clase.
as3.StyleEvaluator.StyleHasMissingName=[Style] a los metadatos les falta 'name'.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=Las clases [Managed] se [Bindable] autom\u00e1ticamente: se omitir\u00e1n los metadatos.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Las propiedades de una clase [Managed] se [Bindable] autom\u00e1ticamente: se omitir\u00e1n los metadatos.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=La clase ya est\u00e1 marcada [Bindable]; el nivel de propiedad [Bindable] es redundante y se omitir\u00e1.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=[Bindable] requiere un par\u00e1metro de nombre de evento cuando se aplica a una funci\u00f3n que no sea un captador o un establecedor.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] no se permite en la definici\u00f3n de funci\u00f3n.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] no se permite aqu\u00ed.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] no se permite en variables globales o de nivel de paquete.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] no se permite en variables de miembros const.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] no se permite en variables de miembros est\u00e1ticas.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=[Bindable] no se permite en variables de miembros no p\u00fablicos en este contexto.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] no se permite en funciones globales o de nivel de paquete.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=[Bindable] no se permite en funciones no p\u00fablicas en este contexto.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=El nombre del evento no es un identificador ActionScript v\u00e1lido.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=[Bindable] en '${getter}' captador requiere un establecedor definido localmente.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=El enlace de datos no podr\u00e1 detectar las asignaciones a "${name}".
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=El enlace de datos no podr\u00e1 detectar cambios al usar el operador de corchetes. En Array, use ArrayCollection.getItemAt() en su lugar.


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] en un captador de s\u00f3lo lectura no es necesario y se omitir\u00e1.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=[Bindable] en un establecedor de s\u00f3lo escritura no es necesario y se omitir\u00e1.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=La implementaci\u00f3n de la interfaz '${interfaceName}' no se puede agregar a la clase '${className}', debido a la colisi\u00f3n con el m\u00e9todo o la propiedad '${methodName}' existente.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=No se puede cargar la plantilla '${templateName}'
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Error interno: se produjo una excepci\u00f3n mientras se generaba desde la plantilla '${templateName}' de la clase '${className]': ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Se ha especificado el modo no v\u00e1lido '${mode}' en [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] requiere que 'uid' sea del tipo 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=Conflicto de modo [Managed].
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=Es posible que [Managed] s\u00f3lo se use en definiciones de clase o en propiedades de clases [Managed].
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=[Managed] se especific\u00f3 en la clase '${className}' con una propiedad de destino pero no se configur\u00f3 ning\u00fan archivo de servicios. No se aceptar\u00e1n asociaciones diferidas.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] puede que no se use en componentes mxml.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Nombre de componente '${name}' no v\u00e1lido: el nombre del componente debe ser un nombre de clase ActionScript v\u00e1lido.
fxg.FXGCompiler.FXGParseException=Excepci\u00f3n de an\u00e1lisis FXG
fxg.FXGCompiler.SourceGenerationException=Excepci\u00f3n de generaci\u00f3n de origen FXG

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=La solicitud puede que no tenga atributos.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=El m\u00e9todo necesita un atributo de nombre.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Los argumentos puede que no tengan atributos.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=La operaci\u00f3n necesita un atributo de nombre.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=La solicitud puede que s\u00f3lo tenga el atributo 'format'.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Se pasa por alto la hoja de estilos incrustada porque se defini\u00f3 un archivo de origen.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=No se admiten expresiones de enlace de datos con atributos procesados en tiempo de compilaci\u00f3n.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Problema al buscar la hoja de estilos externa: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=Si se especifica el atributo de origen, la etiquete debe estar vac\u00eda.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Problema al buscar el modelo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=El modelo externo contiene s\u00f3lo contenido escalar: actualmente no se admite.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Se pasa por alto el script en l\u00ednea porque se especific\u00f3 un origen.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Se pasa por alto el XML en l\u00ednea porque se especific\u00f3 un origen.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Problema al buscar XML externo: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=El enlace debe tener un origen v\u00e1lido.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=El enlace debe tener un destino v\u00e1lido.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=El origen y el destino del enlace no pueden ser iguales.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Atributo desconocido: ${qname} en ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Problema al buscar el archivo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Se pasa por alto la cadena incrustada porque se defini\u00f3 un archivo de origen.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Problema al buscar el archivo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Problema al analizar XML externo:: ${name} - (l\u00ednea ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Problema al analizar XML externo: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Problema al analizar XML externo: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Archivo no encontrado: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Problema al analizar el texto sin formato externo: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Error al analizar la hoja de estilos: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=Se debe definir un componente en l\u00ednea.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=Una definici\u00f3n debe tener un atributo de nombre.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=La definici\u00f3n '${name}' debe tener s\u00f3lo un elemento secundario.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=La etiqueta de la biblioteca debe ser el primer elemento secundario en la etiqueta ra\u00edz del documento.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=La etiqueta privada debe ser el \u00faltimo elemento secundario en la etiqueta ra\u00edz del documento.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Reparent debe tener un atributo de destino definido.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Reparent debe tener includeIn o excludeFrom definida.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Puede que el elemento no contenga ninguna expresi\u00f3n de enlace ni inicializadores de atributo.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=Se omite ${image} CDATA porque existen otros elementos XML...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=No se puede tener una etiqueta denominada "Object" en modelos o servicios.
mxml.builder.DocumentBuilder.MissingAttribute=Falta el atributo ${attribute}.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError=${image}' debe ser un elemento secundario de la etiqueta ra\u00edz.
mxml.builder.DocumentBuilder.NestedDeclaration=La declaraci\u00f3n '${declaration}' debe estar incluida en la etiqueta <Declarations>, ya que no implementa '${targetType}'.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=La declaraci\u00f3n '${declaration}' debe estar incluida en la etiqueta <Declarations>, ya que no se puede asignar al tipo de elemento '${targetElementType}' ni al tipo '${targetType}' de la propiedad predeterminada.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=La declaraci\u00f3n '${declaration}' debe estar incluida en la etiqueta <Declarations>, ya que no se puede asignar al tipo de elemento '${targetElementType}' de la propiedad predeterminada.
mxml.builder.DocumentBuilder.DefaultPropertyError=En la etiqueta ra\u00edz no se admite la propiedad predeterminada.
mxml.builder.DocumentBuilder.ThemeAttributeError=Establezca su tema en las opciones de configuraci\u00f3n del compilador; el atributo 'theme' ya no se admite en documentos MXML.
mxml.builder.DocumentBuilder.RslAttributeError=Especifique las bibliotecas compartidas en tiempo de ejecuci\u00f3n en las opciones de configuraci\u00f3n del compilador; el atributo 'rsl' ya no se admite en documentos MXML.
mxml.builder.DocumentBuilder.LibAttributeError=Especifique las bibliotecas en las opciones de configuraci\u00f3n del compilador; el atributo 'lib' ya no se admite en documentos MXML.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed no se permite aqu\u00ed.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear no se permite aqu\u00ed.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Se especific\u00f3 un nombre de clase '${className}' no v\u00e1lido para el atributo 'preloader'.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Se ha especificado un nombre de clase no v\u00e1lido '${className}' para el atributo 'splashScreenImage'.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Se especific\u00f3 un nombre de clase '${className}' no v\u00e1lido para el atributo 'runtimeDPIProvider'.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=no se permite el atributo Id. en la etiqueta ra\u00edz de un componente
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=No se permiten los atributos includeIn y excludeFrom en la etiqueta ra\u00edz de un componente.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=No se permiten los atributos includeIn y excludeFrom en los elementos secundarios inmediatos de la etiqueta <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=No se permiten los atributos itemCreationPolicy y itemDestructionPolicy en la etiqueta ra\u00edz de un componente.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=No se permiten los atributos itemCreationPolicy y itemDestructionPolicy en los elementos secundarios inmediatos de la etiqueta <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} no se admite actualmente como elemento Array.
mxml.builder.ArrayBuilder.UnknownNode=${image} no se permite aqu\u00ed.
mxml.builder.AbstractBuilder.AtClearNotAllowed=La directiva @Clear s\u00f3lo se puede usar con las propiedades de estilo espec\u00edficas del estado.
mxml.builder.AbstractBuilder.BindingNotAllowed=La expresi\u00f3n de vinculaci\u00f3n de datos no se permite aqu\u00ed.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Inicializador de '${desc}': la expresi\u00f3n de enlace de datos no se permite aqu\u00ed.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=No se permiten expresiones de enlace de datos bidireccional de l\u00ednea aqu\u00ed.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Inicializador de '${desc}': no se permiten expresiones de enlace de datos bidireccional aqu\u00ed.
mxml.builder.AbstractBuilder.ClearNotAllowed=S\u00f3lo podr\u00e1 utilizarse @Clear con las propiedades espec\u00edficas del estado.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Inicializador de '${desc}': @ContextRoot no puede usarse con el tipo ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Ra\u00edz contextual no definida.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Inicializador de '${desc}': @Embed no puede usarse con el tipo ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Inicializador de '${desc}': no se puede analizar el valor de tipo ${type}${array} desde el texto '${text}'.
mxml.builder.AbstractBuilder.InvalidPercentage=Inicializador de '${desc}': expresi\u00f3n de porcentaje no v\u00e1lida: ${texto}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Inicializador de '${desc}': expresi\u00f3n de enlace bidireccional no v\u00e1lida: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Expresi\u00f3n de enlace bidireccional no v\u00e1lida: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Inicializador de '${desc}': los valores de tipo ${type} no se pueden representar en el texto.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Inicializador de '${desc}': no se permiten porcentajes aqu\u00ed.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Inicializador de '${desc}': directiva de tiempo de compilaci\u00f3n no reconocida.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] de la propiedad '${property}' no asigna ning\u00fan nombre a una propiedad de clase '${type}' a la que se pueda tener acceso.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Existen varios inicializadores de la propiedad '${name}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Existen varios inicializadores de la propiedad '${name}'. (nota: '${name}' es la propiedad predeterminada de '${type}').
mxml.builder.AbstractBuilder.EventTypeUnavailable=No est\u00e1 disponible el tipo de evento '${type}'.
mxml.builder.AbstractBuilder.EventHandlerEmpty=El controlador de eventos est\u00e1 vac\u00edo.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Existen varios inicializadores del estilo '${name}'.
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Existen varios inicializadores del efecto '${name}'.
mxml.builder.AbstractBuilder.ClassNotAvailable=No est\u00e1 disponible la clase '${className}'.
mxml.builder.AbstractBuilder.TypeNotAvailable=No est\u00e1 disponible el tipo MXML '${type}' est\u00e1ndar.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=No es posible asignar '${type}' a la propiedad predeterminada '${defaultProperty}' del tipo '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=En el inicializador de '${lvalue}', no se puede asignar el tipo ${type} al tipo de destino '${targetType}'.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Varios valores de inicializador para la propiedad predeterminada '${defaultProperty}' del tipo '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotMultiple=En el inicializador de '${lvalue}', varios valores de inicializador para el tipo de destino ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=En el inicializador de '${lvalue}', no se puede asignar el tipo ${type} al tipo de destino ${targetType} ni al tipo de elemento de destino ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=En el inicializador de '${lvalue}', no se puede asignar el tipo ${type} al tipo de elemento ${targetElementType} de destino ${targetType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=El inicializador de la propiedad '${name}' no se permite aqu\u00ed.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Los atributos itemCreationPolicy y itemDestructionPolicy deben acompa\u00f1ar el atributo includeIn o excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Valor no v\u00e1lido para el atributo itemCreationPolicy.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=itemDestructionPolicy debe acompa\u00f1ar el atributo includeIn o excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Valor no v\u00e1lido para el atributo itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=La propiedad '${name}' es de s\u00f3lo lectura.
mxml.builder.AbstractBuilder.PropertyUnreachable=Error interno: no se puede tener acceso al tipo de la propiedad '{name}'.
mxml.builder.AbstractBuilder.StyleUnreachable=Error interno: no se puede tener acceso al tipo de estilo '{name}'.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Valor no v\u00e1lido: ${value}. Debe ser uno de ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=El reproductor de Flash no admite cargar SVG en tiempo de ejecuci\u00f3n. Para incrustar SVG use la funci\u00f3n en tiempo de compilaci\u00f3n @Embed().
mxml.builder.AbstractBuilder.EmptyChildInitializer=El inicializador de etiquetas secundarias de tipo '${type}' no puede estar vac\u00edo.

# 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}' est\u00e1 en desuso.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement=${name}' est\u00e1 en desuso. Utilice '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSince=${name}' est\u00e1 en desuso desde ${since}. Utilice '${replacement}'.
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement=${name}' est\u00e1 en desuso desde ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=El estilo '${stylePropertyName}' se excluye por tipo '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=El estilo '${stylePropertyName}' s\u00f3lo es compatible con el tipo '${typeName}' con tema(s) '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=El estilo '${stylePropertyName}' s\u00f3lo es compatible con el tipo '${typeName}' con tema(s) '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=Espacio de nombres ${namespace} desconocido en el atributo ${text} (s\u00f3lo se admiten espacios de nombres de atributo predeterminados).
mxml.builder.ComponentBuilder.UnknownAttribute=No se puede resolver el atributo '${name}' para el tipo de componente ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=No se puede resolver el atributo '${localPart}' en el espacio de nombres '${namespace}' para el tipo de componente ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Los elementos secundarios de '${parentTypeName}' que especifiquen el valor de la propiedad predeterminada de '${propertyName}' deben ser contiguos.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Las declaraciones de componentes no se permiten aqu\u00ed. (Nota: los elementos secundarios visuales deben implementar ${interfaceName})
mxml.builder.ComponentBuilder.NestedDeclaration=Las declaraciones de componentes no se permiten aqu\u00ed.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=${type}' es un elemento primitivo gr\u00e1fico que debe anidarse en un grupo para poder agregarse a '${parentType}'.
mxml.builder.ComponentBuilder.MixedContent=El contenido mixto no se permite aqu\u00ed.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Puede que el componente no tenga ni inicializador ni atributos de texto.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} no se permite aqu\u00ed.
mxml.builder.ComponentBuilder.MixedInitializers=Se especificaron los inicializadores tanto de texto como los que no son de texto.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Las anulaciones del estado ya no pueden declararse de manera expl\u00edcita. La sintaxis de los estados heredados est\u00e1 en desuso.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Los elementos secundarios de los navegadores Halo deben implementar INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Los elementos principales de los repetidores deben ser contenedores Halo.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=La sintaxis de propiedad espec\u00edfica de estado '${name}' no se admite para versiones de lenguaje MXML anteriores a 2009.
mxml.builder.ModelBuilder.ClassNotFound=No se pudo encontrar la clase ${className}.
mxml.builder.ModelBuilder.OnlyOneRootTag=S\u00f3lo se permite una etiqueta ra\u00edz.
mxml.builder.ModelBuilder.OnlyScalarError=El modelo '${id}' contiene s\u00f3lo contenido escalar: actualmente no se admite.
mxml.builder.PrimitiveBuilder.InitializerRequired=Aqu\u00ed se necesita el valor del inicializador.
mxml.builder.XMLBuilder.OnlyOneRootTag=S\u00f3lo se permite una etiqueta ra\u00edz.
mxml.builder.XMLBuilder.MixedContent=El contenido mixto no se permite aqu\u00ed.
mxml.builder.XMLBuilder.RequireXMLContent=Se necesita contenido XML.
mxml.builder.XMLListBuilder.RequireXMLContent=Se necesita contenido XML.
mxml.builder.VectorBuilder.WrongElementType=Los elementos de este Vector deben poder asignarse a '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=No se pudo resolver ${tag} en una implementaci\u00f3n de componentes.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=El contenido mixto no se permite aqu\u00ed.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=No se permiten elementos secundarios aqu\u00ed.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Se debe especificar s\u00f3lo un espacio de nombres de idiomas por documento. Se encontr\u00f3 '${ns1}' y '${ns2}'.
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=No est\u00e1 disponible la compatibilidad de n\u00fameros de l\u00ednea para los atributos de etiquetas XML. Es posible que la notificaci\u00f3n de errores MXML en tiempo de compilaci\u00f3n y la depuraci\u00f3n de componentes no proporcionen n\u00fameros de l\u00ednea correctos. Aseg\u00farese de que xercesPatch.jar est\u00e9 en la ruta de acceso de la clase.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Final inesperado de la secuencia de tokens. El \u00faltimo token fue: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Final inesperado de la secuencia de eventos SAX. El \u00faltimo elemento fue: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Se ha encontrado una instrucci\u00f3n de procesamiento inesperada; \u00e9sta se omitir\u00e1. Encontrado: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: tipo ${elementTypeName} no encontrado.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): el tipo ${instanceTypeName} no est\u00e1 disponible.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Directiva de incrustaci\u00f3n no v\u00e1lida en la hoja de estilos; no se puede resolver el origen '${source}'.
mxml.rep.AtEmbed.NoEmbedParams=No se proporcionaron par\u00e1metros para @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=El atributo de origen no se admite con skinClass.
mxml.rep.AtResource.NoResourceParams=No se proporcionaron par\u00e1metros para @Embed().
mxml.rep.AtResource.NoResourceKeyParam=No se proporcionaron par\u00e1metros clave para @Resource()).
mxml.rep.AtResource.NoResourceBundleParam=No se proporcionaron par\u00e1metros de paquete para @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=No se puede resolver la versi\u00f3n del idioma MXML. Especifique el espacio de nombres del idioma en la etiqueta del documento ra\u00edz.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=El identificador '${name}' se utiliza para un grupo de estados y un estado.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=Las palabras claves includeIn y excludeFrom no pueden especificarse al mismo tiempo.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Intento por inicializar la propiedad heredada no p\u00fablica '${name}' desde MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Intento por inicializar la propiedad heredada de s\u00f3lo lectura '${name}' desde MXML.
mxml.rep.MxmlDocument.StateResolutionError=Se hizo referencia al estado '${name}' sin que sea declarado.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Intento por inicializar la propiedad heredada '${name}' de tipo '${propertyType}' con un valor de tipo incompatible '${valueType}'.
mxml.rep.StatesModel.ConflictingReparentTags=No se puede cambiar el elemento principal de un \u00fanico destino '${target}' a m\u00faltiples destinos dentro del mismo estado ('${name}').
mxml.rep.StatesModel.DuplicateState=Varias definiciones para el estado '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=No se puede cambiar el elemento principal del destino '${target}' a un destino espec\u00edfico. Tipo o propiedad escalar no compatible.
mxml.rep.StatesModel.IncompatibleStatefulNode=Los nodos de valor escalar no pueden ser espec\u00edficos del estado.
mxml.rep.StatesModel.InvalidReparentState=No se puede cambiar el elemento principal del destino '${target}'. Ya existe en el estado ('${name}').
mxml.rep.StatesModel.TargetResolutionError=No se puede resolver el destino del cambio de elemento principal especificado '${name}'.
mxml.rep.StatesModel.MultipleInitializers=Existen varios inicializadores de la propiedad '${name}' en el estado '${state}'.
mxml.rep.StatesModel.IncompatibleState=No se puede realizar el componente dentro del estado '${state}' ya que se excluy\u00f3 un ascendiente del '${state}'.
mxml.rep.StatesModel.CircularReparent=Se detect\u00f3 una referencia circular en el estado '${state}' debido a la etiqueta Reparent.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=No se puede generar el c\u00f3digo de inicializaci\u00f3n en el repetidor, debido a un identificador o enlace de datos de un componente que no es un elemento secundario. 


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time}ms
util.Benchmark.BenchmarkTotalText=${message} ${time}ms Total de ejecuci\u00f3n: ${total}ms
util.Benchmark.BenchmarkID=${id}: ${duration}ms
util.Benchmark.TotalTime=Tiempo total: ${time}ms
util.Benchmark.MemoryUsage=Valor m\u00e1ximo de uso de memoria: ${total} MB (Mont\u00f3n: ${heap}, sin mont\u00f3n: ${nonHeap})
util.AbstractLogger.Info=Informaci\u00f3n
util.AbstractLogger.Warning=Advertencia
util.AbstractLogger.Error=Error
util.AbstractLogger.col=col
util.AbstractLogger.Recompile=Volver a compilar
util.AbstractLogger.Reason=Motivo
util.AbstractLogger.Updated=Actualizado
util.ManifestParser.UndefinedClass=Manifiesto: error al cargar el espacio de nombres ${fileName}: ${line} el componente ${tag} tiene una clase sin definir.
util.ManifestParser.ManifestError=Manifiesto: error al cargar el espacio de nombres ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifiesto: error al cargar el espacio de nombres ${fileName}: ${line} el componente ${tag} no puede usar * como la clase definida.
util.ManifestParser.DuplicateComponentDefinition=Manifiesto: error al cargar el espacio de nombres ${fileName}: ${line} el componente ${tag} est\u00e1 definido varias veces en este espacio de nombres.
util.MD5Crypt.UnsupportedAlgorithm=Codificaci\u00f3n MD5: no se admite el algoritmo de codificaci\u00f3n de contrase\u00f1a.
util.XMLStringSerializer.IllegalXMLChar=Car\u00e1cter XML no v\u00e1lido
util.VelocityManager.InitializationError=Excepci\u00f3n al inicializar el motor de velocidad: ${message}
util.VelocityManager.InvocationError=M\u00e9todo '${className}.${methodName}': excepci\u00f3n de invocaci\u00f3n durante la generaci\u00f3n del c\u00f3digo: ${message}
util.VelocityManager.TemplateReferenceIsNull=La referencia de la plantilla '${s}' da como resultado el valor null.
util.VelocityManager.GetMethodNotFound=${template} l\u00ednea ${line}, columna ${column}: no se encontr\u00f3 el m\u00e9todo Get del '${identifier}' en ${className}
util.VelocityManager.SetMethodNotFound=${template} l\u00ednea ${line}, columna ${column}: no se encontr\u00f3 el m\u00e9todo Set del '${identifier}' en ${className}
util.LocalLogger.ErrMsgBug=Error de notificaci\u00f3n del error del compilador flex.
util.LocalLogger.GeneratedCodeMarker=C\u00f3digo generado (use -keep para guardar)
util.LocalLogger.PathInfo=Ruta: ${filepath}
util.LocalLogger.LineInfo=L\u00ednea: ${fileline}
util.LocalLogger.ColumnInfo=Columna: ${filecol}
util.LocalLogger.MessageInfo=Mensaje: ${filemsg}
util.LocalLogger.SourceInfo=Origen: ${filesource}
util.LocalLogger.ErrorCodeInfo=C\u00f3digo de error: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=seguimiento de la pila
util.VelocityException.UnableToWriteGeneratedFile=No se puede escribir el archivo generado (${fileName}): ${message}.
util.VelocityException.TemplateNotFound=No se puede cargar la plantilla '${template}'.
util.VelocityException.GenerateException=Excepci\u00f3n al generar desde ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=La codificaci\u00f3n de la cadena dada no es correcta: ${string}
util.OrderedProperties.RemovedFromProperty=Una propiedad no puede contener '${cadena}' y se quit\u00f3 de '${property}'


# flex2.compiler
CompilerAPI.UnableToSetHeadless=No se puede establecer java.awt.headless debido a una excepci\u00f3n de seguridad. Establ\u00e9zcalo manualmente en la l\u00ednea de comandos.
CompilerAPI.IncompatibleSWCArchive=El archivo de SWC ${swc} no es compatible con este compilador.
CompilerAPI.OutputTime=Archivos: ${size} Hora:
CompilerAPI.NotFullyCompiled=El archivo de origen no se compil\u00f3 totalmente.
CompilerAPI.SourceNoLongerExists=Ya no existe el archivo de origen.
CompilerAPI.SourceFileUpdated=Se ha actualizado el archivo de origen o uno de los archivos incluidos.
CompilerAPI.AssetUpdated=Se ha actualizado uno de los activos.
CompilerAPI.SwcDefinitionObsoleted=${newLocation}' ha vuelto la definici\u00f3n obsoleta.
CompilerAPI.DependencyUpdated=Se ha actualizado la dependencia '${dependency}'.
CompilerAPI.DependencyNotCached=La dependencia '${dependency}' no se ha guardado en cach\u00e9.
CompilerAPI.NotSourcePathFirstPreference=El archivo de origen ya no es la primera preferencia de la ruta de acceso de origen.
CompilerAPI.DependentFileNoLongerExists=Ya no existe el archivo dependiente, ${location}.
CompilerAPI.InvalidImportStatement=Ya no es v\u00e1lida la instrucci\u00f3n de importaci\u00f3n, ${defName}.
CompilerAPI.DependentFileModified=Se ha actualizado el archivo dependiente, ${location}.
CompilerAPI.MultiNameMeaningChanged=Ha cambiado el significado del multinombre ${multiName} de '${qName}' a un nombre diferente.
CompilerAPI.FilesChangedAffected=Archivos cambiados: ${updateCount} Archivos afectados: ${count}
CompilerAPI.MoreThanOneDefinition=Un archivo encontrado en una ruta de acceso de origen no puede tener m\u00e1s de una definici\u00f3n visible externamente. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=Un archivo encontrado en una ruta de acceso de origen debe tener una definici\u00f3n visible externamente. Si la finalidad de una definici\u00f3n del archivo es que se vea as\u00ed, coloque la definici\u00f3n en el paquete.
CompilerAPI.WrongPackageName=Un archivo encontrado en una ruta de acceso de origen debe tener la misma estructura de paquete '${pathPackage}', que el paquete de la definici\u00f3n, '${defPackage}'.
CompilerAPI.WrongDefinitionName=Un archivo encontrado en una ruta de acceso de origen '${pathName}' debe tener el mismo nombre que la definici\u00f3n de clase del archivo '${defName}'.
CompilerAPI.CircularInheritance=La definici\u00f3n se encuentra en herencia circular.
CompilerAPI.UnableToResolveDependency=No se puede resolver la dependencia en ${localPart}.
CompilerAPI.AmbiguousMultiname=No se puede resolver una referencia multinombre de modo inequ\u00edvoco. Est\u00e1n disponibles ${qName1} (de ${source1}) y ${qName2} (de ${source2}).
CompilerAPI.SWFEncoding=Codificaci\u00f3n de SWF...
CompilerAPI.PersistingCompilationUnits=Conservando ${count} unidades de compilaci\u00f3n...
CompilerAPI.FailedToMatchCacheFile=Error de coincidencia del destino de compilaci\u00f3n con ${cacheName}. No se volver\u00e1 a usar el archivo de cach\u00e9.
CompilerAPI.LoadingCompilationUnits=Cargando ${count} unidades de compilaci\u00f3n...
CompilerAPI.ChannelDefinitionNotFound=No se puede encontrar la definici\u00f3n de canal, ${clientType}.
CompilerAPI.TooManyErrors=Se encontraron demasiados errores.
CompilerAPI.ForcedToStop=Se indic\u00f3 al compilador que se detuviese.
CompilerAPI.UnableToWriteSizeReport=No se puede escribir el informe de tama\u00f1o en ${fileName}.
CompilerAPI.UnableToResolveClass=No se puede resolver una clase de ${type}: ${className}.
CompilerAPI.UnableToResolveResourceBundle=No se puede resolver el paquete de recursos "${bundleName}".
CompilerAPI.UnableToResolveResourceBundleForLocale=No se puede resolver el paquete de recursos "${bundleName}" para la configuraci\u00f3n regional "${locale}".
CompilerAPI.UnableToResolveNeededClass=No se puede resolver la clase necesaria: ${className}.
CompilerAPI.BatchTime=Compilando ${sourceName}, fase ${phase}...
CompilerAPI.CompileTime=Compilando fase ${phase}\u2026
CompilerAPI.NoCompilerFound=No existe compilador para '${sourceName}'.
CompilerException=Errores durante la compilaci\u00f3n...
CompilerSwcContext.Loaded = ${loaded} bibliotecas cargadas...
FileSpec.UnsupportedFileType=Tipo de archivo no admitido: ${name}
SourceList.UnsupportedFileType=Tipo de archivo no admitido: ${name}
SourceList.FileNotInSourcePath=${name} debe estar en la ruta de acceso de origen.
PersistenceStore.ObsoleteCacheFileFormat=Se ha detectado un formato de archivo de cach\u00e9 obsoleto. No se volver\u00e1 a usar el archivo de cach\u00e9.
PersistenceStore.NoFileSpec=Existen datos de compilaci\u00f3n basados en FileSpec, pero no se proporciona FileSpec.
PersistenceStore.NoSourceList=Existen datos de compilaci\u00f3n basados en SourceList, pero no se proporciona SourceList.
PersistenceStore.NoSourcePath=Existen datos de compilaci\u00f3n basados en SourcePath, pero no se proporciona SourcePath.
PersistenceStore.NoResourceBundlePath=Existen datos de compilaci\u00f3n basados en ResourceBundlePath, pero no se proporciona ResourceBundlePath.
PersistenceStore.NoResourceContainer=Existen datos de compilaci\u00f3n basados en ResourceContainer, pero no se proporciona ResourceContainer.
SourcePathBase.ClasspathOverlap=Entrada de la ruta de acceso de origen, '${cpath}', es un subdirectorio de dicha ruta, '${directory}'.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} y ${file2} no pueden coexistir en el mismo directorio.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=no se puede cargar la plantilla '${template}'
mxml.ImplementationCompiler.CodeGenerationException=Excepci\u00f3n al generar desde ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=se encontr\u00f3 un espacio de nombres MXML no admitido ('${namespace1}'). Use el espacio de nombres MXML '${namespace2}' para el c\u00f3digo fuente de MXML 2.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Se encontr\u00f3 un car\u00e1cter o marcado no v\u00e1lido. Intente rodear el c\u00f3digo con un bloque CDATA.
mxml.InterfaceCompiler.WhitespaceBeforePI=No se permiten espacios en blanco delante de una instrucci\u00f3n de procesamiento XML (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier='${id}' no es un identificador v\u00e1lido.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=se ha usado el identificador '${id}' varias veces.
mxml.InterfaceCompiler.IdentifierMatchesClassName='${name}': puede que el identificador y la clase no tengan el mismo nombre.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=el nombre de la clase debe ser un identificador ActionScript v\u00e1lido.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=se ha especificado el nombre de la clase varias veces en el documento.
mxml.InterfaceCompiler.InlineComponentInternalError=error interno al procesar el componente en l\u00ednea.
mxml.InterfaceCompiler.BaseClassNotFound=No se puede encontrar la clase base '${baseClassName}' especificada para la clase de componente '${className}'.
mxml.InterfaceCompiler.InvalidComponentName=Nombre de componente '${name}' no v\u00e1lido: el nombre del componente debe ser un nombre de clase ActionScript v\u00e1lido.
mxml.InterfaceCompiler.InvalidToken=Error de an\u00e1lisis: no se permite '${child}' despu\u00e9s de '${parent}'.
mxml.InterfaceCompiler.MissingEndTag=Se debe terminar el tipo de elemento '${tag}' mediante la coincidencia con la etiqueta de cierre '${endTag}'.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=El marcado del documento situado a continuaci\u00f3n del elemento ra\u00edz debe tener el formato correcto.
mxml.InterfaceCompiler.StateNameRequired=name' es un atributo obligatorio para la etiqueta State.
mxml.InterfaceCompiler.VectorTypeRequired=type' es un atributo obligatorio para la etiqueta Vector.
mxml.InvalidStateAttributeUsage=No se permiten los atributos includeIn ni excludeFrom en la etiqueta de idioma MXML '${name}'.
mxml.InvalidStateSpecificValue=No se puede especificar el valor espec\u00edfico del estado para el atributo del idioma MXML '${name}'.

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Directiva de ClassReference no v\u00e1lida en el paquete de recursos. Debe contener un solo par\u00e1metro de tipo String.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc} versi\u00f3n ${swcVer} no es compatible con la versi\u00f3n del compilador ${compilerVer}.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=No se pudo crear ${file}: ${message}
asdoc.AsDocAPI.UnknownOS=SO desconocido para ASDoc. ASDoc se ejecutar\u00e1 en Windows y Mac OS X solamente.
asdoc.AsDocAPI.NotFound=La siguiente ${property} no se pudo encontrar: ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} depende de:
