################################################################################
##
##  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.
##
################################################################################

ABCGeneratorProblem=Erro interno no subsistema gerador ABC ao gerar código para: ${sourceFileName}: ${stackTrace}
AccessorTypesMustMatchProblem=Os tipos de acessadores devem ser correspondentes.
AccessUndefinedMemberProblem=Acesso à propriedade provavelmente indefinida ${memberName} por meio de uma referência com tipo estático ${className}.
AccessUndefinedPropertyInPackageProblem=Acesso à propriedade indefinida ${propertyName} no pacote ${packageName}.
AccessUndefinedPropertyProblem=Acesso à propriedade provavelmente indefinida ${propertyName}.
AmbiguousReferenceProblem=Referência ambígua a ${property}
AssignToConstProblem=Atribuições ilegais a uma variável especificada como constante.
AssignToFunctionProblem=Atribuição ilegal para a função ${funcName}.
AssignToReadOnlyPropertyProblem=A propriedade ${name} é só de leitura.
AttemptToDeleteFixedPropertyProblem=Tentativa de excluir a propriedade fixa ${name}. Somente propriedades definidas dinamicamente podem ser excluídas.
AttributesAreNotCallableProblem=Os atributos não podem ser chamados.
BadAccessInterfaceMemberProblem=Os membros da interface não podem ser declarados público, privado, protegido ou interno.
BadCharacterProblem=Erro de caractere não esperado: '${errorText}' não é permitido aqui
BadSetterReturnTypeProblem=O tipo de retorno de uma definição de setter deve ser não especificado ou nulo.
BaseClassIsFinalProblem=A classe base é ${finalStr}.
BURMDiagnosticForEachExpectedInProblem=a palavra-chave '${k_each}' não é permitida sem um operador '${k_in}'
BURMDiagnosticInvalidDecrementProblem=O operando do decremento deve ser uma referência.
BURMDiagnosticNotAllowedHereProblem=${node} não é permitido aqui
BURMPatternMatchFailureProblem=Não foi possível gerar um código para ${node}
BURNDiagnosticInvalidIncrementProblem=O operando do incremento deve ser uma referência.
CallUndefinedMethodProblem=Chamada de um método provavelmente indefinido ${methodName}.
CannotDeleteSuperDescendantsProblem=Não é possível excluir descendentes super.
CannotExtendClassProblem=Uma interface só pode estender outras interfaces, mas ${className} é uma classe.
CannotExtendInterfaceProblem=Uma ${classStr} só pode estender outra ${classStr}, não uma ${interfaceStr}.
CannotResolveConfigExpressionProblem=Não é possível solucionar uma constante de configuração: '${configName}'
CircularTypeReferenceProblem=Uma referência do tipo circular foi detectada em ${className}
ClassesMappedToSameRemoteAliasProblem=Encontrado mapeamento de '${existingClassName}' para alias da classe remote '${alias}' ao processar a classe '${className}'. O Flex gera agora um código para verificar se um alias já foi registrado. Quando dados remotos são deserializados, só um alias pode mapear para uma única classe.
ClosureProblem=Closure error.
CodegenInternalProblem=Erro interno do gerador de código: ${diagnostic}
CompiledAsAComponentProblem=${className} é um módulo ou aplicativo referenciado diretamente. Isso faz com que ${className} e todas as suas dependências sejam ligadas a ${mainDefinition}. O uso de uma interface é uma prática recomendada para evitar isso.
ConfigurationFileNotFoundProblem=Não é possível encontrar o arquivo de configuração: ${file}
ConfigurationProblem=Problema na configuração: ${reason}.\n${location}
ConflictingInheritedNameInNamespaceProblem=Existe um conflito com a definição de ${declName} herdada no namespace ${nsName}.
ConflictingNameInNamespaceProblem=Existe um conflito com a definição de ${declName} no namespace ${nsName}.
ConstructorCannotHaveReturnTypeProblem=Um construtor não pode especificar um tipo de retorno
ConstructorIsGetterSetterProblem=Um construtor não pode ser um método getter ou setter
ConstructorIsStaticProblem=As funções do construtor devem ser métodos de instância 
ConstructorMustBePublicProblem=Um construtor só pode ser declarado ${modifier}
CountedForLoopInitializerProblem=Erro de sintaxe: esperado ponto-e-vírgula antes de fecha- parênteses.
CSSCodeGenProblem=Problema no codegen CSS. Motivo: '${reason}'
CSSEmbedAssetProblem=Não é possível incorporar recursos de '${embed}'.
CSSParserProblem=${reason}
CSSUndefinedNamespacePrefixProblem=Prefixo do namespace indefinido '${prefix}'.
CSSUndefinedTypeProblem='${type}' não está definido.
CSSUnknownDefaultNamespaceProblem=O seletor de tipo sem prefixo do namespace requer a definição de um namespace padrão. ${selectorText}
CSSUnresolvedClassReferenceProblem=${qname} não está definido.
CyclicalIncludesProblem=Encontradas inclusões cíclicas no ${file}
DependencyNotCompatibleProblem=A dependência ${definition} de ${swc} tem uma versão mínima suportada de ${swcMinimumVersion}, que é superior à versão de compatibilidade, ${compatibilityVersion}.
DeprecatedConfigurationOptionProblem='${option}' foi deprecada desde ${since}. Use '${replacement}'
DuplicateAttributeProblem=O atributo ${attrStr} foi especificado várias vezes.
DuplicateClassDefinitionProblem=Definição de classe duplicada: ${className}.
DuplicateConfigNameProblem=Namespace de configuração duplicado: '${configName}'
DuplicateFunctionDefinitionProblem=Definição de função duplicada: ${methodName}
DuplicateInterfaceDefinitionProblem=Definição de interface duplicada: ${interfaceName}.
DuplicateInterfaceProblem=${classStr} ${className} implementa ${interfaceStr} ${interfaceName} várias vezes.
DuplicateLabelProblem=Definição de rótulo duplicada.
DuplicateNamespaceDefinitionProblem=Definição de namespace duplicada.
DuplicateQNameInSourcePathProblem=${qName} é definido por vários arquivos: ${fileList} 
DuplicateSkinStateProblem=Declaração duplicada de SkinState '${name}'
DuplicateSourceFileProblem=${file} foi especificado mais de uma vez na lista de fontes de inclusão.
DuplicateSourcePathProblem=${directory} foi especificado mais de uma vez no caminho de origem.
DuplicateSwitchCaseProblem=Alternativa de switch duplicada ${caseName}.
DynamicNotOnClassProblem=O atributo ${dynamicStr} só pode ser usado com definições de ${classStr}.
EmbedAS2TagsModifiedProblem=As ações AS2 foram removidas da marca ${symbol}
EmbedBadFontParameters=A transcodificação de fonte requer que você especfique 'fontName' e uma 'source', 'systemFont' ou 'sourceList'
EmbedBadScalingGridTargetProblem=Não foi possível dimensionar o símbolo ${symbol} visto que não é do tipo Entidade gráfica
EmbedCouldNotDetermineSampleFrameCountProblem=Não foi possível determinar a contagem de quadros na amostra no arquivo ${filename}
EmbeddedFontShadowsDeviceFontProblem=a fonte incorporada '${alias}' pode criar uma sombra na fonte de dispositivo com o mesmo nome. Use fontName para substituir a fonte por um nome diferente
EmbedExceptionWhileTranscodingProblem=exceção durante a transcodificação: ${exception}
EmbedInitialValueProblem=Uma variável Embed não deve ter um valor existente.
EmbedInvalidAttributeValueProblem=O valor ${value} é inválido para o atributo ${attribute}
EmbedInvalidUnicodeRangeProblem=intervalo Unicode inválido '${range}'
EmbedMissingSymbolProblem=Não foi possível encontrar o símbolo ${symbol} no arquivo ${swf}
EmbedMovieScalingNoSymbolProblem=Especifica um símbolo ao dimensionar um filme incorporado
EmbedMultipleMetaTagsProblem=Uma variável só pode ter uma marca de metadados Embed
EmbedNoSkinClassProblem=Deve especificar o atributo skinClass ao incorporar ativos de capa
EmbedNoSourceAttributeProblem=Embed requer o atributo do arquivo de origem
EmbedQualityRequiresCompressionProblem=Não especifique ${quality}quando a compactação estiver desativada
EmbedQualityValueProblem=O valor ${value} é inválido para o atributo ${quality}. Deve estar entre 0,0 e 100,0
EmbedScalingGridProblem=os atributos scaleBottom, scaleLeft, scaleRight e scaleTop devem ser especificados juntos
EmbedScalingGridValueProblem=O valor de dimensionamento ${value} deve ser maior que 0 para o atributo ${attr}
EmbedSkinClassNotFoundProblem=Não foi possível encontrar a classe ${skinClass}
EmbedSourceAttributeCouldNotBeReadProblem=Não foi possível ler o arquivo de origem Embed ${filename}
EmbedSourceAttributeDoesNotExistProblem=Não foi possível encontrar o arquivo de origem Embed 
EmbedSourceFileNotFoundProblem=Não é possível encontrar o arquivo de origem: ${file}
EmbedTypeNotEmbeddableProblem=Não é possível incorporar o tipo ${typeName}
EmbedUnableToBuildFontProblem=não foi possível criar a fonte '${fontName}'
EmbedUnableToReadSourceProblem=não foi possível ler a origem de transcodificação '${source}'
EmbedUnknownAttributeProblem=Atributo desconhecido: ${attr}
EmbedUnknownMimeTypeProblem=Tipomime não manipulável ${mimeType}
EmbedUnrecogniedFileTypeProblem=O arquivo ${file} é de um tipo desconhecido que não pode ser incorporado
EmbedUnsupportedAttributeProblem=Não é possível usar o atributo ${attribute} com o tipo mime: ${mimeType}
EmbedUnsupportedSamplingRateProblem=A frequência ${frequency} não é suportada no arquivo ${filename}
FileNotFoundProblem=Arquivo não encontrado: ${file}
FinalOutsideClassProblem=O atributo ${finalStr} só pode ser usado em um método definido em uma ${classStr}.
FunctionNotMarkedOverrideProblem=Substituição de uma ${funcStr} que não é marcada para ${overrideStr}
FunctionWithoutBodyProblem=A função não tem um corpo.
FXGCompilerProblem=Problema na compilação de FXG: ${message}
GetterCannotHaveParametersProblem=Uma definição de getter não deve ter parâmetros.
GlobalBindablePropertyProblem=[${bindableStr}] não tem permissão em variáveis globais ou ${packageStr}
HostComponentClassNotFoundProblem=Classe [HostComponent] '${className}' não encontrada.
HostComponentMustHaveTypeProblem=[HostComponent] deve especificar um nome de tipo.
IllegalAssignmentToClassProblem=Atribuição ilegal para a classe ${className}.
ImplicitCoercionToSubtypeProblem=Coerção implícita de um valor com tipo estático ${baseType} para um tipo ${subType} provavelmente não relacionado.
ImplicitCoercionToUnrelatedTypeProblem=Coerção implícita de um valor do tipo ${actualType} para um tipo ${expectedType} não relacionado.
InaccessibleMethodReferenceProblem=Tentativa de acesso ao método inacessível ${methodName} por meio de uma referência com tipo estático ${className}.
InaccessiblePropertyReferenceProblem=Tentativa de acesso à propriedade inacessível ${propertyName} por meio de uma referência com tipo estático ${className}.
IncompatibleDefaultValueProblem=Valor padrão incompatível do tipo ${srcType} onde ${tgtType} é esperado.
IncompatibleInterfaceMethodProblem=O método ${interfStr} ${methodName} no ${namespaceStr} ${namespaceName} é implementado com uma assinatura incompatível em ${className} ${classStr} 
IncompatibleOverrideProblem=${overrideStr} incompatível.
InterfaceBindablePropertyProblem=[${bindableStr}] não tem permissão dentro de uma definição de ${interfStr}.
InterfaceCannotBeInstantiatedProblem=Não é possível iniciar uma instância das interfaces com o novo operador.
InterfaceMethodWithBodyProblem=Métodos definidos em uma ${interfaceStr} não devem ter um corpo.
InterfaceModifierProblem=Atributo de interface ${modifier} inválido.
InterfaceNamespaceAttributeProblem=Os atributos do namespace não têm permissão em métodos da interface.
InternalCompilerProblem=Erro interno de compilador
InvalidABCByteCodeProblem=Código de bytes ABC inválido.
InvalidBackgroundColorProblem=Cor de fundo inválida: ${backgroundColor}
InvalidDecrementOperandProblem=O operando do decremento é inválido.
InvalidEscapeSequenceProblem='${badSequence}' não é uma sequência de escape válida
InvalidForInInitializerProblem=Erro de sintaxe: inicializador for-in inválido; somente uma expressão esperada.
InvalidIncrementOperandProblem=O operando do incremento é inválido.
InvalidLvalueProblem=O destino da atribuição deve ser um valor de referência.
InvalidNamespaceInitializerProblem=Um inicializador de namespace deve ser uma sequência de caracteres literal ou outro namespace.
InvalidNamespaceProblem=Um atributo de namespace definido pelo usuário só pode ser usado no nível superior de uma definição de ${classStr}.
InvalidOverrideProblem=O atributo ${overrideStr} só pode ser usado em um método definido em uma ${classStr}.
InvalidPrivateNamespaceAttrProblem=O atributo ${privateStr} só pode ser usado em definições de propriedade ${classStr}.
InvalidPrivateNamespaceProblem=${privateStr} só pode ser usado como um namespace dentro de ${classStr}.
InvalidProtectedNamespaceAttrProblem=O atributo ${protectedStr} só pode ser usado em definições de propriedade ${classStr}.
InvalidProtectedNamespaceProblem=${protectedStr} só pode ser usado como um namespace dentro de ${classStr}.
InvalidPublicNamespaceAttrProblem=O atributo ${publicStr} só pode ser usado dentro de um ${packageStr}.
InvalidPublicNamespaceProblem=${publicStr} só pode ser usado como um namespace dentro de ${packageStr}.
InvalidRestParameterDeclarationProblem=Os parâmetros especificados depois da palavra-chave de definição do parâmetro ...rest só podem ser do tipo de dados Array.
InvalidSuperExpressionProblem=Uma expressão super só pode ser usada dentro de métodos da instância da classe.
InvalidSuperStatementProblem=Uma instrução super só pode ser usada dentro de construtores da instância da classe.
JSDataClassMethodError=ERROR: DataClass classes must not declare methods. 
JSInternalCompilerProblem=Internal compiler error: ${message}. 
JSUnsupportedFeatureProblem=Unsupported feature: ${feature}. 
JSWarnClassInitProblem=PERFORMANCE: Avoid loose class initialization statements. Consider using singletons instead.
JSWarnClosureAdvancedOptimizationsProblem=WARNING: Optimizing with ADVANCED_OPTIMIZATIONS will fail because of accessing properties via unknown strings.
JSWarnRuntimeNameLookupProblem=PERFORMANCE: Forced to emit expensive runtime name lookup. Consider using strict types instead of generic objects and avoiding dynamic classes.
LocalBindablePropertyProblem=[${bindableStr}] não tem permissão dentro de uma definição de ${funcStr}.
LossyConversionProblem=Inicialização inválida: a conversão para o tipo ${targetType} perde dados.
MethodCannotBeConstructorProblem=O método não pode ser usado como um construtor.
MissingBuiltinProblem=Tipo embutido ${builtinType} ausente 
MissingCatchOrFinallyProblem=Erro de sintaxe: cláusula catch ou finally esperada.
MissingFactoryClassInFrameMetadataProblem=Esta unidade de compilação não tem uma factoryClass especificada nos metadados Quadro para carregar as bibliotecas compartilhadas em tempo de execução configuradas. Para compilar sem bibliotecas compartilhadas em tempo de execução, defina a opção -static-link-runtime-shared-libraries como verdadeiro ou remova a opção -runtime-shared-libraries.
MissingRequirementConfigurationProblem=a variável de configuração '${required}' não foi definida
MissingSignedDigestProblem=Não foi encontrada nenhuma compilação assinada no catalog.xml da biblioteca, ${libraryPath}.
MissingSkinPartProblem=A parte de capa necessária '${skinPartName}' está ausente.
MissingSkinStateProblem=O estado de capa necessário '${skinStateName}' está ausente.
MissingUnsignedDigestProblem=Não foi encontrada nenhuma compilação não assinada no catalog.xml da biblioteca, ${libraryPath}.
MultipleConfigNamespaceDecorationsProblem=Namespaces de configuração duplicados não são permitidos em uma definição
MultipleSwitchDefaultsProblem=O switch tem mais de um padrão, mas somente um padrão é permitido.
MXMLAttributeVersionProblem=O atributo '${name}' só pode ser usado em MXML ${version} ou superior. Será ignorado.
MXMLClassNodeProblem='${qname}' não especifica uma classe ou interface. Será ignorado.
MXMLDatabindingSourceNotBindableProblem=O vínculo de dados não conseguirá detectar atribuições para '${sourceName}'.
MXMLDuplicateIDProblem=Esse id não é exclusivo. Será ignorado.
MXMLFinalClassProblem='${qname}' é uma classe final e não pode ser usada como marca raiz.
MXMLIncludeInAndExcludeFromProblem=Os atributos 'includeIn' e 'excludeFrom' não podem ser especificados na mesma marca. Ambos serão ignorados.
MXMLIncompatibleArrayElementProblem=Um elemento de matriz de tipo '${actualType}' é incompatível com o [ArrayElementType] esperado de '${expectedType}' para a propriedade '${propertyName}'.
MXMLIncompatibleVectorElementProblem=Esse elemento é incompatível com o tipo Vector. Será ignorado.
MXMLInvalidEntityProblem=Encontrada a entidade desconhecida '{entity}'. Será ignorada.
MXMLInvalidIDProblem=\ Esse id não é um identificador do ActionScript válido. Será ignorado.
MXMLInvalidItemCreationPolicyProblem=Os valores válidos para itemCreationPolicy são 'imediato' ou 'adiado'. Esse atributo será ignorado.
MXMLInvalidItemDestructionPolicyProblem=Os valores válidos para itemDestructionPolicy são 'automático' ou 'nunca'. Esse atributo será ignorado.
MXMLInvalidPercentageProblem=Inicializador de '${property}': expressão de porcentagem inválida: '${text}'.
MXMLInvalidTextForTypeProblem=Não é possível analisar o valor do tipo '${type}' a partir de '${text}'.
MXMLInvalidVectorFixedAttributeProblem=O atributo 'fixed' deve ser 'verdadeiro' ou 'falso'. Será ignorado.
MXMLInvalidVectorTypeAttributeProblem=O atributo 'type' não especifica uma classe conhecida. O tipo será assumido como '*'.
MXMLMissingRootTagProblem=Nenhuma marca de raiz encontrada neste arquivo MXML.
MXMLMissingVectorTypeAttributeProblem=O atributo 'type' é necessário em uma marca <Vector>. O tipo será assumido como '*'.
MXMLNotAClassProblem='${qname}' não é uma classe. Essa marca será ignorada.
MXMLOperationMissingNameProblem=A operação requer um atributo ${name}.
MXMLOtherLanguageNamespaceProblem=Somente um namespace de idioma pode ser usado em um documento MXML. Esse atributo será ignorado.
MXMLOuterDocumentAlreadyDeclaredProblem=A propriedade denominada ${outerDocument} já foi declarada, entrando em conflito com ${outerDocument} da marca ${fxComponent}.
MXMLPercentageNotAllowedProblem=Inicializador de '${property}': porcentagem não permitida aqui: '${text}'.
MXMLPrivateAttributeProblem=Esse atributo usa um namespace privativo e, portanto, será ignorado.
MXMLPrivateTagLocationProblem=A marca <Private> deve ser a última marca filho da marca de raiz do arquivo. Será ignorada.
MXMLSemanticProblem=Problema interno durante a análise semântica de MXML
MXMLUnexpectedAttributeProblem=Esse atributo não é esperado. Será ignorado.
MXMLUnexpectedDatabindingProblem=Essa expressão databinding não é esperada. Será ignorada.
MXMLUnexpectedTagProblem=Essa marca não é esperada. Será ignorada.
MXMLUnexpectedTextProblem=Esse texto não é esperado. Será ignorado.
MXMLUnrecognizedCompilerDirectiveProblem=A função ${functionName} não é uma diretiva de tempo de compilação reconhecida
MXMLUnresolvedTagProblem=Essa marca não podia ser solucionada para uma classe do ActionScript. Será ignorada.
MXMLUnterminatedEntityProblem=Encontrada uma entidade não terminada. Será ignorada.
MXMLXMLListMixedContentProblem=Não é permitido conteúdo misto aqui.
MXMLXMLOnlyOneRootTagProblem=Somente é permitida uma marca de raiz
MXMLXMLRequireContentProblem=O conteúdo XML é necessário
NamespaceInInterfaceProblem=Declarações de namespaces não são permitidas em interfaces.
NativeMethodWithBodyProblem=Os métodos nativos não podem ter um corpo.
NativeNotOnFunctionProblem=O atributo ${nativeStr} só pode ser usado com definições ${functionStr}.
NativeUsedInInterfaceProblem=O atributo ${nativeStr} não pode ser usado nas definições ${interfStr}.
NativeVariableProblem=As variáveis não podem ser ${nativeStr}.
NestedGetterSetterProblem=Os acessadores não podem ser aninhados dentro de outras funções.
NestedPackageProblem=Os pacotes não podem ser aninhados.
NoCompilationUnitForDefinitionProblem=Não foi encontrada nenhuma unidade de compilação com o nome '${qname}'.
NoDefaultConstructorInBaseClassProblem=Não foi encontrado nenhum construtor padrão na classe base ${baseClass}.
NoDefinitionForSWCDependencyProblem=A definição de ${qname} dependia de o SWC ${swcFilename} ser encontrado
NoMainDefinitionProblem=Não foi encontrada nenhuma definição visível externamente com o nome '${qname}'.
NonConstantNamespaceProblem=Um inicializador de namespace deve ser uma sequência de caracteres literal ou outro namespace.
NonConstantParamInitializerProblem=O inicializador do parâmetro é desconhecido ou não é uma constante de tempo de compilação.
NonDirectoryInSourcePathProblem=${file} foi especificado no caminho de origem e não é um diretório.
NoScopesInABCCompilationUnitProblem=Não é possível encontrar escopos na unidade de compilação.
OnlyOneHostComponentAllowedProblem=Somente é permitido um [HostComponent].
OverlappingSourcePathProblem=Entradas com sobreposição no caminho de origem: ${ancestor} é um ancestral de ${descendant}
OverrideFinalProblem=Não é possível redefinir um método ${finalStr}.
OverrideNotFoundProblem=O método marcado ${overrideStr} deve substituir outro método.
OverrideOutsideClassProblem=O atributo ${overrideStr} só pode ser usado em definições de propriedade na ${classStr}.
PackageCannotBeUsedAsValueProblem=O pacote não pode ser usado como valor: ${packageName}.
ParserProblem=Problema interno de análise
PropertyIsWriteOnlyProblem=A propriedade ${name} é só de gravação.
PrototypeInvalidAttributeProblem=O atributo prototype é inválido.
RemovedConfigurationOptionProblem='${option}' não é mais suportada e não terá efeito.
RequiredParameterAfterOptionalProblem=Parâmetros necessários não são permitidos depois dos parâmetros opcionais.
ResourceBundleMalformedEncodingProblem=A codificação da sequência de carateres fornecida está mal formada: ${string}
ResourceBundleNoBundleParameterProblem=Nenhum parâmetro de pacote fornecido para @Resource()
ResourceBundleNoKeyParameterProblem=Nenhum parâmetro principal fornecido para @Resource()
ResourceBundleNotFoundForLocaleProblem=Não foi possível solucionar o pacote de recursos '${bundleName}' do local '${locale}'
ResourceBundleNotFoundProblem=Não foi possível solucionar o pacote de recursos '${bundleName}'
RestParameterMustBeLastProblem=Os parâmetros ${rest} devem ser os últimos.
ReturnCannotBeUsedInGlobalProblem=A instrução return não pode ser usada no código de inicialização global.
ReturnCannotBeUsedInPackageProblem=A instrução return não pode ser usada no código de inicialização do pacote.
ReturnCannotBeUsedInStaticProblem=A instrução return não pode ser usada no código de inicialização estática.
ReturnMustReturnValueProblem=A função não retorna um valor.
ReturnValueMustBeUndefinedProblem=O valor de retorno deve ser indefinido.
SemanticProblem=Problema interno durante a análise semântica.
SetterCannotHaveOptionalProblem=Uma definição de setter não pode ter parâmetros opcionais.
SetterMustHaveOneParameterProblem=Uma definição de setter deve ter exatamente um parâmetro.
SkinPartsMustBePublicProblem=As partes de capa devem ser públicas.
StaticAndOverrideProblem=As funções não podem ser ${staticStr} e ${overrideStr}.
StaticNamespaceDefinitionProblem=O atributo static não é permitido em definições ${namespaceKeyword}.
StaticOutsideClassProblem=O atributo ${staticStr} só pode ser usado em definições dentro de uma ${classStr}.
StrictUndefinedMethodProblem=Chamada de um método provavelmente indefinido ${methodName} por meio de uma referência com tipo estático ${className}.
SyntaxProblem=Erro de sintaxe: '${tokenText}' não é permitido aqui
ThisUsedInStaticFunctionProblem=A palavra-chave ${thisKeyword} não pode ser usada em métodos estáticos. Ela só pode ser usada em métodos de ocorrência, fechamentos de função e código global.
TooFewFunctionParametersProblem=Número de argumentos incorreto. Eram esperados ${nParams}
TooManyFunctionParametersProblem=Número incorreto de argumentos. Eram esperados não mais de ${nParams}
UnableToBuildReportProblem=Não foi possível criar o relatório: ${message}
UnableToBuildSWFProblem=Não foi possível criar SWF ${file}
UnableToBuildSWFTagProblem=Não foi possível criar a marca SWF para ${name}
UnableToListFilesProblem=Não foi possível listar o conteúdo do diretório: @{directory}
UnboundMetadataProblem=Os metadados não estão vinculados a uma definição
UndefinedConfigNameProblem=Constante de configuração indefinida: '${configName}'
UndefinedConfigNamespaceProblem=Namespace de configuração indefinido: '${configName}'
UnexpectedExceptionProblem=Exceção '${exceptionName}' não esperada.
UnexpectedReturnProblem=A instrução return não pode ser usada aqui.
UnexpectedTokenProblem=Erro de sintaxe: ${tokenKind} era esperado, mas se obteve '${tokenText}'
UnfoundPropertyProblem=Acesso de propriedade indefinida ${property}
UnimplementedInterfaceMethodProblem=Método ${interfStr}  ${methodName}no ${namespaceStr} ${namespaceName} não implementado por  ${classStr} ${className}
UnknownBreakTargetProblem=O destino da instrução break não foi encontrado.
UnknownContinueTargetProblem=O destino da instrução continue não foi encontrado.
UnknownInterfaceProblem=${interfaceStr} ${interfaceName} não foi encontrado.
UnknownNamespaceProblem=Namespace ${namespaceName} desconhecido.
UnknownSuperclassProblem=A definição da classe base ${superclassName} não foi encontrada.
UnknownTypeProblem=O tipo não foi encontrado ou não era uma constante de tempo de compilação: ${typeName}.
UnresolvedClassReferenceProblem=Não foi possível encontrar a definição de ${qname}.
UnresolvedNamespaceProblem=O namespace não foi encontrado ou não era uma constante de tempo de compilação.
UnsupportedSourceFileProblem=${file} é um tipo não suportado: ${ext}
VarInInterfaceProblem=As declarações ${varStr} não são permitidas na ${interfStr}.
VoidTypeProblem=${voidStr} não é um tipo válido.
WrongSkinPartProblem=O tipo da parte de capa'${skinPartTypeName}' deve ser atribuível a '${hostSkinPartTypeName}'.
