###############################################################################
# Copyright (c) 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

ATagInfo=Um link se o atributo href estiver presente e o destino de um link se o atributo name estiver presente.
ABBRTagInfo=Uma abrevia\u00e7\u00e3o (por exemplo, WWW, HTTP)
ACRONYMTagInfo=Um acr\u00f4nimo (por exemplo, SCUBA)
ADDRESSTagInfo=Informa\u00e7\u00f5es sobre o endere\u00e7o do autor da p\u00e1gina
APPLETTagInfo=Um applet Java
AREATagInfo=Define uma \u00e1rea de mapa de imagem do lado do cliente
BTagInfo=Exibe o texto contido como negrito
BASETagInfo=O URI base para a p\u00e1gina a ser utilizado ao calcular caminhos relativos
BASEFONTTagInfo=O tamanho da fonte base para a p\u00e1gina
BDOTagInfo=Substitui a exibi\u00e7\u00e3o bidirecional padr\u00e3o. Para ser utilizado com idiomas bidirecionais.
BIGTagInfo=Exibe o texto contido em tamanho grande
BGSOUNDTagInfo=Define um arquivo de som para a p\u00e1gina. N\u00e3o suportado pelo W3C HTML 4.01.
BLINKTagInfo=Exibe o texto piscando. N\u00e3o suportado pelo W3C HTML 4.01.
BLOCKQUOTETagInfo=Uma cita\u00e7\u00e3o longa
BODYTagInfo=O corpo do documento. Cont\u00e9m todo o conte\u00fado para a p\u00e1gina.
BRTagInfo=For\u00e7a uma quebra de linha
BUTTONTagInfo=Define um bot\u00e3o de comando
CAPTIONTagInfo=Define uma legenda de tabela
CENTERTagInfo=Exibe o texto contido centralizado. Equivalente a DIV com align=center.
CITETagInfo=Uma cita\u00e7\u00e3o
CODETagInfo=Um fragmento de c\u00f3digo de computador
COLTagInfo=Uma coluna de tabela
COLGROUPTagInfo=Um grupo de colunas da tabela
DDTagInfo=Uma defini\u00e7\u00e3o ou descri\u00e7\u00e3o em uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
DELTagInfo=Exibe texto como exclu\u00eddo
DFNTagInfo=Uma defini\u00e7\u00e3o
DIRTagInfo=Uma listagem de diret\u00f3rios
DIVTagInfo=Um cont\u00eainer gen\u00e9rico, que pode ser utilizado para definir idioma ou estilo do conte\u00fado
DLTagInfo=Uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
DTTagInfo=Um termo ou assunto em uma lista de defini\u00e7\u00f5es ou descri\u00e7\u00f5es
EMTagInfo=Exibe o texto enfatizado (geralmente em it\u00e1lico)
EMBEDTagInfo=Define um plug-in incorporado. N\u00e3o suportado pelo W3C HTML 4.01.
FIELDSETTagInfo=Define um grupo de controle de formul\u00e1rio
FONTTagInfo=Exibe texto na fonte fornecida
FORMTagInfo=Define um formul\u00e1rio interativo
FRAMETagInfo=Define um quadro dentro da janela atual
FRAMESETTagInfo=Define um conjunto de quadros que divide a janela em quadros
H1TagInfo=Um t\u00edtulo de n\u00edvel superior
H2TagInfo=Um t\u00edtulo de segundo n\u00edvel
H3TagInfo=Um t\u00edtulo de terceiro n\u00edvel
H4TagInfo=Um t\u00edtulo de quarto n\u00edvel
H5TagInfo=Um t\u00edtulo de quinto n\u00edvel
H6TagInfo=Um t\u00edtulo de sexto n\u00edvel
HEADTagInfo=Cont\u00e9m metadados e informa\u00e7\u00f5es sobre o t\u00edtulo da janela para o documento
HRTagInfo=Uma r\u00e9gua horizontal
HTMLTagInfo=O elemento raiz do documento.
ITagInfo=Exibe o texto em it\u00e1lico
IFRAMETagInfo=Define uma subjanela em linha
IMGTagInfo=Exibe a imagem referida como conte\u00fado incorporado
INPUTTagInfo=Define um controle de formul\u00e1rio para entrada do usu\u00e1rio
INSTagInfo=Define o texto inserido
ISINDEXTagInfo=Define um prompt de linha \u00fanica
KBDTagInfo=Define texto a ser inserido pelo usu\u00e1rio
LABELTagInfo=Define o r\u00f3tulo para um campo de formul\u00e1rio
LEGENDTagInfo=Define o r\u00f3tulo para um conjunto de campos de formul\u00e1rio
LITagInfo=Define um item de lista dentro de uma lista
LINKTagInfo=Um link independente de m\u00eddia
MAPTagInfo=Define um mapa de imagem do lado do cliente
MARQUEETagInfo=Exibe texto rolando. N\u00e3o suportado pelo W3C HTML 4.01.
MENUTagInfo=Define uma lista de menus
METATagInfo=Define informa\u00e7\u00f5es de metadados para o documento
NOBRTagInfo=Substitui e impede quebras de linha. N\u00e3o suportado pelo W3C HTML 4.01.
NOFRAMESTagInfo=Fornece informa\u00e7\u00f5es a serem exibidas se o navegador atual n\u00e3o suportar quadros
NOSCRIPTTagInfo=Fornece informa\u00e7\u00f5es a serem exibidas se o navegador atual n\u00e3o suportar script
OBJECTTagInfo=Define um objeto incorporado gen\u00e9rico
OLTagInfo=Uma lista ordenada
OPTGROUPTagInfo=Um grupo de op\u00e7\u00f5es
OPTIONTagInfo=Uma op\u00e7\u00e3o selecion\u00e1vel
PTagInfo=Um par\u00e1grafo
PARAMTagInfo=O valor de uma propriedade denominada
PRETagInfo=Texto pr\u00e9-formatado
QTagInfo=Uma cita\u00e7\u00e3o curta em linha
STagInfo=Exibir texto no estilo tachado
SAMPTagInfo=Sa\u00edda, scripts, etc do programa de amostra. Exibe em fonte de espa\u00e7amento uniforme.
SCRIPTTagInfo=Instru\u00e7\u00f5es de script
SELECTTagInfo=Um seletor de op\u00e7\u00f5es
SMALLTagInfo=Exibe texto em tamanho pequeno
SPANTagInfo=Um cont\u00eainer gen\u00e9rico, que pode ser utilizado para definir idioma ou estilo do conte\u00fado
STRIKETagInfo=Exibir texto no estilo tachado
STRONGTagInfo=Exibe o texto muito enfatizado (geralmente em negrito)
STYLETagInfo=Define um estilo para as informa\u00e7\u00f5es contidas
SUBTagInfo=Exibe como subscrito
SUPTagInfo=Exibe como sobrescrito
TABLETagInfo=Define uma tabela
TBODYTagInfo=O corpo da tabela
TDTagInfo=Uma c\u00e9lula de uma tabela
TEXTAREATagInfo=Um campo de texto de v\u00e1rias linhas
TFOOTTagInfo=Um rodap\u00e9 de tabela
THTagInfo=Uma c\u00e9lula de cabe\u00e7alho de tabela
THEADTagInfo=Um cabe\u00e7alho de tabela
TITLETagInfo=O t\u00edtulo do documento, exibido na barra de t\u00edtulo do navegador
TRTagInfo=Uma linha da tabela
TTTagInfo=Exibe o texto em teletipo ou em estilo de texto de espa\u00e7amento uniforme
UTagInfo=Exibe texto como sublinhado
ULTagInfo=Uma lista desordenada
VARTagInfo=Uma inst\u00e2ncia de um argumento de vari\u00e1vel ou programa
WBRTagInfo=Permite uma quebra de linha na marca\u00e7\u00e3o  <B>&lt;NOBR&gt;</B>. N\u00e3o suportado pelo W3C HTML 4.01.
