################################################################################
##
##  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=Carregando arquivo de configura\u00e7\u00e3o ${file}

CommandLineHelp=Use '${program} -help' para obter informa\u00e7\u00f5es sobre como usar a linha de comandos.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Nome de componente inv\u00e1lido '${name}': o nome do componente deve ser um nome de classe ActionScript legal.
css.CssCompiler.StyleSheetParseError=Erro ao analisar a folha de estilos: ${stylePath}
css.ConditionTypeNotSupported=O tipo de condi\u00e7\u00e3o de seletor CSS n\u00e3o \u00e9 suportado: '${condition}'
css.SelectorTypeNotSupported=O tipo de seletor CSS n\u00e3o \u00e9 suportado: '${selector}'
css.UnresolvedQualifiedTypeSelector=N\u00e3o \u00e9 poss\u00edvel resolver o tipo qualificado '${type}' do namespace no seletor CSS '${selector}'
css.UnqualifiedTypeSelector=O tipo '${type}' no seletor CSS '${selector}' deve ser qualificado com um namespace.
css.StyleDef.InvalidReference=Diretiva ${type}Reference inv\u00e1lida na folha de estilos. Ela deve conter um \u00fanico par\u00e2metro String.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() s\u00f3 pode ser usada no contexto de um documento.
css.StylesContainer.ParseError=Problema ao analisar o CSS padr\u00e3o: ${message}.
css.StylesContainer.DefaultCSSFileNotFound=Arquivo CSS padr\u00e3o n\u00e3o encontrado.
css.StylesContainer.ExcludedStyleProperty=O estilo '${stylePropertyName}' \u00e9 exclu\u00eddo pelo tipo '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} n\u00e3o \u00e9 uma refer\u00eancia de propriedade de documento.
css.StylesContainer.InvalidStyleProperty=O estilo '${stylePropertyName}' n\u00e3o foi declarado pelo tipo '${typeName}'.
css.StylesContainer.InvalidStyleTheme=O estilo '${stylePropertyName}' \u00e9 somente suportado pelo tipo '${typeName}' com os temas '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=O seletor de tipos CSS '${styleName}' n\u00e3o foi processado, porque o tipo n\u00e3o foi usado no aplicativo.
css.StylesContainer.ComponentTypeSelectorsNotSupported=N\u00e3o h\u00e1 suporte para seletores de tipo CSS em componentes: '${selector}'
css.StyleConflictException=A declara\u00e7\u00e3o de estilo '${style}' est\u00e1 em conflito com a declara\u00e7\u00e3o anterior em ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension=${source}' n\u00e3o tem uma extens\u00e3o reconhecida e um mimeType n\u00e3o foi fornecido
TranscoderException.NoMatchingTranscoder=nenhum transcodificador registrado para mimeType '${mimeType}'
TranscoderException.NoAssociatedClass=nenhuma classe associada a '${tag}' ao usar ${transcoder}
media.AbstractTranscoder.UnsupportedAttribute=n\u00e3o h\u00e1 suporte para o par\u00e2metro de transcodifica\u00e7\u00e3o '${attribute}' em '${className}'
media.AbstractTranscoder.UnableToResolve=n\u00e3o foi poss\u00edvel resolver '${source}' para transcodifica\u00e7\u00e3o
media.AbstractTranscoder.NetworkTranscodingSource=o recurso de rede ${url} n\u00e3o pode ser incorporado no momento da compila\u00e7\u00e3o. Use um arquivo local ou carregue o recurso em tempo de execu\u00e7\u00e3o
media.AbstractTranscoder.MissingSource=nenhuma origem fornecida a ser transcodificada
media.AbstractTranscoder.TemplateException=n\u00e3o foi poss\u00edvel carregar o modelo '${template}'
media.AbstractTranscoder.UnableToGenerateSource=n\u00e3o foi poss\u00edvel gerar a origem para a classe '${className}'
media.AbstractTranscoder.UnableToReadSource=n\u00e3o foi poss\u00edvel ler a origem da transcodifica\u00e7\u00e3o '${source}'
media.AbstractTranscoder.ExceptionWhileTranscoding=exce\u00e7\u00e3o durante a transcodifica\u00e7\u00e3o: ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen=${source}' resulta em c\u00f3digo gerado e n\u00e3o pode usar a classe '${className}' existente
media.AbstractTranscoder.IncompatibleTranscoderParameters=os par\u00e2metros de transcodifica\u00e7\u00e3o '${param1}' e '${param2}' s\u00e3o incompat\u00edveis

