#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

################################################################################
# BEGIN NO TRANSLATION
###############################################################################
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default=arial, helvetica, sans-serif
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default_Mozilla=arial,helvetica,sans-serif
################################################################################
# END NO TRANSLATION
################################################################################



# Font Style Names
fontStyle_normal=Normal
fontStyle_sectionHeading=En-t\u00eate de section
fontStyle_subsectionHeading=En-t\u00eate de sous-section
fontStyle_subSubsectionHeading=En-t\u00eate de sous-sous-section
fontStyle_quote=D\u00e9claration
fontStyle_codeSample=Echantillon de code

# HTML Block Tags
blockTag_paragraph=Paragraphe
blockTag_heading1=En-t\u00eate 1
blockTag_heading2=En-t\u00eate 2
blockTag_heading3=En-t\u00eate 3
blockTag_heading4=En-t\u00eate 4
blockTag_heading5=En-t\u00eate 5
blockTag_heading6=En-t\u00eate 6
blockTag_address=Adresse
blockTag_preformattedText=Texte pr\u00e9format\u00e9

# HTML Font Names
fontName_default=Par d\u00e9faut
fontName_arial=Arial
fontName_courierNew=Courier New
fontName_timesNewRoman=Times New Roman
fontName_verdana=Verdana

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=Ajouter une barre horizontale
addImageAction_toolTipText=Ajouter une image
addLineAction_toolTipText=Ajouter une ligne
addLinkAction_toolTipText=Ajouter un lien
addOrderedListAction_toolTipText=Ajouter une liste num\u00e9rot\u00e9e
addTableAction_toolTipText=Ajouter une table
addUnorderedListAction_toolTipText=Ajouter une liste non num\u00e9rot\u00e9e
boldAction_toolTipText=Gras
clearContentAction_toolTipText=Effacer le contenu
copyAction_toolTipText=Copier
cutAction_toolTipText=Couper
findReplaceAction_toolTipText=Rechercher/Remplacer
indentAction_toolTipText=Indentation
italicAction_toolTipText=Italique
justifyCenterAction_toolTipText=Centrer
justifyFullAction_toolTipText=Justifier
justifyLeftAction_toolTipText=Aligner \u00e0 gauche
justifyRightAction_toolTipText=Aligner \u00e0 droite
outdentAction_toolTipText=Ins\u00e9rer un retrait
pasteAction_toolTipText=Coller
pastePlainTextAction_toolTipText=Coller comme texte en clair
subscriptAction_toolTipText=Indice
superscriptAction_toolTipText=Exposant
underlineAction_toolTipText=Soulignement
tidy_clean_text=Nettoyer par d\u00e9faut
tidy_cleaner_text=Nettoyer MS HTML
tidy_cleanest_text=Nettoyer Word 2000 HTML
tidy_clean_toolTipText=Nettoyer avec JTidy avec les options par d\u00e9faut
tidy_cleaner_toolTipText=Nettoyer HTML de MS HTML
tidy_cleanest_toolTipText=Nettoyer Word 2000 HTML


# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=D\u00e9finir le style de police
blockTagAction_toolTipText=D\u00e9finir la balise de bloc
fontNameAction_toolTipText=D\u00e9finir la police de caract\u00e8res
fontNameAction_DefaultFontName=Police par d\u00e9faut
fontSizeAction_toolTipText=D\u00e9finir la taille de police

# Rich Text Editor Context Menu Items
cutAction_text=&Couper
copyAction_text=C&opier
pasteAction_text=Co&ller
pastePlainTextAction_text=Coller comme &texte en clair

# Rich Text Editor Tabs
richTextTab_text=Texte enrichi
richTextTab_toolTipText=Modifier le contenu en texte enrichi
htmlTab_text=HTML
htmlTab_toolTipText=Modifier le contenu en HTML

# Add Dialogs
addImageDialog_title=Ajouter une image
addLinkDialog_title=Ajouter un lien
addTableDialog_title=Ajouter une table
findReplaceDialog_title=Rechercher/Remplacer
urlLabel_text=URL :
summaryLabel_text=R\u00e9capitulatif :
captionLabel_text=L\u00e9gende :
rowsLabel_text=Lignes :
columnsLabel_text=Colonnes :
widthLabel_text=Largeur :
tableStyleLabel_text=Style :
tableHeaderNone_text=Table d\u00e9pourvue d'en-t\u00eate
tableHeaderCols_text=Table dot\u00e9e d'en-t\u00eates de colonne
tableHeaderRows_text=Table dot\u00e9e d'en-t\u00eates de ligne
tableHeaderBoth_text=Table dot\u00e9e d'en-t\u00eates de colonne et de ligne
browseButton_text=Parcourir...

# Clear Editor Content Dialog
clearContentDialog_title=Confirmation d'effacement du contenu de l'\u00e9diteur
clearContentDialog_text=Voulez-vous vraiment effacer le contenu de cet \u00e9diteur de texte enrichi ?

# Find/Replace Dialog
findLabel_text=Rechercher :
replaceLabel_text=Remplacer par :
optionsGroup_text=Options
caseSensitiveCheckbox_text=Respecter la casse
wholeWordCheckbox_text=Mot entier
directionGroup_text=Sens
forwardRadioButton_text=Suivant
backwardRadioButton_text=Pr\u00e9c\u00e9dent
findButton_text=Rechercher
replaceButton_text=Remplacer
replaceFindButton_text=Remplacer/Rechercher
replaceallButton_text=Remplacer tout
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=Cha\u00eene introuvable

# Preference Page
maxCharsPerLineLabel_text=Nombre maximal de caract\u00e8res par ligne :
indentHTMLCheckbox_text=Mettre les balises HTML en retrait
indentSizeLabel_text=Taille du retrait :
urlDisplayNameLabel_text=Nom affich\u00e9 de l'URL :


