###############################################################################
# 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=Lien si l'attribut "href" est indiqu\u00e9. Cible d'un lien si l'attribut "name" est indiqu\u00e9
ABBRTagInfo=Abr\u00e9viation (par exemple, WWW, HTTP)
ACRONYMTagInfo=Acronyme (par exemple, SCUBA)
ADDRESSTagInfo=Informations relatives aux adresses de l'auteur de la page
APPLETTagInfo=Applet Java
AREATagInfo=D\u00e9finit la zone d'une image hypertexte c\u00f4t\u00e9 client
BTagInfo=Affiche en gras le texte indiqu\u00e9
BASETagInfo=URI de base de la page \u00e0 utiliser lors du calcul des chemins relatifs
BASEFONTTagInfo=Taille de base de la police dans la page
BDOTagInfo=Remplace l'affichage bidirectionnel par d\u00e9faut. S'applique aux langues bidirectionnelles
BIGTagInfo=Affiche le texte en gros caract\u00e8res
BGSOUNDTagInfo=D\u00e9finit un fichier son pour la page. Pas pris en charge par W3C HTML 4.0.1
BLINKTagInfo=Affiche un texte qui clignote. Pas pris en charge par W3C HTML 4.0.1
BLOCKQUOTETagInfo=Longue citation
BODYTagInfo=Corps du document. Inclut tout le contenu de la page
BRTagInfo=Force un retour \u00e0 la ligne
BUTTONTagInfo=D\u00e9finit un bouton de fonction
CAPTIONTagInfo=D\u00e9finit la l\u00e9gende d'un tableau
CENTERTagInfo=Centre le texte indiqu\u00e9. Correspond \u00e0 DIV avec align=center
CITETagInfo=Citation
CODETagInfo=Fragment de code de l'ordinateur
COLTagInfo=Colonne d'un tableau
COLGROUPTagInfo=Groupe de colonnes d'un tableau
DDTagInfo=D\u00e9finition ou description dans une liste de d\u00e9finitions ou de descriptions
DELTagInfo=Affiche le texte comme \u00e9tant supprim\u00e9
DFNTagInfo=D\u00e9finition
DIRTagInfo=Liste de r\u00e9pertoires
DIVTagInfo=Conteneur g\u00e9n\u00e9rique permettant de d\u00e9finir la langue ou le style du contenu
DLTagInfo=Liste de d\u00e9finitions ou de descriptions
DTTagInfo=Terme ou sujet dans une liste de d\u00e9finitions ou de descriptions
EMTagInfo=Met le texte en \u00e9vidence (en g\u00e9n\u00e9ral en italique)
EMBEDTagInfo=D\u00e9finit un plug-in imbriqu\u00e9. Pas pris en charge par W3C HTML 4.0.1
FIELDSETTagInfo=D\u00e9finit un groupe de contr\u00f4le du formulaire
FONTTagInfo=Affiche le texte dans la police indiqu\u00e9e
FORMTagInfo=D\u00e9finit un formulaire interactif
FRAMETagInfo=D\u00e9finit un cadre dans la fen\u00eatre en cours
FRAMESETTagInfo=D\u00e9finit un ensemble de cadres qui divisent la fen\u00eatre en plusieurs cadres
H1TagInfo=Titre de niveau sup\u00e9rieur
H2TagInfo=Titre de deuxi\u00e8me niveau
H3TagInfo=Titre de troisi\u00e8me niveau
H4TagInfo=Titre de quatri\u00e8me niveau
H5TagInfo=Titre de cinqui\u00e8me niveau
H6TagInfo=Titre de sixi\u00e8me niveau
HEADTagInfo=Contient des informations sur les m\u00e9tadonn\u00e9es et le titre de la fen\u00eatre d'un document
HRTagInfo=R\u00e8gle horizontale
HTMLTagInfo=El\u00e9ment racine du document
ITagInfo=Affiche le texte en italique
IFRAMETagInfo=D\u00e9finit une sous-fen\u00eatre int\u00e9gr\u00e9e
IMGTagInfo=Affiche l'image r\u00e9f\u00e9renc\u00e9e sous la forme d'un contenu imbriqu\u00e9
INPUTTagInfo=D\u00e9finit un contr\u00f4le de formulaire pour les donn\u00e9es entr\u00e9es par l'utilisateur
INSTagInfo=D\u00e9finit le texte ins\u00e9r\u00e9
ISINDEXTagInfo=D\u00e9finit un message d'une seule ligne
KBDTagInfo=D\u00e9finit le texte que l'utilisateur doit entrer
LABELTagInfo=D\u00e9finit le libell\u00e9 d'une zone du formulaire
LEGENDTagInfo=D\u00e9finit le libell\u00e9 d'un ensemble de zones du formulaire
LITagInfo=D\u00e9finit un \u00e9l\u00e9ment dans une liste
LINKTagInfo=Lien ind\u00e9pendant d'un support
MAPTagInfo=D\u00e9finit une image hypertexte c\u00f4t\u00e9 client
MARQUEETagInfo=Affiche un texte qui d\u00e9file. Pas pris en charge par W3C HTML 4.0.1
MENUTagInfo=D\u00e9finit une liste de type menu
METATagInfo=D\u00e9finit des informations sur les m\u00e9tadonn\u00e9es du document
NOBRTagInfo=Remplace et emp\u00eache les retours \u00e0 la ligne. Pas pris en charge par W3C HTML 4.0.1
NOFRAMESTagInfo=Fournit les informations \u00e0 afficher si le navigateur en cours ne prend pas en charge les cadres
NOSCRIPTTagInfo=Fournit les informations \u00e0 afficher si le navigateur en cours ne prend pas en charge le scriptage
OBJECTTagInfo=D\u00e9finit un objet imbriqu\u00e9 g\u00e9n\u00e9rique
OLTagInfo=Liste num\u00e9rot\u00e9e
OPTGROUPTagInfo=Groupe d'options
OPTIONTagInfo=Option disponible pour effectuer une s\u00e9lection
PTagInfo=Paragraphe
PARAMTagInfo=Valeur de la propri\u00e9t\u00e9 indiqu\u00e9e
PRETagInfo=Texte pr\u00e9format\u00e9
QTagInfo=Citation courte et ins\u00e9r\u00e9e
STagInfo=Affiche un texte barr\u00e9
SAMPTagInfo=Exemple de donn\u00e9es g\u00e9n\u00e9r\u00e9es par un programme, scripts, etc. Affiche les donn\u00e9es dans une police \u00e0 ch\u00e2sse fixe
SCRIPTTagInfo=Instructions du script
SELECTTagInfo=Fonction de s\u00e9lection d'options
SMALLTagInfo=Affiche le texte en petits caract\u00e8res
SPANTagInfo=Conteneur g\u00e9n\u00e9rique permettant de d\u00e9finir la langue ou le style du contenu
STRIKETagInfo=Affiche un texte barr\u00e9
STRONGTagInfo=Met le texte en \u00e9vidence (en g\u00e9n\u00e9ral en gras)
STYLETagInfo=D\u00e9finit un style pour les informations indiqu\u00e9es
SUBTagInfo=Affiche les donn\u00e9es sous la forme d'un indice
SUPTagInfo=Affiche les donn\u00e9es sous la forme d'un exposant
TABLETagInfo=D\u00e9finit un tableau
TBODYTagInfo=Corps d'un tableau
TDTagInfo=Cellule d'un tableau
TEXTAREATagInfo=Zone de texte comportant plusieurs lignes
TFOOTTagInfo=Pied de page d'un tableau
THTagInfo=Cellule d'en-t\u00eate d'un tableau
THEADTagInfo=En-t\u00eate d'un tableau
TITLETagInfo=Titre du document affich\u00e9 dans la barre de titre du navigateur
TRTagInfo=Ligne d'un tableau
TTTagInfo=Affiche le texte en mode t\u00e9l\u00e9type ou avec une police \u00e0 ch\u00e2sse fixe
UTagInfo=Souligne le texte
ULTagInfo=Liste non num\u00e9rot\u00e9e
VARTagInfo=Instance d'une variable ou d'un argument de programme
WBRTagInfo=Permet un retour \u00e0 la ligne \u00e0 l'int\u00e9rieur de la balise <B>&lt;NOBR&gt;</B>. Pas pris en charge par W3C HTML 4.0.1