media.FontTranscoder.BadParameters=a transcodifica\u00e7\u00e3o de fontes exige a especifica\u00e7\u00e3o de 'fontName' e uma de 'source', 'systemFont' ou 'sourceList'
media.FontTranscoder.BadFlashType=flashType deve ser true ou false.
media.FontTranscoder.BadAdvancedAntiAliasing=advancedAntiAliasing deve ser true ou false.
media.FontTranscoder.InvalidUnicodeRangeException=intervalo Unicode '${range}' inv\u00e1lido
media.FontTranscoder.UnableToBuildFont=n\u00e3o foi poss\u00edvel criar a fonte '${fontName}'
media.FontTranscoder.UnableToExtrace=n\u00e3o foi poss\u00edvel extrair a fonte '${fileName}'
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=a fonte incorporada '${alias}' pode sombrear uma fonte de dispositivo com o mesmo nome. Use fontName para criar o alias da fonte com um nome diferente
media.LosslessImageTranscoder.InvalidQuality=A qualidade deve ser um duplo entre 0 e 100.
media.LosslessImageTranscoder.QualityRequiresCompression=A qualidade requer compress="true".
media.ImageTranscoder.ScalingGridException=a grade de dimensionamento deve ter os quatro cantos definidos
media.MovieTranscoder.MissingSymbolDefinition=defini\u00e7\u00e3o para o s\u00edmbolo '${symbol}' n\u00e3o encontrada
media.MovieTranscoder.MissingFontFace=fonte '${fontName}' com ${weight} espessura e estilo ${style} n\u00e3o encontrada
media.MovieTranscoder.UnableToBuildRootSprite=n\u00e3o foi poss\u00edvel criar a defini\u00e7\u00e3o Sprite na raiz
media.MovieTranscoder.BadScalingGridTarget=n\u00e3o \u00e9 poss\u00edvel aplicar a grade de dimensionamento ao tipo de recurso '${resourceType}'
media.MovieTranscoder.ScalingGridRange=os valores da grade de dimensionamento devem ser maiores do que zero; o valor \u00e0 esquerda deve ser menor do que o valor \u00e0 direita e o valor da parte superior deve ser menor do que o valor da parte inferior
media.MovieTranscoder.ScalingGridAlreadyDefined=O recurso do SWF j\u00e1 tem uma grade de dimensionamento
media.MovieTranscoder.IgnoringAS2=ignorando o c\u00f3digo AS2 dentro de '${symbol}'; somente aplicativos Flex 2 oferecem suporte ao AS3
media.SkinTranscoder.SkinClassNotFound=classe de skin '${className}' n\u00e3o foi encontrada
media.SoundTranscoder.UnsupportedSamplingRate=taxa de amostragem sem suporte (${frequency}Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=n\u00e3o foi poss\u00edvel determinar a contagem de quadros de amostra
media.SoundTranscoder.NotInMP3Format=o arquivo de som n\u00e3o foi reconhecido como um MP3.
media.SVGTranscoder.Deprecated=O uso de SVG foi preterido desde Flex 4. Use FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Nenhum c\u00f3digo de bytes dispon\u00edvel.
abc.AbcCompiler.BytecodeDecodingFailed=falha na decodifica\u00e7\u00e3o do c\u00f3digo de bytes abc.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=N\u00e3o foi poss\u00edvel transcodificar ${what}.
as3.EmbedEvaluator.UnableToCreateSource=N\u00e3o foi poss\u00edvel criar a origem ${name}.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=S\u00f3 h\u00e1 suporte para Embed com vari\u00e1veis do tipo Class ou String.
as3.EmbedEvaluator.InvalidEmbedVariable=Uma vari\u00e1vel Embed n\u00e3o deve ter um valor existente.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=H\u00e1 suporte para Embed somente em classes e vari\u00e1veis de membros.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} est\u00e1 obsoleta desde ${since}; use ${replacement}.
as3.EmbedExtension.IncompatibleAssetClass=A classe '${assetClass}' n\u00e3o estende a classe de base '${requiredBase}' do recurso '${assetType}'.
as3.EmbedExtension.NonPublicAssetClass=A classe '${assetClass}' deve ser p\u00fablica para usar seu recurso associado.
as3.HostComponentExtension.HostComponentClassNotFound=[HostComponent] classe '${className}' n\u00e3o encontrado.
as3.HostComponentExtension.MissingSkinPart=A parte da capa necess\u00e1ria '${skinPartName}' est\u00e1 ausente.
as3.HostComponentExtension.MissingSkinPartWarning=A parte da capa necess\u00e1ria '${skinPartName}' est\u00e1 ausente.
as3.HostComponentExtension.MissingSkinState=A parte da capa necess\u00e1ria '${skinStateName}' est\u00e1 ausente.
as3.HostComponentExtension.WrongSkinPartType=O tipo de parte da capa '${skinPartTypeName}' deve ser atribu\u00edvel para '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Os metadados exigem uma defini\u00e7\u00e3o associada.
as3.MetaDataParser.InvalidMetadataFormatError=Formato de metadados inv\u00e1lido.
as3.MetaDataParser.InvalidMetadataFormatWarning=Formato de metadados inv\u00e1lido.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Somente metadados s\u00e3o permitidos.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=Os metadados IconFile n\u00e3o devem ser definidos mais de uma vez em um arquivo. Defina como '${icon}' e '${val}' dentro de ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=A [AccessibilityClass] precisa definir uma propriedade de 'implementa\u00e7\u00e3o' especificando um nome de tipo.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] deve especificar um nome de tipo.
as3.SyntaxTreeEvaluator.DuplicateSkinState=Declara\u00e7\u00e3o duplicada de SkinState '${name}'.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=Somente um [HostComponent] \u00e9 permitido.
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] deve especificar um nome de tipo.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] deve especificar um nome de tipo.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] deve especificar um nome de propriedade.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=V\u00e1rias defini\u00e7\u00f5es de construtor encontradas. O construtor n\u00e3o pode estar definido no c\u00f3digo <Script/>.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=H\u00e1 suporte para os metadados ResourceBundle somente em vari\u00e1veis.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=Os metadados ResourceBundle devem fornecer um nome de pacote.
as3.SyntaxTreeEvaluator.DuplicateMetaData=Metadados '${metaData}' duplicados em getter e setter '${setter}' da ${declaringClass}.
as3.SyntaxTreeEvaluator.NotResourceBundleType=Uma vari\u00e1vel ResourceBundle deve ser digitada em mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=As partes da capa devem ser p\u00fablicas.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=Os metadados ResourceBundle de n\u00edvel de vari\u00e1vel est\u00e3o obsoletos.  Use metadados ResourceBundle de n\u00edvel de classe.
as3.StyleEvaluator.StyleMustAnnotateAClass=[Style] deve comentar uma classe.
as3.StyleEvaluator.StyleHasMissingName=Os metadados [Style] t\u00eam 'name' ausente.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=As classes [Managed] s\u00e3o automaticamente [Bindable]. Os metadados ser\u00e3o ignorados.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=As propriedades de uma classe [Managed] s\u00e3o automaticamente [Bindable]. Os metadados ser\u00e3o ignorados.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=Classe j\u00e1 marcada [Bindable]; o n\u00edvel da propriedade [Bindable] \u00e9 redundante e ser\u00e1 ignorado.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=[Bindable] exige um par\u00e2metro de nome de evento quando aplicado a uma fun\u00e7\u00e3o que n\u00e3o seja getter ou setter.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=[Bindable] n\u00e3o \u00e9 permitido dentro da defini\u00e7\u00e3o de fun\u00e7\u00e3o.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=[Bindable] n\u00e3o permitido aqui.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=[Bindable] n\u00e3o permitido em vari\u00e1veis globais ou de pacote.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=[Bindable] n\u00e3o permitido em vari\u00e1veis de membros const.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=[Bindable] n\u00e3o permitido em vari\u00e1veis de membros est\u00e1ticos.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=[Bindable] n\u00e3o permitido em vari\u00e1veis de membros n\u00e3o p\u00fablicos nesse contexto.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=[Bindable] n\u00e3o permitido em fun\u00e7\u00f5es globais ou em n\u00edvel de pacote.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=[Bindable] n\u00e3o permitido em fun\u00e7\u00f5es n\u00e3o p\u00fablicas nesse contexto.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=O nome do evento n\u00e3o \u00e9 um identificador ActionScript v\u00e1lido.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=[Bindable] no getter '${getter}' exige um setter definido localmente.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=O v\u00ednculo de dados n\u00e3o ser\u00e1 capaz de detectar atribui\u00e7\u00f5es a "${name}".
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=O v\u00ednculo de dados n\u00e3o ser\u00e1 capaz de determinar altera\u00e7\u00f5es quando for usado o operador colchete. Para Array, use ArrayCollection.getItemAt().


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=[Bindable] no getter somente leitura \u00e9 desnecess\u00e1rio e ser\u00e1 ignorado.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=[Bindable] no setter somente grava\u00e7\u00e3o \u00e9 inating\u00edvel e ser\u00e1 ignorado.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=A implementa\u00e7\u00e3o da interface '${interfaceName}' n\u00e3o p\u00f4de ser adicionada \u00e0 classe '${className}', devido \u00e0 colis\u00e3o com o m\u00e9todo ou a propriedade '${methodName}' existente.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=N\u00e3o foi poss\u00edvel carregar o modelo '${templateName}'
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Erro interno: exce\u00e7\u00e3o ao gerar do modelo '${templateName}' para a classe '${className]': ${exceptionText}

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Modo '${mode}' inv\u00e1lido especificado em [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] requer 'uid' para ser do tipo 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=Conflito no modo [Managed].
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=[Managed] s\u00f3 pode ser usado em defini\u00e7\u00f5es de classe ou em propriedades dentro de classes [Managed].
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=[Managed] foi especificado na classe '${className}' com uma propriedade de destino, mas um arquivo de servi\u00e7os n\u00e3o foi configurado. Associa\u00e7\u00f5es ociosas n\u00e3o ser\u00e3o aceitas.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] n\u00e3o pode ser usado em componentes mxml.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Nome de componente inv\u00e1lido '${name}': o nome do componente deve ser um nome de classe ActionScript legal.
fxg.FXGCompiler.FXGParseException=Exce\u00e7\u00e3o de an\u00e1lise de FXG
fxg.FXGCompiler.SourceGenerationException=Exce\u00e7\u00e3o de gera\u00e7\u00e3o de origem FXG

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=A solicita\u00e7\u00e3o n\u00e3o pode ter atributos.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=O m\u00e9todo exige um atributo de nome.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Os argumentos n\u00e3o podem ter atributos.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=A opera\u00e7\u00e3o exige um atributo name.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=A solicita\u00e7\u00e3o s\u00f3 pode ter o atributo 'format'.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Ignorando folha de estilos incorporada porque um arquivo de origem foi definido.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=N\u00e3o h\u00e1 suporte para express\u00f5es de v\u00ednculo de dados com atributos processados no momento da compila\u00e7\u00e3o.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Problema ao encontrar a folha de estilos externa: ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=A marca dever\u00e1 ficar vazia se o atributo de origem for especificado.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Problema ao encontrar o modelo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=O modelo externo possui somente conte\u00fado escalar. N\u00e3o h\u00e1 suporte para isso no momento.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Ignorando script em linha porque uma origem foi especificada.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Ignorando XML em linha porque uma origem foi especificada.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Problema para encontrar o XML externo: ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=O v\u00ednculo deve ter uma origem v\u00e1lida.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=O v\u00ednculo deve ter um destino v\u00e1lido.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=A origem e o destino do v\u00ednculo n\u00e3o podem ser iguais.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Atributo desconhecido: ${qname} em ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Problema ao encontrar o arquivo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Ignorando string incorporada porque um arquivo de origem foi definido.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Problema ao encontrar o arquivo externo: ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Problema para analisar o XML externo: ${name} - (line ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Problema para analisar o XML externo: ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Problema para analisar o XML externo: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Arquivo n\u00e3o encontrado: ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Problema ao analisar o texto simples externo: ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Erro ao analisar a folha de estilos: ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=A defini\u00e7\u00e3o de um componente em linha \u00e9 obrigat\u00f3ria.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=Uma defini\u00e7\u00e3o deve ter um atributo de nome.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=A defini\u00e7\u00e3o '${name}' deve ter exatamente um elemento filho.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=A marca da biblioteca deve ser o primeiro filho da marca raiz de um documento.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=A marca particular deve ser o \u00faltimo filho da marca raiz de um documento.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Reassociar deve ter um atributo de destino definido.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=Reassociar deve ter includeIn ou excludeFrom definidos.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=O elemento n\u00e3o pode conter uma express\u00e3o de v\u00ednculo junto com inicializadores de atributo.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=Ignorando CDATA ${image} porque existem outros elementos XML...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=N\u00e3o \u00e9 poss\u00edvel ter uma marca chamada "Object" dentro de modelos ou servi\u00e7os.
mxml.builder.DocumentBuilder.MissingAttribute=Atributo ${attribute} ausente.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError=${image}' deve ser um filho da marca raiz.
mxml.builder.DocumentBuilder.NestedDeclaration=A declara\u00e7\u00e3o '$declaration' deve ser contida na marca <Declarations>, uma vez que n\u00e3o implementa '${targetType}'.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=A declara\u00e7\u00e3o '${declaration}' deve ser contida na marca <Declarations>, uma vez que n\u00e3o pode ser atribu\u00edda ao tipo '${targetType}' da propriedade padr\u00e3o ou ao tipo de elemento '${targetElementType}'.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=A declara\u00e7\u00e3o '${declaration}' deve ser contida na marca <Declarations>, uma vez que n\u00e3o pode ser atribu\u00edda ao tipo de elemento '${targetElementType}' da propriedade padr\u00e3o.
mxml.builder.DocumentBuilder.DefaultPropertyError=N\u00e3o h\u00e1 suporte para a propriedade padr\u00e3o na marca raiz.
mxml.builder.DocumentBuilder.ThemeAttributeError=Defina o tema nas op\u00e7\u00f5es de configura\u00e7\u00e3o do compilador; n\u00e3o h\u00e1 mais suporte para o atributo 'theme' em documentos MXML.
mxml.builder.DocumentBuilder.RslAttributeError=Especifique bibliotecas compartilhadas de tempo de execu\u00e7\u00e3o nas op\u00e7\u00f5es de configura\u00e7\u00e3o do compilador; n\u00e3o h\u00e1 mais suporte para o atributo 'rsl' em documentos MXML.
mxml.builder.DocumentBuilder.LibAttributeError=Especifique bibliotecas usando as op\u00e7\u00f5es de configura\u00e7\u00e3o do compilador; n\u00e3o h\u00e1 mais suporte para o atributo 'lib' em documentos MXML.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed n\u00e3o permitido aqui.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear n\u00e3o permitido aqui.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Nome de classe '${className}' inv\u00e1lido especificado para o atributo 'preloader'.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Nome de classe '${className}' inv\u00e1lido especificado para o atributo 'splashScreenImage'.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Nome de classe '${className}' inv\u00e1lido especificado para o atributo 'runtimeDPIProvider'.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=O atributo id n\u00e3o \u00e9 permitido na marca raiz de um componente.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=Os atributos includeIn e excludeFrom n\u00e3o s\u00e3o permitidos na marca raiz de um componente.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=Os atributos includeIn e excludeFrom n\u00e3o s\u00e3o permitidos em filhos imediatos da marca <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=Os atributos itemCreationPolicy e itemDestructionPolicy n\u00e3o s\u00e3o permitidos na marca raiz de um componente.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=Os atributos itemCreationPolicy e itemDestructionPolicy n\u00e3o s\u00e3o permitidos em filhos imediatos da marca <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=n\u00e3o h\u00e1 suporte para ${image} no momento como o elemento Array.
mxml.builder.ArrayBuilder.UnknownNode=${image} n\u00e3o permitido aqui.
mxml.builder.AbstractBuilder.AtClearNotAllowed=A diretiva @Clear s\u00f3 pode ser usada para propriedades de estilo espec\u00edficas de estado.
mxml.builder.AbstractBuilder.BindingNotAllowed=Express\u00e3o de v\u00ednculo de dados n\u00e3o permitida aqui.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Inicializador para '${desc}': express\u00e3o de v\u00ednculo de dados n\u00e3o permitida aqui.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=Express\u00e3o de v\u00ednculo bidirecional inline n\u00e3o permitida aqui.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Inicializador de '${desc}': express\u00e3o de v\u00ednculo bidirecional n\u00e3o permitida aqui.
mxml.builder.AbstractBuilder.ClearNotAllowed=@Clear somente pode ser usado com propriedades espec\u00edficas de estado.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Inicializador de '${desc}': @ContextRoot n\u00e3o pode ser usado com o tipo ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Raiz de contexto indefinida.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Inicializador de '${desc}': @Embed n\u00e3o pode ser usado com o tipo ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Inicializador de '${desc}': n\u00e3o \u00e9 poss\u00edvel analisar valor do tipo ${type}${array} do texto '${text}'.
mxml.builder.AbstractBuilder.InvalidPercentage=Inicializador de '${desc}': express\u00e3o de porcentagem inv\u00e1lida: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Inicializador de '${desc}': express\u00e3o de v\u00ednculo bidirecional inv\u00e1lida: ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Express\u00e3o de v\u00ednculo bidirecional inv\u00e1lida: ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Inicializador de '${desc}': valores do tipo ${type} n\u00e3o podem ser representados em texto.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Inicializador de '${desc}': porcentagens n\u00e3o s\u00e3o permitidas aqui.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Inicializador de '${desc}': diretiva de tempo de compila\u00e7\u00e3o n\u00e3o reconhecida.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] na propriedade '${property}' n\u00e3o nomeia uma propriedade acess\u00edvel da classe '${type}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=V\u00e1rios inicializadores para a propriedade '${name}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=V\u00e1rios inicializadores para a propriedade '${name}'. (Observa\u00e7\u00e3o: '${name}' \u00e9 a propriedade padr\u00e3o de '${type}').
mxml.builder.AbstractBuilder.EventTypeUnavailable=O tipo de evento '${type}' n\u00e3o est\u00e1 dispon\u00edvel.
mxml.builder.AbstractBuilder.EventHandlerEmpty=O manipulador de eventos est\u00e1 vazio.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=V\u00e1rios inicializadores para o estilo '${name}'.
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=V\u00e1rios inicializadores para o efeito '${name}'.
mxml.builder.AbstractBuilder.ClassNotAvailable=Classe '${className}' n\u00e3o dispon\u00edvel.
mxml.builder.AbstractBuilder.TypeNotAvailable=Tipo MXML padr\u00e3o '${type}' n\u00e3o dispon\u00edvel.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=O '${type}' n\u00e3o pode ser atribu\u00eddo \u00e0 propriedade padr\u00e3o, '${defaultProperty}', de tipo '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=No inicializador de '${lvalue}', o tipo ${type} n\u00e3o pode ser atribu\u00eddo ao tipo de destino '${targetType}'.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=V\u00e1rios valores do inicializador para propriedade padr\u00e3o, '${defaultProperty}', de tipo '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotMultiple=No inicializador de '${lvalue}', valores m\u00faltiplos do inicializador do tipo de destino ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=No inicializador de '${lvalue}', o tipo ${type} n\u00e3o pode ser atribu\u00eddo ao tipo de destino ${targetType} ou tipo de elemento de destino ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=No inicializador de '${lvalue}', o tipo ${type} n\u00e3o pode ser atribu\u00eddo ao tipo de elemento ${targetElementType} de destino ${targetType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=O inicializador da propriedade '${name}' n\u00e3o \u00e9 permitido aqui.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Os atributos itemCreationPolicy e itemDestructionPolicy devem acompanhar o atributo includeIn ou excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Valor inv\u00e1lido para o atributo itemCreationPolicy.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=itemDestructionPolicy deve acompanhar o atributo includeIn ou excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Valor inv\u00e1lido para o atributo itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=A propriedade '${name}' \u00e9 somente leitura.
mxml.builder.AbstractBuilder.PropertyUnreachable=Erro interno: o tipo da propriedade '{name}' n\u00e3o \u00e9 acess\u00edvel.
mxml.builder.AbstractBuilder.StyleUnreachable=Erro interno: o tipo de estilo '{name}' n\u00e3o \u00e9 acess\u00edvel.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Valor inv\u00e1lido:  ${value}. Ele deve ser um de ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=O Flash Player n\u00e3o d\u00e1 suporte ao carregamento de SVG no tempo de execu\u00e7\u00e3o. Para incorporar SVG, use a fun\u00e7\u00e3o de tempo de compila\u00e7\u00e3o @Embed().
mxml.builder.AbstractBuilder.EmptyChildInitializer=O inicializador de marcas filho do tipo '${type}' n\u00e3o pode ficar vazio.

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

mxml.builder.ComponentBuilder.ExcludedStyleProperty=O estilo '${stylePropertyName}' \u00e9 exclu\u00eddo pelo tipo '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=O estilo '${stylePropertyName}' \u00e9 somente suportado pelo tipo '${typeName}' com os temas '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=O estilo '${stylePropertyName}' \u00e9 somente suportado pelo tipo '${typeName}' com os temas '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=Namespace ${namespace} desconhecido no atributo ${text} (h\u00e1 suporte somente para namespaces de atributos padr\u00e3o).
mxml.builder.ComponentBuilder.UnknownAttribute=N\u00e3o \u00e9 poss\u00edvel resolver o atributo '${name}' para o tipo de componente ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=N\u00e3o \u00e9 poss\u00edvel resolver o atributo '${localPart}' no espa\u00e7o reservado '${namespace}' para o tipo de componente ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Elementos filho de '${parentTypeName}' que servem como o valor da propriedade padr\u00e3o de '${propertyName}' devem ser cont\u00edguos.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Declara\u00e7\u00f5es de componentes n\u00e3o s\u00e3o permitidas aqui. (observa\u00e7\u00e3o: filhos visuais devem implementar ${interfaceName})
mxml.builder.ComponentBuilder.NestedDeclaration=Declara\u00e7\u00f5es de componentes n\u00e3o s\u00e3o permitidas aqui.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=O '${type}' \u00e9 uma primitiva gr\u00e1fica que deve ser contida em um grupo para ser adicionada ao '${parentType}'.
mxml.builder.ComponentBuilder.MixedContent=Conte\u00fado misto n\u00e3o permitido aqui.
mxml.builder.ComponentBuilder.InitializersNotAllowed=O componente n\u00e3o pode ter inicializador de texto e atributos.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} n\u00e3o \u00e9 permitida aqui.
mxml.builder.ComponentBuilder.MixedInitializers=Inicializadores de texto e que n\u00e3o s\u00e3o de texto foram especificados.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Substitui\u00e7\u00f5es de estado n\u00e3o podem mais ser declaradas explicitamente. A sintaxe das instru\u00e7\u00f5es herdadas est\u00e1 obsoleta.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Os filhos dos navegadores de Halo devem implementar INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Repetidores requerem um pai baseado no recipiente de Halo.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=A sintaxe de propriedade espec\u00edfica de estado '${name}' n\u00e3o tem suporte nas vers\u00f5es de idioma MXML anteriores a 2009.
mxml.builder.ModelBuilder.ClassNotFound=A classe ${className} n\u00e3o p\u00f4de ser encontrada.
mxml.builder.ModelBuilder.OnlyOneRootTag=Somente uma marca raiz \u00e9 permitida.
mxml.builder.ModelBuilder.OnlyScalarError=O modelo '${id}' possui somente conte\u00fado escalar. N\u00e3o h\u00e1 suporte para isso no momento.
mxml.builder.PrimitiveBuilder.InitializerRequired=O valor do inicializador \u00e9 obrigat\u00f3rio aqui.
mxml.builder.XMLBuilder.OnlyOneRootTag=Somente uma marca raiz \u00e9 permitida.
mxml.builder.XMLBuilder.MixedContent=Conte\u00fado misto n\u00e3o permitido aqui.
mxml.builder.XMLBuilder.RequireXMLContent=O conte\u00fado XML \u00e9 obrigat\u00f3rio.
mxml.builder.XMLListBuilder.RequireXMLContent=O conte\u00fado XML \u00e9 obrigat\u00f3rio.
mxml.builder.VectorBuilder.WrongElementType=Elementos deste Vector devem ser atribu\u00edveis a '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=N\u00e3o foi poss\u00edvel resolver ${tag} para uma implementa\u00e7\u00e3o de componente.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Conte\u00fado misto n\u00e3o \u00e9 permitido aqui.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Elementos filho n\u00e3o s\u00e3o permitidos aqui.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Especifique apenas um namespace de idioma por documento. Encontrados '${ns1}' e '${ns2}'.
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=O suporte de n\u00famero de linhas para atributos de marca XML n\u00e3o est\u00e1 dispon\u00edvel. \u00c9 poss\u00edvel que o relat\u00f3rio de erros do MXML de tempo de compila\u00e7\u00e3o e a depura\u00e7\u00e3o de componentes n\u00e3o forne\u00e7am os n\u00fameros de linhas corretos. Verifique se xercesPatch.jar est\u00e1 no caminho de classe.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Encerramento inesperado do fluxo de tokens. O \u00faltimo token foi: ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Encerramento inesperado do fluxo de eventos SAX. O \u00faltimo evento foi: ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Uma instru\u00e7\u00e3o de processamento inesperada foi encontrada e ser\u00e1 ignorada. Localizada: ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})]: tipo ${elementTypeName} n\u00e3o encontrado.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}): o tipo ${instanceTypeName} n\u00e3o est\u00e1 dispon\u00edvel.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Diretiva Embed inv\u00e1lida na folha de estilos; n\u00e3o \u00e9 poss\u00edvel resolver a origem '${source}'.
mxml.rep.AtEmbed.NoEmbedParams=Nenhum par\u00e2metro fornecido para @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=Atributo de origem n\u00e3o suportado com skinClass.
mxml.rep.AtResource.NoResourceParams=Nenhum par\u00e2metro fornecido para @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Nenhum par\u00e2metro de chave fornecido para @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Nenhum par\u00e2metro de pacote fornecido para @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=N\u00e3o foi poss\u00edvel resolver a vers\u00e3o de idioma MXML. Especifique o namespace de idioma na marca de documento raiz.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=Identificador '${name}' usado para um grupo de estados e um estado.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=As palavras-chave includeIn e excludeFrom n\u00e3o podem ser especificadas simultaneamente.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Tentativa de inicializar a propriedade herdada n\u00e3o p\u00fablica '${name}' a partir de MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Tentativa de inicializar a propriedade herdada somente leitura '${name}' a partir de MXML.
mxml.rep.MxmlDocument.StateResolutionError=O estado '${name}' foi referenciado sem ser declarado.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Tentativa de inicializar a propriedade herdada '${name}' do tipo '${propertyType}' com valor de tipo '${valueType}' incompat\u00edvel.
mxml.rep.StatesModel.ConflictingReparentTags=N\u00e3o \u00e9 poss\u00edvel reassociar o mesmo destino '${target}' a v\u00e1rios destinos dentro do mesmo estado ('${name}').
mxml.rep.StatesModel.DuplicateState=M\u00faltiplas defini\u00e7\u00f5es para o estado '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=N\u00e3o \u00e9 poss\u00edvel reassociar o destino '${target}' ao destino especificado. Tipo incompat\u00edvel ou propriedade escalar.
mxml.rep.StatesModel.IncompatibleStatefulNode=N\u00f3s de valor escalar podem n\u00e3o ser espec\u00edficos de estado.
mxml.rep.StatesModel.InvalidReparentState=N\u00e3o \u00e9 poss\u00edvel reassociar o destino '${target}'. Ele j\u00e1 existe no estado ('${name}').
mxml.rep.StatesModel.TargetResolutionError=N\u00e3o \u00e9 poss\u00edvel resolver o destino de reassocia\u00e7\u00e3o especificado '${name}'.
mxml.rep.StatesModel.MultipleInitializers=V\u00e1rios inicializadores da propriedade '${name}' no estado '${state}'.
mxml.rep.StatesModel.IncompatibleState=N\u00e3o \u00e9 poss\u00edvel realizar o componente dentro do estado '${state}' porque um ancestral est\u00e1 exclu\u00eddo do '${state}'. 
mxml.rep.StatesModel.CircularReparent=Refer\u00eancia circular detectada dentro do estado '${state}' devido \u00e0 marca Reparent.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=N\u00e3o foi poss\u00edvel gerar c\u00f3digo de inicializa\u00e7\u00e3o dentro do repetidor, pois a ID ou o v\u00ednculo de dados de um componente n\u00e3o \u00e9 um filho visual.  


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time}ms
util.Benchmark.BenchmarkTotalText=${message} ${time}ms Total cumulativo: ${total}ms
util.Benchmark.BenchmarkID=${id}: ${duration}ms
util.Benchmark.TotalTime=Tempo total: ${time}ms
util.Benchmark.MemoryUsage=Uso m\u00e1ximo de mem\u00f3ria: ${total} MB (heap: ${heap}, fora do heap: ${nonHeap})
util.AbstractLogger.Info=Informa\u00e7\u00f5es
util.AbstractLogger.Warning=Aviso
util.AbstractLogger.Error=Erro
util.AbstractLogger.col=col
util.AbstractLogger.Recompile=Recompilar
util.AbstractLogger.Reason=Motivo
util.AbstractLogger.Updated=Atualizado
util.ManifestParser.UndefinedClass=Manifesto: erro ao carregar o namespace ${fileName}: ${line} O componente ${tag} tem classe indefinida.
util.ManifestParser.ManifestError=Manifesto: erro ao carregar o namespace ${fileName}: ${line} ${message}
util.ManifestParser.InvalidClassName=Manifesto: erro ao carregar o namespace ${fileName}: ${line} O componente ${tag} n\u00e3o pode usar * como a classe definida.
util.ManifestParser.DuplicateComponentDefinition=Manifesto: erro ao carregar o namespace ${fileName}: ${line} O componente ${tag} est\u00e1 definido mais de uma vez nesse espa\u00e7o.
util.MD5Crypt.UnsupportedAlgorithm=Criptografia do MD5: algoritmo de criptografia de senha sem suporte.
util.XMLStringSerializer.IllegalXMLChar=Caractere XML ilegal
util.VelocityManager.InitializationError=Exce\u00e7\u00e3o ao inicializar o mecanismo de velocidade: ${message}
util.VelocityManager.InvocationError=M\u00e9todo '${className}.${methodName}': exce\u00e7\u00e3o de chamada durante codegen: ${message}
util.VelocityManager.TemplateReferenceIsNull=A refer\u00eancia do modelo '${s}' gera resultado nulo.
util.VelocityManager.GetMethodNotFound=${template} linha ${line}, coluna ${column}: m\u00e9todo Get para '${identifier}' n\u00e3o encontrado em ${className}
util.VelocityManager.SetMethodNotFound=${template} linha ${line}, coluna ${column}: m\u00e9todo Set para '${identifier}' n\u00e3o encontrado em ${className}
util.LocalLogger.ErrMsgBug=Erro do Flex Compiler ao gerar relat\u00f3rio de erros
util.LocalLogger.GeneratedCodeMarker=C\u00f3digo gerado (usar -keep para salvar)
util.LocalLogger.PathInfo=Caminho: ${filepath}
util.LocalLogger.LineInfo=Linha: ${fileline}
util.LocalLogger.ColumnInfo=Coluna: ${filecol}
util.LocalLogger.MessageInfo=Mensagem: ${filemsg}
util.LocalLogger.SourceInfo=Origem: ${filesource}
util.LocalLogger.ErrorCodeInfo=C\u00f3digo de erro: ${fileerrorCode}
util.LocalLogger.StackTraceInfo=rastreio de pilha
util.VelocityException.UnableToWriteGeneratedFile=N\u00e3o foi poss\u00edvel gravar o arquivo gerado (${fileName}): ${message}.
util.VelocityException.TemplateNotFound=N\u00e3o foi poss\u00edvel carregar o modelo '${template}'.
util.VelocityException.GenerateException=Exce\u00e7\u00e3o ao gerar do ${template}: ${message}.
util.OrderedProperties.MalformedEncoding=A codifica\u00e7\u00e3o da string especificada est\u00e1 malformada: ${string}
util.OrderedProperties.RemovedFromProperty=${string}' n\u00e3o pode estar contida em uma propriedade e foi removida de '${property}'


