# NLS_ENCODING=UNICODE
###############################################################################
# Copyright (c) 2009 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
###############################################################################
#-------------------------------------------------------------------------------
# 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
addCodeAction_toolTipText=Ins\u00e9rer du langage HTML personnalis\u00e9 (JavaScript ou vid\u00e9o)

# 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...
addCodeDialog_title=Ins\u00e9rer du langage HTML personnalis\u00e9
addCodeDialog_Msg=Saisissez votre texte HTML pour JavaScript ou vid\u00e9o :

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