# flex2.compiler
CompilerAPI.UnableToSetHeadless=N\u00e3o foi poss\u00edvel definir java.awt.headless devido a uma exce\u00e7\u00e3o de seguran\u00e7a. Defina-o manualmente na linha de comando.
CompilerAPI.IncompatibleSWCArchive=O arquivo morto SWC ${swc} \u00e9 incompat\u00edvel com esse compilador.
CompilerAPI.OutputTime=Arquivos: ${size} hora:
CompilerAPI.NotFullyCompiled=O arquivo de origem n\u00e3o foi totalmente compilado.
CompilerAPI.SourceNoLongerExists=O arquivo de origem n\u00e3o existe mais.
CompilerAPI.SourceFileUpdated=O arquivo de origem ou um dos arquivos inclu\u00eddos foi atualizado.
CompilerAPI.AssetUpdated=Um dos ativos foi atualizado.
CompilerAPI.SwcDefinitionObsoleted=Defini\u00e7\u00e3o tornada obsoleta por '${newLocation}'.
CompilerAPI.DependencyUpdated=A depend\u00eancia, '${dependency}', foi atualizada.
CompilerAPI.DependencyNotCached=A depend\u00eancia '${dependency}' n\u00e3o est\u00e1 armazenada em cache.
CompilerAPI.NotSourcePathFirstPreference=O arquivo de origem n\u00e3o \u00e9 mais a primeira prefer\u00eancia do caminho de origem.
CompilerAPI.DependentFileNoLongerExists=O arquivo dependente, ${location}, n\u00e3o existe mais.
CompilerAPI.InvalidImportStatement=A instru\u00e7\u00e3o de importa\u00e7\u00e3o, ${defName}, n\u00e3o \u00e9 mais v\u00e1lida.
CompilerAPI.DependentFileModified=O arquivo dependente, ${location}, foi atualizado.
CompilerAPI.MultiNameMeaningChanged=O significado do nome m\u00faltiplo ${multiName} foi alterado de '${qName}' para outro.
CompilerAPI.FilesChangedAffected=Arquivos alterados: ${updateCount} Arquivos afetados: ${count}
CompilerAPI.MoreThanOneDefinition=Um arquivo encontrado em um caminho de origem n\u00e3o pode ter mais do que uma defini\u00e7\u00e3o vis\u00edvel externamente. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=Um arquivo encontrado em um caminho de origem deve ter uma defini\u00e7\u00e3o vis\u00edvel externamente. Se uma defini\u00e7\u00e3o do arquivo tiver de ficar vis\u00edvel externamente, coloque-a em um pacote.
CompilerAPI.WrongPackageName=Um arquivo encontrado em um caminho de origem deve ter a mesma estrutura de pacote '${pathPackage}' que o pacote da defini\u00e7\u00e3o '${defPackage}'.
CompilerAPI.WrongDefinitionName=Um arquivo encontrado em um caminho de origem '${pathName}' deve ter o mesmo nome que a defini\u00e7\u00e3o de classe dentro do arquivo '${defName}'.
CompilerAPI.CircularInheritance=A defini\u00e7\u00e3o est\u00e1 em heran\u00e7a circular.
CompilerAPI.UnableToResolveDependency=N\u00e3o foi poss\u00edvel resolver a depend\u00eancia de ${localPart}.
CompilerAPI.AmbiguousMultiname=N\u00e3o \u00e9 poss\u00edvel resolver sem ambiguidade uma refer\u00eancia com v\u00e1rios nomes. ${qName1} (de ${source1}) e ${qName2} (de ${source2}) est\u00e3o dispon\u00edveis.
CompilerAPI.SWFEncoding=Codificando SWF...
CompilerAPI.PersistingCompilationUnits=Restam ${count} unidades de compila\u00e7\u00e3o...
CompilerAPI.FailedToMatchCacheFile=Falha na correspond\u00eancia do destino de compila\u00e7\u00e3o com ${cacheName}. O arquivo de cache n\u00e3o ser\u00e1 reutilizado.
CompilerAPI.LoadingCompilationUnits=Carregando ${count} unidades de compila\u00e7\u00e3o...
CompilerAPI.ChannelDefinitionNotFound=A defini\u00e7\u00e3o de canal, ${clientType}, n\u00e3o foi encontrada.
CompilerAPI.TooManyErrors=Foram encontrados erros demais.
CompilerAPI.ForcedToStop=O compilador foi instru\u00eddo a parar.
CompilerAPI.UnableToWriteSizeReport=N\u00e3o foi poss\u00edvel gravar o relat\u00f3rio de tamanho  em ${fileName}.
CompilerAPI.UnableToResolveClass=N\u00e3o foi poss\u00edvel resolver uma classe para ${type}: ${className}.
CompilerAPI.UnableToResolveResourceBundle=N\u00e3o foi poss\u00edvel resolver o pacote de recursos "${bundleName}".
CompilerAPI.UnableToResolveResourceBundleForLocale=N\u00e3o foi poss\u00edvel resolver o pacote de recursos "${bundleName}" para o local "${locale}".
CompilerAPI.UnableToResolveNeededClass=N\u00e3o foi poss\u00edvel resolver a classe necess\u00e1ria: ${className}.
CompilerAPI.BatchTime=Compilando ${sourceName}, fase ${phase}...
CompilerAPI.CompileTime=Compilando fase ${phase}...
CompilerAPI.NoCompilerFound=Nenhum compilador para '${sourceName}'.
CompilerException=Erros encontrados durante a compila\u00e7\u00e3o...
CompilerSwcContext.Loaded = Bibliotecas carregadas ${loaded}...
FileSpec.UnsupportedFileType=Tipo de arquivo sem suporte: ${name}
SourceList.UnsupportedFileType=Tipo de arquivo sem suporte: ${name}
SourceList.FileNotInSourcePath=${name} deve estar no caminho de origem.
PersistenceStore.ObsoleteCacheFileFormat=Detectado formato de arquivo de cache obsoleto. O arquivo de cache n\u00e3o ser\u00e1 reutilizado.
PersistenceStore.NoFileSpec=Os dados da compila\u00e7\u00e3o baseada em FileSpec existem, mas uma FileSpec n\u00e3o foi fornecida.
PersistenceStore.NoSourceList=Os dados da compila\u00e7\u00e3o baseada em SourceList existem, mas uma SourceList n\u00e3o foi fornecida.
PersistenceStore.NoSourcePath=Os dados da compila\u00e7\u00e3o baseada em SourcePath existem, mas uma SourcePath n\u00e3o foi fornecida.
PersistenceStore.NoResourceBundlePath=Os dados da compila\u00e7\u00e3o baseada em ResourceBundlePath existem, mas uma ResourceBundlePath n\u00e3o foi fornecida.
PersistenceStore.NoResourceContainer=Os dados da compila\u00e7\u00e3o baseada em ResourceContainer existem, mas um ResourceContainer n\u00e3o foi fornecido.
SourcePathBase.ClasspathOverlap=A entrada do caminho de origem, '${cpath}', \u00e9 um subdiret\u00f3rio de entrada do caminho de origem, '${directory}'.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} e ${file2} n\u00e3o podem coexistir no mesmo diret\u00f3rio.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=n\u00e3o foi poss\u00edvel carregar o modelo '${template}'
mxml.ImplementationCompiler.CodeGenerationException=Exce\u00e7\u00e3o ao gerar do ${template}: ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=namespace MXML sem suporte encontrado ('${namespace1}'). Use o namespace MXML '${namespace2}' para o c\u00f3digo de origem MXML 2.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Caractere ou marca\u00e7\u00e3o inv\u00e1lidos encontrados. Tente delimitar o c\u00f3digo com um bloco CDATA.
mxml.InterfaceCompiler.WhitespaceBeforePI=Espa\u00e7o em branco n\u00e3o \u00e9 permitido antes de uma instru\u00e7\u00e3o de processamento de XML (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier=${id}' n\u00e3o \u00e9 um identificador v\u00e1lido.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=identificador '${id}' usado mais de uma vez.
mxml.InterfaceCompiler.IdentifierMatchesClassName=${name}': o identificador e a classe n\u00e3o podem ter o mesmo nome.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=o nome da classe deve ser um identificador ActionScript v\u00e1lido.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=nome da classe especificado mais de uma vez no documento.
mxml.InterfaceCompiler.InlineComponentInternalError=erro interno ao processar componente em linha.
mxml.InterfaceCompiler.BaseClassNotFound=N\u00e3o foi poss\u00edvel localizar a classe de base especificada '${baseClassName}' para a classe do componente '${className}'.
mxml.InterfaceCompiler.InvalidComponentName=Nome de componente '${name}' inv\u00e1lido: o nome do componente deve ser um nome de classe ActionScript legal.
mxml.InterfaceCompiler.InvalidToken=Erro de an\u00e1lise: n\u00e3o \u00e9 permitido que '${child}' venha depois de '${parent}'.
mxml.InterfaceCompiler.MissingEndTag=O tipo de elemento '${tag}' deve ser finalizado pela marca de encerramento '${endTag}' correspondente.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=A marca\u00e7\u00e3o no documento ap\u00f3s o elemento raiz deve ser bem formada.
mxml.InterfaceCompiler.StateNameRequired=name' \u00e9 um atributo necess\u00e1rio para a marca State.
mxml.InterfaceCompiler.VectorTypeRequired=type' \u00e9 um atributo obrigat\u00f3rio da marca Vector.
mxml.InvalidStateAttributeUsage=Os atributos includeIn e excludeFrom n\u00e3o s\u00e3o permitidos na marca de idioma MXML '${name}'.
mxml.InvalidStateSpecificValue=N\u00e3o \u00e9 poss\u00edvel especificar o valor espec\u00edfico de estado para o atributo de idioma MXML '${name}'.

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Diretiva ClassReference inv\u00e1lida no pacote de recursos. Ela deve conter um \u00fanico par\u00e2metro String.

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=O ${swc} vers\u00e3o ${swcVer} \u00e9 incompat\u00edvel com a vers\u00e3o do compilador ${compilerVer}.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=N\u00e3o foi poss\u00edvel criar ${file}: ${message}
asdoc.AsDocAPI.UnknownOS=SO desconhecido para ASDoc. O ASDoc ser\u00e1 executado somente em Windows e Mac OS X.
asdoc.AsDocAPI.NotFound=A seguinte ${property} n\u00e3o foi encontrada: ${names}

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