# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  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.  For additional information regarding
# copyright in this work, please see the NOTICE file in the top level
# directory of this distribution.
#
# To find unused strings, see <roller-trunk>/docs/examples/i18n/compare-vs-default-file.py
# (Usage instructions given at the top of that script)
#

generic.all=Tous
generic.none=Aucune
generic.cancel=Annuler
generic.done=Terminé
generic.yes=Oui
generic.no=Non
generic.name=Nom
generic.description=Description
generic.save=Enregistrer
generic.edit=Editer
generic.delete=Effacer

# ------------------------------------------------------------- BookmarkForm.jsp

bookmarkForm.add.title=Ajouter un signet
bookmarkForm.add.subtitle=Ajouter un signet dans le répertoire [{0}]
bookmarkForm.edit.title=Editer un signet
bookmarkForm.edit.subtitle=Editer un signet dans le répertoire [{0}]
bookmarkForm.image=Lien de l'image
bookmarkForm.rssUrl=Adresse du fil d'information
bookmarkForm.url=Lien du signet

# ----------------------------------------------------------- BookmarksForm.jsp

bookmarksForm.root=racine
bookmarksForm.rootTitle=Signets

#FIXME
bookmarksForm.rootPrompt=\
Ceci est votre répertoire de signets de plus haut niveau. \
Les signets que vous conservez ici apparaîtront dans votre BLOGROLL SECTION de votre blog \
(en supposant que vous utilisez l'un des thèmes par défaut). Vous pouvez créer \
d'autres répertoires de signets ici mais vous devrez ajouter les macros d'affichage des \
signets additionnels à votre modèle si vous voulez afficher leur contenu.

bookmarksForm.subtitle=Gérer les signets du blog<span>{0}</span>

bookmarksForm.addBookmark=Ajouter un signet
bookmarksForm.addFolder=Ajouter un répertoire de signets
bookmarksForm.delete=Effacer la sélection
bookmarksForm.delete.confirm=Effacer les signets sélectionnés ?
bookmarksForm.folder=Répertoire de signets
bookmarksForm.edit.tip=Cliquez pour éditer ce signet ou répertoire
bookmarksForm.move=Déplacer la selection
bookmarksForm.move.confirm=Déplacer les signets sélectionnés ?
bookmarksForm.path=Chemin
bookmarksForm.visitLink=Visiter
bookmarksForm.visitLink.tip=Cliquez ici pour visiter ce site

bookmarksForm.error.move=Erreur : déplacer un répertoire parent dans un sous-répertoire est interdit
#FIXME OPML
bookmarksForm.importBookmarks=Importer les signets via OPML

# --------------------------------------------------------- Bookmarks import.jsp
#FIXME OPML
bookmarksImport.title=Importer les signets OPML
bookmarksImport.subtitle=Importe les signets dans le blog <span>{0}</span> via OPML
bookmarksImport.prompt=Importer un fichier au standard OPML dans votre collection dde signets. \
Les signets seront importés dans un nouveau répertoire de signets portant le nom \
imported-[date]. Vous pourrez alors les éditer et les déplacer dans d'autres répertoires \
si vous le désirez.
bookmarksImport.imported=Signets OPML importés dans le répertoire [{0}]
bookmarksImport.error=Une erreur est survenue durant l'importation de signets : {0}
bookmarksImport.import=Importer

# ----------------------------------------------------------------- cacheInfo.jsp

cacheInfo.title=Informations sur le cache
cacheInfo.subtitle=Affichage des statistiques sur le cache
cacheInfo.prompt=Cette page offre une vue détaillée de l'activité des caches du système.
cacheInfo.clear=Vider le cache

# -------------------------------------------------------------------- Calendars

calendar.summary=Calendrier des archives
calendar.prev=Précédent
calendar.today=Aujourd'hui
calendar.next=Suivant

# ------------------------------------------------------------- CategoryForm.jsp

categoryForm.edit.title=Edition de catégories
categoryForm.edit.subtitle=Editer une catégorie
categoryForm.add.title=Ajout de catégories
categoryForm.add.subtitle=Ajouter une catégorie
categoryForm.image=Image
categoryForm.error.duplicateName=Il existe déjà une catégorie nommée '{0}'. Veuillez choisir un autre nom.

# ----------------------------------------------------------- CategoriesForm.jsp

categoriesForm.subtitle=Gérer les catégories du blog <span>{0}</span>
categoriesForm.root=Racine
categoriesForm.rootTitle=Catégories
categoriesForm.rootPrompt=\
Vous trouverez ci-dessous la liste de vos catégories de plus haut niveau. \
Vous pouvez utiliser les catégories afin d'organiser les entrées de votre blog et vos lecteurs peuvent \
choisir de souscrire à des fils d'information séparés en fonction de vos catégories. \
Vous pouvez aussi définir des sous-catégories, cependant la plupart des macros incluses avec les modéles de Roller \
affichent seulement les catégories de plus haut niveau. Il vous faudra modifier votre modèle \
si vous désirer afficher les sous-catégories.
categoriesForm.addCategory=Ajouter une catégorie
categoriesForm.move=Déplacer
categoriesForm.move.confirm=Déplacer les catégories sélectionnées ?
categoriesForm.remove=Effacer

# --------------------------------------------------------- catégorieDeleteOK.jsp

categoryDeleteOK.removeCategory=Effacer une catégorie
categoryDeleteOK.warningCatInUse=ATTENTION: Cette catégorie est en cours d'utilisation !
categoryDeleteOK.youMustMoveEntries=Vous devez déplacer les entrées de votre blog appartenant à \
cette catégorie dans une autre catégorie. Sélectionnez quelle catégorie recevra ces entrées dans la \
boite de sélection.</p>
categoryDeleteOK.moveToWhere=Déplacer le contenu dans une autre catégorie :
categoryDeleteOK.noEntriesInCat=Il n'y a pas d'entrée dans cette catégorie.
categoryDeleteOK.areYouSure=Etes vous certain de vouloir effacer cette catégorie ?

# ----------------------------------------------------------------- comments.jsp

comments.title=Commentaire
comments.header=Rédiger un commentaire
comments.email=Courriel :
comments.header2=Commentaire :
comments.htmlenabled=autorisée
comments.disabled=Les commentaires sont clos pour cette entrée.

comments.mathAuthenticatorQuestion=Veuillez répondre à cette question de mathématique simple
error.commentAuthFailed=La vérification du commentaire a échouée !

# -------------------------------------------------------- comment validators

comment.validator.excessLinksName=Validation du nombre de liens
comment.validator.excessLinksMessage=Ce commentaire a plus de {0} liens
comment.validator.excessSizeName=Validation de la taille du commentaire
comment.validator.excessSizeMessage=Ce commentaire contient plus de {0} caractères
comment.validator.blacklistName=Validation de la liste noire
comment.validator.blacklistMessage=Ce commentaire contient certains mots figurant sur la liste noire.

#FIXME
comment.validator.trackbackLinkbackName=Trackback Linkback Comment Validator
comment.validator.trackbackLinkbackMessage=Trackback from site/page that does not link to your weblog entry

comment.validator.akismetName=Validation de commentaires Akismet
comment.validator.akismetMessage=Le service Akismet (akismet.com) indique que ce commentaire est un spam

# -------------------------------------------------------- comments-display.jsp

comments.at=le

# ---------------------------------------------------------- Comment management

commentManagement.title=Gestion des commentaires
commentManagement.subtitle=Cette page vous permet de gérer les commentaires à travers tous les blogs dans votre systéme.
commentManagement.entry.subtitle=Gérer les commentaires pour la publication <span>{0}</span>
commentManagement.website.subtitle=Gérer les commentaires du blog <span>{0}</span>

commentManagement.tip=Vous pouvez changer l'approbation, le status de spam ou effacer \
certains commentaires en les sélectionnant ci-dessous. \
Si vous faites quelque changement que ce soit, assurez vous de les sauvegarder en cliquant sur \
<em>Enregistrer</em> au bas de cette page.

commentManagement.globalTip=En tant qu'administrateur principal \
vous pouvez changer le status de spam ou effacer certains commentaires en les sélectionnant ci-dessous. \
Vous ne pouvez cependant pas changer le status de publication ou d'approbation de l'entrée, \
ceci afin de ne pas interférer avec le processus d'approbation d'une autre personne. \
Si vous faites quelque changement que ce soit, assurez vous de les sauvegarder en cliquant sur \
<em>Enregistrer</em> au bas de cette page.

commentManagement.nowShowing=Afficher <b>{0}</b> commentaires
commentManagement.noCommentsFound=Aucun commentaire trouvé.

commentManagement.pending=En attente
commentManagement.spam=Spam

commentManagement.next=Page suivante
commentManagement.prev=Page précedente
commentManagement.query=Requête
commentManagement.endDate=Date de fin
commentManagement.startDate=Date de début

commentManagement.bulkDeletePrompt1=Votre requête a retournée 0} commentaires,
commentManagement.bulkDeletePrompt2=Effacer tous les commentaires ?
commentManagement.confirmBulkDelete=Etes vous certain(e) de vouloir effacer les {0} \
commentaires retournés par votre requête ?

commentManagement.pendingStatus=En attente
commentManagement.onlyPending=En attente seulement
commentManagement.onlyApproved=Approuvé seulement
commentManagement.onlyDisapproved=Désapprouvé seulement
commentManagement.onlySpam=Spam seulement

commentManagement.columnApproved=Approuvé
commentManagement.columnSpam=Spam
commentManagement.columnComment=Commentaire
commentManagement.update=Enregistrer
commentManagement.updateSuccess=Les commentaires ont été mis à jour.
commentManagement.updateError=Une erreur est survenue durant la mise à jour des commentaires.
commentManagement.searchString=Recherche
commentManagement.sidebarTitle=Filtrer les commentaires
commentManagement.sidebarDescription=Filtrer les commentaires par recherche, status, et/ou date.

commentManagement.commentBy=Rédigé par
commentManagement.commentByBoth={0} (<a href="mailto:{1}">{2}</a>) à l''adresse IP {3}
commentManagement.commentByName={0} à partir de l''addresse IP {1}
commentManagement.commentByIP=Utilisateur à l''adresse IP {0}
commentManagement.postTime=Rédigé le
commentManagement.entryTitled=A propos de

commentManagement.select=Sélectionner
commentManagement.readmore=Commentaire complet...

# -------------------------------------------------------------- CommentServlet

commentServlet.commentMarkedAsSpam=Votre commentaire a été identifié comme un spam et ne sera pas affiché.
commentServlet.submittedToModerator=Votre commentaire a été transmis au modérateur pour approbation.
commentServlet.previewCommentOnly=Ceci est un aperçu de votre commentaire seulement

commentServlet.email.thereAreSystemMessages=Messages en provenance du système Roller :
commentServlet.email.thereAreErrorMessages=Ce commentaire n'a pas pu passer l'étape de validation pour les raisons suivantes :

# --------------------------------------------------------------- Configuration

configForm.title=Configuration de Roller
configForm.subtitle=Paramètres de configuration du site Roller.
configForm.prompt=Les changements que vous effectuez ici s'appliquent au site au complet. \
Veuillez noter que ces paramètres ne sont pris en compte que durant <i>l'execution</i> de Roller seulement. \
Référez vous à la documentation de Roller pour plus d'informations sur la modification des paramètres de \
<i>démarrage</i> de Roller (voir aussi le fichier roller.properties).

configForm.siteSettings=Paramètres du site
configForm.siteName=Nom du site (affiché dans la page principale et les fils d'information)
configForm.shortName=Nom court (affiché dans la bannière du site)
configForm.siteDescription=Description du site (affiché dans la page principale et les fils d'information)
configForm.frontpageWeblogHandle=Identifiant du blog utilisé pour la page principale
#FIXME
configForm.frontpageWeblogAggregated=Enable aggregated site-wide frontpage
configForm.siteAdminEmail=Courriel de l'administrateur du site
configForm.absoluteUrl=URL absolue du site (si nécessaire)
configForm.suspendPingProcessing=Suspendre les notifications

configForm.userSettings=Paramètres utilisateur
configForm.requireEmailActivation=Les nouveaux utilisateurs doivent activer leur compte par courriel
configForm.allowNewUsers=Autoriser de nouveaux utilisateurs
configForm.registrationUrl=URL externe d'enregistrement
configForm.editorPages=Pages utilisées comme éditeur de texte.

configForm.weblogSettings=Paramètres d'affichage du blog
configForm.pageMaxEntries=Nombre maximum d'entrées par page
configForm.newsfeedMaxEntries=Nombre d'entrées dans les fils d'information
configForm.styledFeeds=Afficher les fils d'information stylisés pour les navigateurs

configForm.commentSettings=Paramètres de commentaires et trackbacks
configForm.enableComments=Autoriser les commentaires sur ce blog
configForm.ignoreSpamComments=Ne pas enregistrer les commentaires considérés comme spam
configForm.enableTrackbacks=Autoriser les trackbacks ?
configForm.ignoreSpamTrackbacks=Ne pas enregistrer les trackbacks considérés comme spam
#FIXME
configForm.emailComments=Envoyer une notification de commentaire par courriel
configForm.moderationRequired=Modération de commentaires requise pour tous les blogs
configForm.enableTrackbackValidation=Activer la vérification des trackback
#FIXME

configForm.fileUploadSettings=Paramètres de transfert de fichiers
configForm.enableFileUploads=Activer le transfert de fichiers
configForm.allowedExtensions=Extensions autorisées
configForm.forbiddenExtensions=Extensions interdites
configForm.maxFileSize=Taille maximale de fichier (MB)
configForm.maxDirSize=Taille maximale de répertoire (MB)

configForm.themeSettings=Paramètres de thèmes
configForm.newUserThemes=Répertoire des thèmes
configForm.allowCustomTheme=Autoriser les thèmes personnalisés

# ---------------------------------------------------------------- Create weblog

createWebsite.title=Créer un blog

createWebsite.prompt=Utilisez ce formulaire pour créer un nouveau blog pour vous ou votre groupe d'amis.

createWebsite.tip.name=Le nom est aussi le titre de votre blog. Il sera affiché en haut de votre page, \
et dans le champ de titre du fil d'information de votre blog. \
Veuillez noter que ce champ ne doit contenir aucun code HTML.
createWebsite.tip.description=La description sera affichée en haut de votre blog \
(suivant le thème que avez choisi) et sera utilisée dans la description ou sous-titre des fils d'information \
pour votre blog. \
Veuillez noter que ce champ ne doit contenir aucun code HTML.
createWebsite.tip.handle=L'identifiant doit être un seul mot (court de préférence) unique pour chaque blog \
Comme il sera utilisé dans les liens apparaissant dans votre blog et pour votre blog lui-même, veuillez \
utiliser un nom simple formé de caractères ASCII uniquement (a-z, A-Z et 0-9) et ne pas utiliser HTML.
createWebsite.tip.email=Votre adresse de courriel ou de la personne responsable du blog que vous créez.
createWebsite.tip.timezone=Le fuseau horaire utilisé pour les entrées et l'affichage de ce blog.
createWebsite.tip.locale=La langue (locale) utilisée par défault pour l'affichage de ce blog si les navigateurs \
ne fournissent pas cette information.
createWebsite.tip.theme=Le thème utilisé pour afficher ce blog. \
Vous pouvez aisément changer de thème ou éditer les modèles existants pour personnaliser votre blog à votre goût.

createWebsite.handle=Identifiant
createWebsite.emailAddress=Adresse de courriel
createWebsite.locale=Langue
createWebsite.timeZone=Fuseau horaire
createWebsite.theme=Thème
createWebsite.weblogUrl=URL

createWebsite.button.save=Créer le blog
createWebsite.created=Le nouveau blog [<b>{0}</b>] a été crée.

createWeblog.error.invalidHandle=L'identifiant que vous avez spécifié est incorrect.
createWeblog.error.handleExists=Il existe déjà un blog avec cet identifiant

# --------------------------------------------------------------- Entry editors

editor.text.name=Editeur de texte
editor.xinha.name=Editeur de texte riche (Xinha)

# --------------------------------------------------------------- Comment emails

email.comment.wrote=a écrit
email.comment.anonymous=Un utilisateur anonyme a écrit
email.comment.respond=Répondre à ce commentaire à
email.comment.title=Commentaire
email.comment.commentApproved=Commentaire approuvé

#---------------------------------------------------------------- Error messages

error.untranslated={0}

error.add.user.userNameInUse=Ce nom est déjà utilisé
error.add.user.missingUserName=Vous devez spécifier un nom d'utilisateur.
error.add.user.badUserName=Nom d'utilisateur incorrect \
(veuillez utiliser des caractères alpha-numériques uniquement).
error.add.user.missingPassword=Vous devez entrer un mot de passe.

error.upload.dirmax=Vous ne pouvez pas dépasser la limite de {0} MB pour la taille d'un répertoire.
error.upload.disabled=Le chargement de fichier est désactivé
error.upload.file=Aucun fichier sélectionné
error.upload.filemax=Ce fichier dépasse la taille autoriséee de {0} MB
error.upload.forbiddenFile=Vous ne pouvez charger que les fichiers avec l'une des extensions suivantes : {0}
error.general=ERREUR : une erreur inattendue [{0}] est survenue.

error.password.mismatch=Votre nom d'utilisateur ou votre mot de passe est incorrect.

error.trackback=Une erreur est survenue durant l'envoi du trackback, probablement due à \
une adresse URL incorrecte. {0}
#FIXME
error.trackbackNotAllowed=Une erreur est survenue durant l'envoi du trackback. \
L'administrateur de ce site a interdit l'envoi de trackbacks à l'adresse URL que vous avez spécifiée.

errorPage.title=Erreur inattendue
errorPage.message=Une erreur inattendue est survenue durant l'execution de Roller. Celle ci a été enregistrée \
dans le fichier journal de l'application.

error.title.403=Accés interdit
error.text.403=Vous n'avez pas les privilèges requis pour accéder à cette page.

error.title.404=Document introuvable.
#FIXME: add more verbiage to 404 text
error.text.404=Le document que vous recherchez est introuvable sur ce serveur.

error.permissionDenied.title=Accés refusé
error.permissionDenied.prompt=Causes probables :
error.permissionDenied.reason0=Vous tentez d'accéder à une entrée que vous n'avez pas la permission d'éditer \
(peut-être l'avez vous déjà soumise à révision ?).
error.permissionDenied.reason1=Vous tentez d'enregistrer des informations provenant d'une page expirée \
ou laissée ouverte dans votre navigateur avec un compte utilisateur différent.

error.permissionDenied.reason2=Vous tentez de vous connecter avec une orthographe de nom d'utilisateur incorrecte. \
Vérifiez que vous entrez les minuscules et majuscules correctement. Si le problème persiste, \
déconnectez vous de l'application et essayez de nouveau avec votre nom d'utilisateur.

error.permissionDenied.reason3=Des erreurs de configuration peuvent empêcher la connection à la base de données de ce serveur de blog. \
Pour résoudre ce problème, veuillez contacter votre administrateur système.

# --------------------------------------------------------------- FolderForm.jsp

folderForm.add.title=Ajouter un répertoire
folderForm.add.subtitle=Ajoute un répertoire de signets dans le répertoire [{0}]

folderForm.edit.title=Editer un répertoire
folderForm.edit.subtitle=Edite le répertoire de signets dans le répertoire [{0}]

folderForm.error.duplicateName=Le répertoire '{0}' est en cours d'utilisation. \
Vous devez choisir un autre répertoire.

# ------------------------------------------------------ index / setup page

index.heading=Bienvenue sur Roller !
index.prompt=Veuillez suivre les étapes suivantes pour compléter votre installation de Roller.

index.createUser=Créer un compte utilisateur
index.createUserDone=Terminé : ce site à {0} utilisateur(s) enregistré(s)
index.createUserHelp=\
Avant de pouvoir utiliser Roller, vous devez créer votre premier utilisateur \
avec lequel vous connecter, gérer Roller et commencer à \
publier. Notez que le premier utilisateur crée aura les droits d''\
<i>administrateur principal</i> nécessaires à la gestion de l'application Roller, \
des utilisateurs, ainsi que désigner d'autres administrateurs.
index.createUserBy=Créez votre premier utilisateur au travers de la page de
index.createUserPage=Création d'un nouvel utilisateur
index.createWeblog=Créer un blog
index.createWeblogDone=Terminé : ce site contient {0} blog(s)
index.createWeblogHelp=\
Avant que vous ne commenciez à publier, vous devez créer au moins un blog. \
Notez que vous pouvez créer autant de blogs que vous le désirez. Chaque utilisateur \
de Roller peut posséder plusieurs blogs et chaque blog peut avoir de multiples auteurs.
index.createWeblogBy=Créez votre premier blog au travers de la page de
index.createWeblogPage=Création d'un nouveau blog.

index.setFrontpage=Choisissez un blog comme page de garde
index.setFrontpageHelp=\
Vous devez spécifier quel blog utiliser pour la page de garde du site Roller. \
Vous pouvez faire cela au travers de la page d'administration du serveur \
(<b>Administration Serveur->Configuration</b>). \
Entrez l'identifiant du blog que vous voulez utiliser comme page de garde dans le champ \
'Identifiant du blog utilisé comme page de garde'. \
Quand vous aurez terminé, vous ne verrez enfin plus l'agaçante page actuelle.


# --------------------------------------------------------------- Invite member

inviteMember.title=Inviter un nouveau membre
inviteMember.subtitle=Inviter un nouvel utilisateur à joindre ce blog
inviteMember.prompt=Invitez un utilisateur à rejoindre ce blog en sélectionnant \
son adresse de courriel ci-dessous et en choisissant une des permissions d'accés \
pour celui-ci. Cliquez ensuite sur le bouton 'Inviter'. Si l'utilisateur n'est pas visible \
dans la liste, entrez les premières lettres de son nom ou de son courriel afin de le retrouver.

inviteMember.userName=Nom d'utilisateur
inviteMember.administrator=Administrateur
inviteMember.author=Auteur
inviteMember.limited=Limité
inviteMember.permissions=Permissions

inviteMember.button.save=Inviter
inviteMember.error.userNotFound=Cet utilisateur n'existe pas
inviteMember.error.userAlreadyInvited=Cet utilisateur a déjà été invité à joindre ce blog
inviteMember.error.userAlreadyMember=Cet utilisateur est déjà un membre de ce blog

inviteMember.userInvited=L'utilisateur a été invité avec succés

inviteMember.notificationSubject=Roller : invitation à joindre le blog "{0}" ({1})
inviteMember.notificationContent=Vous avez été invité à joiondre le blog "{0}" ({1}). \
Cliquez sur le lien suivant et enregistrez vous comme utilisateur [{2}] afin d'accepter ou de décliner \
cette invitation. <{3}>.

# ------------------------------------------------------------------------ Login

loginPage.title=Bienvenue sur Roller
loginPage.prompt=Veuillez entrer votre nom d'utilisateur et votre mot de passe pour vous connecter.
loginPage.userName=Utilisateur
loginPage.password=Mot de passe
loginPage.rememberMe=Conserver ces informations

#loginPage.rememberMeText=Ne choisissez pas cette option si vous utilisez un ordinateur partagé, \
#comme par exemple dans un cyber-café, ou si plusieurs personnes peuvent avoir accés à votre compte \
#sur votre ordinateur.
loginPage.login=Connecter
loginPage.reset=Effacer

# --------------------------------------------------------------- Bookmark Macro

macro.bookmark.urlFeed=URL du fil d'information (RSS) du site

# --------------------------------------------------------- Search Results Macro

error.searchProblem=Votre recherche est incorrecte ou une erreur est survenue durant son execution.

# ----------------------------------------------------------------- Weblog Macro

macro.weblog.comments=Commentaires
macro.weblog.comment=Commentaire
macro.weblog.comment.unknown=Inconnu
macro.weblog.datepattern=dd MMMM yyyy à hh:mm aa z
macro.weblog.date.toStringFormat=EEEE dd MMMM yyyy
macro.weblog.preview=Aperçu du commentaire
macro.weblog.commentpermalink.title=Lien permanent
macro.weblog.readMore=Suite...
macro.weblog.readMoreLink=[<a class="readmore" href="{0}">Suite</a>]

macro.weblog.postedby=Publié par
macro.weblog.on=le
macro.weblog.name=Nom :
macro.weblog.email=Courriel :
macro.weblog.url=URL :
macro.weblog.rememberinfo=Conserver ces informations ?
macro.weblog.yourcomment=Votre commentaire :
macro.weblog.htmlsyntax=Syntax HTML :
macro.weblog.htmldisabled=interdite
macro.weblog.htmlenabled=autorisée
macro.weblog.commentwarning=Veuillez entrer un commentaire.
macro.weblog.postcommentHeader=Publier un commentaire :
macro.weblog.postcomment=Publier ce commentaire
macro.weblog.post=Publier
macro.weblog.postpreview=Aperçu
macro.weblog.searchalert=Veuillez entrer un terme de recherche pour continuer.
macro.weblog.searchbutton=Rechercher
#FIXME
macro.weblog.searchhits="{0}": <strong>{1}</strong> entrées trouvées.
macro.weblog.searchgoogle=<em>Vous pouvez aussi \
<a href="http://google.com/search?q={0}%20site:{1}/{3}" \
class="google">essayer cette recherche</a> sur Google.</em>
#FIXME
macro.weblog.notifyMeOfComments=Notifiez moi par courriel de nouveaux commentaires

# -------------------------------------------------------------------- Main page

mainPage.category=catégorie
mainPage.searchWeblogs=Rechercher un blog
mainPage.actions=Actions
mainPage.loggedInAs=Connecté en tant que
mainPage.currentWebsite=Edition du blog
mainPage.mainMenu=Menu principal

# ------------------------------------------------------------------ Maintenance

maintenance.title=Maintenance
maintenance.subtitle=Activités de maintenance pour ce blog.
maintenance.prompt.index=Recréer l'index de recherche pour ce blog.
maintenance.button.index=Recréer l''index
maintenance.prompt.flush=Vider le cache mémoire pour ce blog.
maintenance.button.flush=Vider le cache
maintenance.message.indexed=La création de l'index de recherche a été enregistrée avec succés.
maintenance.message.flushed=Le cache de votre blog a été effacé avec succés.

# ----------------------------------------------------------- Member permissions

memberPermissions.title=Droits d''accés des membres du blog
memberPermissions.subtitle=Cette page gère les droits d''accés des utilisateurs au blog <span>{0}</span>
memberPermissions.description=Pour changer les droits d'accés des utilisateurs de ce blog \
utilisez les fonctions dans la liste ci-dessous et cliquez 'Enregistrer' pour sauvegarder vos changements. \
Notez que vous n'êtes pas autorisé à effacer votre propre compte de ce blog ou \
de vous démettre de certains droits.

memberPermissions.userName=Utilisateur
memberPermissions.administrator=Administrateur
memberPermissions.author=Auteur
memberPermissions.limited=Limité
memberPermissions.remove=Effacer

memberPermissions.membersRemoved={0} utilisateurs enlevés.
memberPermissions.membersChanged=Les permissions d'accés de {0} utilisateur(s) ont été changées.

memberPermissions.confirmRemove=Etes vous certain(e) de vouloir enlever des membres de ce blog ?

memberPermissions.inviteMember=Inviter un nouveau membre
memberPermissions.whyInvite=Inviter quelqu'un à joindre votre blog et vous aider à écrire.

memberPermissions.permissionsHelpTitle=Qu'est-ce qu'une permission ou droit d'accés ?
memberPermissions.permissionHelp=\
Les droits d'<b>Administrateur</b> permettent aux membres de publier des entrées, gérer ce blog ainsi que ses utilisateurs.<br /> \
Les droits d'<b>Auteur</b> permettent aux membres de publier des entrées mais pas de gérer ce blog.<br /> \
Des droits <b>Limités</b> ne permettent aux utilisateurs que de sauvegarder des brouillons.

# --------------------------------------------------------- New user registation

newUser.addNewUser=Enregistrement d'un nouvel utilisateur

# -------------------------------------------------------------- Page management

pagesForm.title=Modéles
pagesForm.subtitle=Gestion des modèles définissant le blog <span>{0}</span>
pagesForm.tip=Vous pouvez éditer les modèles définissant la mise en page, les couleurs \
et fontes de votre blog. Vous pouvez aussi créer de nouveaux modèles afin de créer de \
nouvelles pages. Ceci est cependant réservé aux utilisateurs avertis et si vous n'êtes \
pas très à l'aise avec HTML, vous devriez conserver les modèles existants sans tenter \
de les modifier.

pageForm.advancedSettings=Paramètres avancés
pagesForm.action=Action
pagesForm.remove=Effacer
pagesForm.required=(requis)
pagesForm.addNewPage=Ajouter un modèle
pagesForm.add=Ajouter
pagesForm.themesReminder=<b>Rappel :</b> vous utilisez le thème partagé {0}. \
Les modifications que vous effectuez à certains modèles peuvent ne pas modifier \
la mise en page de votre blog.
editPages.title.removeOK=Voulez vous vraiment effacer le modèle ?

pagesForm.error.alreadyExists=Le modèle {0} existe déjà.

# -------------------------------------------------------------------- Page edit

pageForm.subtitle=Edition du modèle <span>{0}</span> pour le blog <span>{1}</span>
pageForm.tip=Vous pouvez changer ce modèle pour modifier les pages créees par celui-ci. \
Veuillez vous réferer au guide d'utilisation des modèles ('Roller Template Guide') \
pour toute information concernant les objets disponibles et le code à utiliser dans un modèle. \
Notez que ceci est réservé aux utilisateurs avertis et si vous n'êtes \
pas très à l'aise avec HTML, vous devriez conserver les modèles existants sans tenter \
de les modifier.

pageForm.tip.required=Vous pouvez changer ce modèle pour modifier les pages créees par celui-ci. \
Veuillez vous réferer au guide d'utilisation des modèles ('Roller Template Guide') \
pour toute information concernant les objets disponibles et le code à utiliser dans un modèle. \
Notez que ceci est réservé aux utilisateurs avertis et si vous n'êtes \
pas très à l'aise avec HTML, vous devriez conserver les modèles existants sans tenter \
de les modifier. Notez aussi que ce modèle étant un modèle réservé, \
vous ne pouvez pas changer le nom, le lien ou la description de celui-ci.\

pageForm.link=Lien
pageForm.hidden=Caché
pageForm.hidden.tip=Les pages cachées ne sont pas accessibles par un lien URL à travers ce blog
pageForm.navbar=Inclus dans le menu de la page
pageForm.navbar.tip=Inclus dans le menu produit par la macro 'showPageMenu()'
pageForm.template=Modèle
pageForm.newTemplateContent=<html><body></body></html>
pageForm.save.success=Modèle mis à jour.
pageForm.launch=exécuter
#FIXME
pageForm.useAutoContentType=Automatically set content type
#FIXME
pageForm.useManualContentType=Use manually specified content-type

pageForm.templateLanguage=Langue du modèle

pageForm.outputContentType=Content-Type

pageRemove.subtitle=Confirmez l'effacement de cette page
pageRemove.youSure=Etes vous certain de vouloir effacer cette page ?
pageRemove.pageId=Identifiant de page
pageRemove.pageName=Nom de page

# ---------------------------------------------------- Ping Target Admin/Editing

commonPingTargets.subtitle=Gestion des adresses de notification communes à tous les blogs.
commonPingTargets.commonPingTargets=Adresses de notification communes

pings.title=Notifications automatiques
pings.subtitle=Gestion des notifications automatiques pour le blog <span>{0}</span>
pings.explanation=Les notifications vous permettent d'avertir d'autres sites \
que le contenu de votre blog a changé de façon à ce que ceux-ci puissent lire \
vos fils d'information et recevoir des mises à jour. \
Vous pouvez autoriser les notifications automatiques pour autant de sites que vous le désirez, \
et aussi notifier manuellement les sites spécifiés sur cette page. \
Notez qu'habituellement vous devez enregistrer votre blog auprés de ces sites \
avant de pouvoir leur envoyer vos notifications.

pings.commonPingTargets=Adresses de notification communes
pings.commonPingTargetsExplanation=Ces adresses de notification ont été configurées \
par l'administrateur de ce site pour tous les utilisateurs. Vous pouvez envoyer \
des notifications à tous ces sites.

ping.successful=La notification a réussie.
ping.transmittedButError=La notification à été envoyée au site distant mais celui-ci a renvoyé \
le message d'erreur suivant :

ping.transmissionFailed=La transmission de la notification a échouée. \
Veuillez vous assurer que l'adresse URL que vous utilisez est correcte.

ping.unknownHost=Le serveur specifié par cette adresse URL est introuvable.
ping.networkConnectionFailed=Incident réseau durant la notification de ce site. \
Le site distant est injoignable.
ping.pingProcessingIsSuspended=Les notifications ont été provisoirement suspendues par \
l'administrateur de ce site.

pingTarget.pingUrl=Adresse URL
pingTarget.autoEnabled=Ping Automatique
pingTarget.remove=Effacer
pingTarget.confirmRemoveTitle=Confirmation d'effacement de l'adresse de notification
pingTarget.confirmCommonRemove=Effacer cette adresse affectera tous les blogs l'utilisant. \
Etes vous certain de vouloir effacer celle-ci ?

pingTarget.enable=Activer
pingTarget.enabled=Actif
pingTarget.disable=Désactivé
pingTarget.disabled=Inactif
pingTarget.auto=Automatique
pingTarget.manual=Manuel
pingTarget.sendPingNow=Notifier
pingTarget.updated=Adresse de notification "{0}" enregistrée.

pingTarget.nameNotUnique=Le nom utilisé existe déjà ou fait partie d'un nom existant.
pingTarget.malformedUrl=L'URL utilisée est incorrecte.
pingTarget.unknownHost=Le serveur specifié par cette adresse URL est introuvable.

# --------------------------------------------------------------- Planet Roller

planetConfig.title=Configuration de Planet
planetConfig.subtitle=Configurer l'aggrégateur de fils d'information pré-défini de Roller.
planetConfig.prompt=Choisissez le titre, la description et adresse de courriel ainsi que l'URL du site \
devant être inclus dans les fils d'information produits par l'aggrégateur. \
Vous pouvez aussi configurer un proxy si cela est requis par votre réseau.

ConfigForm.siteSettings=Paramètres de Planet
ConfigForm.title=Titre
ConfigForm.description=Description
ConfigForm.adminName=Nom de l'administrateur Planet
ConfigForm.adminEmail=Courriel de l'administrateur Planet
ConfigForm.absoluteUrl=URL complète vers la page de Planet
ConfigForm.proxyHost=Nom du serveur Proxy
#pour la récuperation des fils d'information
ConfigForm.proxyPort=Port du serveur Proxy
#pour la récuperation des fils d'information

# ----------------------------------------------------- PlanetSubscriptions.jsp

planetSubscriptions.title=Souscriptions

planetSubscriptions.subtitle.add=\
Gestion des souscriptions aux fils d'information dans le groupe [<b>{0}</b>].
planetSubscriptions.prompt.add=Pour ajouter une nouvelle souscription, entrez son titre, \
l'adresse URL du fil d'information et celle du site, puis cliquez sur 'Enregistrer'.

planetSubscriptions.subtitle.addMain=\
Gérer la liste principale de souscriptions aux fils d'information.
planetSubscriptions.prompt.addMain=Utilisez cette page pour ajouter ou éditer les souscriptions qui \
s'ajouterons à la page d'aggrégation de Planet. \
Pour ajouter une nouvelle souscription, entrez son titre, \
l'adresse URL du fil d'information et celle du site, puis cliquez sur 'Enregistrer'.

planetSubscriptions.existingTitle=Souscriptions existantes

planetSubscriptions.column.title=Titre
planetSubscriptions.column.feedUrl=URL du fil

planetSubscription.feedUrl=URL du fil d'information

#FIXME UH
planetSubscription.foundExisting=Il y a [{0}] souscriptions existantes. \
Celle-ci a été ajoutée.
planetSubscription.success.saved=Souscription enregistrée

planetSubscription.error=Vous devez specifier une adresse URL pour le fil d'information
planetSubscription.error.feedUrl=URL du fil requise
planetSubscriptions.error.duringSave=La souscription {0} semble déjà exister
de la souscription.

# ------------------------------------------------------------ PlanetGroups.jsp

planetGroups.pagetitle=Groupes Planet personnalisés
planetGroups.subtitle=Ajouter des groupes d'aggregation personnalisés . \
Chaque groupe sera disponible comme un nouveau fil d'information.

planetGroups.prompt.add=Pour créer un groupe, entrez son nom tel qu'affiché, \
ainsi qu'un identifiant unique à utiliser dans l'adresse URL du fil d'information. \
Cliquez ensuite sur 'Enregistrer'.

planetGroups.prompt.edit=Vous éditez un group d'aggrégation personnalisé. \
Effectuez vos changements et cliquez sur 'Enregistrer' lorsque vous avez terminé. \
Vous pouvez aussi effacer ce groupe en cliquant sur 'Effacer'.

planetGroups.existingTitle=Groupes d'aggregations personnalisés existants
planetGroups.existingPrompt=Sélectionnez un groupe existant à editer.

planetGroups.column.title=Titre
planetGroups.column.subscriptions=Souscriptions
planetGroups.column.handle=Identifiant

planetGroups.tip.title=Titre du groupe
planetGroups.tip.handle=Identifiant du groupe
planetGroups.edit.tip=Editer ce group

planetGroups.title=Titre
planetGroups.handle=Identifiant

planetGroups.success.saved=Groupe enregistré

planetGroups.error.title=Le titre est requis
planetGroups.error.handle=L'identifiant est requis
planetGroups.error.nameReserved=L'identifiant 'all' ne peut être utilisé

# ------------------------------------------------------------------ Statistics

statCount.weblogCommentCountType=Total des commentaires
statCount.weblogEntryCommentCountType=Total des commentaires pour cette entrée
statCount.weblogDayHits=Total des visites du jour

# ------------------------------------------------------------------ Tabbed Menu

tabbedmenu.weblog=Créer &amp; Editer
tabbedmenu.weblog.newEntry=Nouvelle entrée
tabbedmenu.weblog.archives=Entrées
tabbedmenu.weblog.categories=Catégories
tabbedmenu.bookmarks.allFolders=Signets

tabbedmenu.website=Préférences
tabbedmenu.website.settings=Paramètres
tabbedmenu.website.themes=Thème
tabbedmenu.website.pages=Modèles
tabbedmenu.website.members=Membres
tabbedmenu.website.maintenance=Maintenance
tabbedmenu.weblog.pingSetup=Notifications

tabbedmenu.admin=Admin. Serveur
tabbedmenu.admin.config=Configuration
tabbedmenu.admin.userAdmin=Admin. Utilisateur
tabbedmenu.admin.commentManagement=Commentaires
tabbedmenu.admin.pingTargets=Notifications
tabbedmenu.admin.cacheInfo=Cache

tabbedmenu.planet=Admin. Planet
tabbedmenu.admin.planetConfig=Configuration
tabbedmenu.admin.planetSubscriptions=Souscriptions
tabbedmenu.admin.planetGroups=Groupes personnalisés

# ---------------------------------------------------------------------- Search

searchPager.home=Principal
searchPager.next=Page suivante
searchPager.prev=Page précedente
searchSummary.text=Entrées {0} - {1} affichées pour un total de {2} résultats.

# ----------------------------------------------------------------------- Theme

themeEditor.title=Thème de blog
themeEditor.subtitle=Selection du thème pour le blog <span>{0}</span>

themeEditor.selectTheme=Choisissez un thème pour aperçu
themeEditor.yourCurrentTheme=Votre thème actuel est
themeEditor.preview=Aperçu
themeEditor.save=Enregistrer

# ---------------------------------------------------------------------- Uploads

uploadFiles.uploadedFiles=Fichiers téléchargés :
uploadFiles.uploadedFile={0}

uploadFiles.error.badPath=Le chemin [{0}] est incorrect. Les noms de chemin ne peuvent contenir aucun des caractères "/", "\\", ou ".."
uploadFiles.error.upload=Le téléchargement du fichier [{0}] a échoué

# ------------------------------------------------------------------- User admin

userAdmin.title.searchUser=Rechercher un utilisateur à éditer
userAdmin.subtitle.searchUser=Sélectionnez un utilisateur à editer
userAdmin.prompt.searchUser=Recherchez un utilisateur en utilisant les premières lettres de \
son nom. Sélectionnez cet utilisateur et cliquez sur 'Editer" pour changer son profil ainsi que ses blogs.

userAdmin.title.editUser=Edition de l'utilisateur [{0}]
userAdmin.subtitle.editUser=Modifie le profile de l'utilisateur ainsi que ses droits d'administration

userAdmin.title.createNewUser=Créer un nouvel utilisateur
userAdmin.subtitle.createNewUser=Créez un nouvel utilisateur en utilisant le formulaire ci-dessous. \
Tous les champs du formulaire sont requis.

userAdmin.enabled=Activé
userAdmin.title=Gestion des utilisateurs
userAdmin.userAdmin=Administrateur

userAdmin.subtitle.userCreation=Création d'un nouvel utilisateur
userAdmin.prompt.orYouCan=Vous pouvez aussi
userAdmin.prompt.createANewUser=créer un nouvel utilisateur

userAdmin.userWeblogs=Blogs des utilisateurs
userAdmin.userMemberOf=Cet utilisateur est membre du(es) blog(s) suivant(s)
userAdmin.userHasNoWeblogs=Cet utilisateur n'est membre d'aucun blog.
userAdmin.newEntry=Nouvelle entrée
userAdmin.editEntries=Editer une entrée
userAdmin.manage=Gestion

userAdmin.tip.screenName=Nom de plume (sans HTML).
userAdmin.tip.fullName=Nom complet de l'utilisateur (sans HTML).
userAdmin.tip.userName=Nom d'utilisateur court à utiliser comme identifiant pour le compte de cet usager. \
Veuillez vous limiter à un nom simple (sans espace ni code HTML) \
contenant uniquement des caractères ASCII (a-z, A-Z and 0-9).
userAdmin.tip.password=Mot de passe.
userAdmin.tip.email=Adresse de courriel valide requise pour les notifications automatiques.
userAdmin.tip.enabled=Les utilisateurs désactivés ne peuvent pas se connecter à Roller.
userAdmin.tip.userAdmin=Sélectionnez pour donner les privilèges d'administration principale.
userAdmin.tip.locale=Langue
userAdmin.tip.timeZone=Fuseau horaire

# --------------------------------------------------------------- User register

userRegister.prompt=Utilisez ce formulaire pour vous enregistrer comme nouvel utilisateur Roller. \
Veuillez créez un seul compte par personne.

userRegister.button.save=Ajouter

userRegister.tip.screenName=Votre nom de plume (sans HTML)
userRegister.tip.fullName=Votre nom et prénom (sans HTML)
userRegister.tip.userName=Votre nom d'utilisateur court à utiliser comme identifiant pour le compte de cet usager. \
Veuillez vous limiter à un nom simple (sans espaces ni code HTML) et \
contenant uniquement des caractères ASCII (a-z, A-Z and 0-9).
userRegister.tip.email=Veuillez entrer une adresse de courriel valide. \
L'administrateur de ce site peut désactiver votre compte si il/elle ne peut vous joindre avec cette adresse.
userRegister.tip.timeZone=Votre fuseau horaire
userRegister.tip.locale=Votre langue
userRegister.tip.password=Votre mot de passe
userRegister.tip.passwordConfirm=Confirmez votre mot de passe

# ---------------------------------------------------------------- User settings

userSettings.username=Nom d'utilisateur
userSettings.screenname=Nom de plume
userSettings.fullname=Prénom et nom
userSettings.password=Mot de passe
userSettings.passwordConfirm=Confirmez le mot de passe
userSettings.email=Courriel
userSettings.locale=Langue
userSettings.timeZone=Fuseau horaire

# ------------------------------------------------------------------ Weblog edit

weblogEdit.title.newEntry=Nouvelle publication
weblogEdit.subtitle.newEntry=Créez une nouvelle publication dans le blog <span>{0}</span>

weblogEdit.title.editEntry=Editer une publication
weblogEdit.subtitle.editEntry=Editer une publication existante du blog <span>{0}</span>

weblogEntry.pendingEntrySubject=\
Roller: une nouvelle publication est en attente de révision dans le blog "{0}" ({1})

weblogEntry.pendingEntryContent=L'utilisateur [{0}] a soumis une nouvelle publication. \
Veuillez réviser cette publication puis la publier, ou l'enregistrer en tant que brouillon \
afin que l'utilisateur [{1}] puisse l'éditer à nouveau.\
\
Lien vers la publication en attente :\
<{2}>

weblogEntry.notFound=La publication demandée est introuvable.

weblogEdit.summary=Sommaire (facultatif)
weblogEdit.content=Contenu

weblogEdit.category=Catégorie
weblogEdit.comments=Commentaires
weblogEdit.entryRemoved=Publication "{0}" effacée
weblogEdit.draft=Brouillon
weblogEdit.draftEntries=Brouillons récents
weblogEdit.deleteEntry=Effacer cette entrée
weblogEdit.fullPreviewMode=Aperçu complet
weblogEdit.locale=Langue
weblogEdit.pendingEntries=Publications en attente
weblogEdit.pending=En attente
weblogEdit.publishedEntries=Publications récentes
weblogEdit.post=Publier
weblogEdit.permaLink=Lien permanent
weblogEdit.published=Publié
weblogEdit.pubTime=Publié&nbsp;le&nbsp;
weblogEdit.save=Enregistrer comme brouillon
#FIXME
weblogEdit.scheduledEntries=Publications planifiées
weblogEdit.status=Status
weblogEdit.submitForReview=Soumettre à révision
weblogEdit.submittedForReview=Publication soumise à révision
weblogEdit.tags=Tags
weblogEdit.title=Titre
weblogEdit.unsaved=Non enregistré
weblogEdit.updateTime=dernière mise à jour

weblogEdit.allowComments=Autoriser les commentaires
weblogEdit.commentDays=pour
weblogEdit.unlimitedCommentDays=Temps illimité
weblogEdit.days3=3 jours
weblogEdit.days7=7 jours
weblogEdit.days14=14 jours
weblogEdit.days30=30 jours
weblogEdit.days60=60 jours
weblogEdit.days90=90 jours

weblogEdit.pluginsToApply=Modules à appliquer
weblogEdit.miscSettings=Paramètres avancés

weblogEdit.rightToLeft=Lecture de droite à gauche
weblogEdit.pinnedToMain=Collé à la page principale

weblogEdit.trackback=Trackback
weblogEdit.sendTrackback=Envoyer un trackback
weblogEdit.trackbackUrl=URL du trackback
weblogEdit.hasComments=Commentaires [{0}]

#FIXME ALLL THOSE DOWNTHERE - WHAT IS ENCLOSURE
weblogEdit.enclosureURL=Enclosure URL
weblogEdit.enclosureType=Type
weblogEdit.mediaCastFailedFetchingInfo=Unable to reach the enclosure. Check the hostname in the URL.
weblogEdit.mediaCastUrlMalformed=The enclosure URL was malformed.
weblogEdit.mediaCastResponseError=The enclosure server returned an error. Do you have the right URL?
weblogEdit.mediaCastLacksContentTypeOrLength=Unable to use enclosure URL. Server provided no content type or no length.

# -------------------------------------------------------- Weblog entries Pager

weblogEntriesPager.latest.home=Page principale
weblogEntriesPager.latest.next=Page suivante
weblogEntriesPager.latest.prev=Page précédente

weblogEntriesPager.single.home=Page principale
# argument ${0} is truncated title of weblog entry
weblogEntriesPager.single.next={0}
weblogEntriesPager.single.prev={0}

weblogEntriesPager.day.home=Page principale
# argument ${0} is date of next day
weblogEntriesPager.day.next=Page suivante pour la journée du {0}
weblogEntriesPager.day.prev=Page précédente pour la journée du {0}
weblogEntriesPager.day.nextCollection=Journée suivante ({0})
weblogEntriesPager.day.prevCollection=Journée précédente ({0})
weblogEntriesPager.day.dateFormat=d MMM yyyy

weblogEntriesPager.month.home=Page principale
# argument ${0} is date of next month
weblogEntriesPager.month.next=Page suivante pour le mois de {0}
weblogEntriesPager.month.prev=Page précedente pour le mois de {0}
weblogEntriesPager.month.nextCollection=Mois suivant ({0})
weblogEntriesPager.month.prevCollection=Mois précédent ({0})
weblogEntriesPager.month.dateFormat=MMM yyyy

# ---------------------------------------------------------- Weblog Entry Remove

weblogEntryRemove.removeWeblogEntry=Effacer cette publication
weblogEntryRemove.areYouSure=Etes vous certain(e) de vouloir effacer cette publication ?
weblogEntryRemove.entryTitle=Titre de la publication
weblogEntryRemove.entryId=Identifiant

# --------------------------------------------------- Weblog Entry Export/Import

weblogEntryQuery.title=Publications
weblogEntryQuery.subtitle=Rechercher et éditer les publications du blog <span>{0}</span>
weblogEntryQuery.tip=Sélectionnez une publication à partir de la liste ci-dessous \
ou utilisez un filtre pour rechercher des publications suivant une catégorie particulière, \
une date ou un status donné.

weblogEntryQuery.sidebarTitle=Filtrer les publications
weblogEntryQuery.sidebarDescription=\
Filtre les publications du blog par catégorie, date, et/ou status.

weblogEntryQuery.noneFound=Aucune publication ne correspond aux critères utilisés dans votre filtre.

weblogEntryQuery.label.startDate=Date de début
weblogEntryQuery.label.endDate=Date de fin
weblogEntryQuery.label.category=Catégorie
weblogEntryQuery.label.tags=Tags
weblogEntryQuery.label.text=Texte de recherche
#FIXME
weblogEntryQuery.label.status=Status
weblogEntryQuery.label.allEntries=Toutes les entrées
weblogEntryQuery.label.draftOnly=Brouillons seulement
weblogEntryQuery.label.publishedOnly=Entrées publiées seulement
weblogEntryQuery.label.pendingOnly=Entrées en attente seulement
weblogEntryQuery.label.scheduledOnly=Entrées planifiées seulement

weblogEntryQuery.view=Afficher
weblogEntryQuery.category=Catégorie
weblogEntryQuery.pubTime=Publié le
weblogEntryQuery.updateTime=Mise à jour
weblogEntryQuery.pending=En attente
weblogEntryQuery.draft=Brouillon

weblogEntryQuery.button.query=Filtrer
weblogEntryQuery.label.sortby=Trier par
weblogEntryQuery.label.pubTime=Date de publication
weblogEntryQuery.label.updateTime=Date de mise à jour
weblogEntryQuery.nowShowing={0} entrées affichées
weblogEntryQuery.prev=Page précédente
weblogEntryQuery.next=Page suivante

# ---------------------------------------------------------------------- Website

websiteSettings.title=Paramètres du blog
websiteSettings.subtitle=Gestion des paramètres du blog <span>{0}</span>
websiteSettings.tip=Vous pouvez changer le titre du blog, sa description ou commentaires \
ainsi que gérer les réferrants et les paramètres de prévention de spam.

# --- General settings

websiteSettings.generalSettings=Paramètres généraux
websiteSettings.websiteTitle=Titre
websiteSettings.emailAddress=Adresse de courriel du propriétaire du blog
websiteSettings.editor=Editeur de texte à utiliser
websiteSettings.entryDisplayCount=Nombre de publications à afficher sur la page principale
websiteSettings.active=Blog actif (celui-ci devrait être inclu dans les listes de la communauté)
websiteSettings.error.entryDisplayCount=Vous avez indiqué une valeur trop grande pour le \
'nombre de publications à afficher sur le blog'.


# --- i18n settings

websiteSettings.languageSettings=Paramètres d'internationalisation
websiteSettings.enableMultiLang=Je publie mon blog en plusieurs langues
websiteSettings.showAllLangs=Utiliser toutes les langues de publications sur la page principale.


# --- Comments

websiteSettings.commentSettings=Commentaires
websiteSettings.allowComments=Autoriser les commentaires sur ce blog
websiteSettings.moderateComments=Modération des commentaires
websiteSettings.emailComments=Envoyer les commentaires par courriel
websiteSettings.commentsOffForInactiveWeblog=Commentaires désactivés pour les blogs inactifs

# --- Default comments settings

websiteSettings.defaultCommentSettings=Paramètres par défaut pour les commentaires
websiteSettings.defaultAllowComments=Par défaut, autoriser les commentaires pour les nouvelles publications
websiteSettings.defaultCommentDays=Durée allouée par défaut pour autoriser les commentaires
websiteSettings.applyCommentDefaults=Appliquer les paramètres par défaut pour les commentaires \
des publications existantes (cette fois ci seulement)

# --- Weblog API

websiteSettings.bloggerApi=API clientes
websiteSettings.enableBloggerApi=Activer les API Blogger et MetaWeblog pour votre blog
websiteSettings.bloggerApiCategory=Catégorie à utiliser pour les publications reçues par l'API de Blogger

# --- Formatting

websiteSettings.formatting=Formatage

# --- Spam prevention

websiteSettings.spamPrevention=Prevention de spam
websiteSettings.ignoreUrls=Liste de mots ou expressions régulières à ajouter \
à la liste noire utilisée pour vérifier les commentaires, trackbacks et réferrants. \
Veuillez ajouter une seule expression ou mot par ligne.

websiteSettings.acceptedBlacklist={0} mots ou phrases et {1} expression(s) régulière(s) ajouté(s) à la liste noire.
websiteSettings.error.processingBlacklist=Une erreur est survenue durant la création de la liste noire : {0}

# --- Buttons

websiteSettings.savedChanges=Les changements de paramètres du blog ont été enregistrés.
websiteSettings.button.update=Enregistrer

# --- Remove weblog

websiteSettings.button.remove=Effacer le blog
websiteSettings.removeWebsiteHeading=Effacer le blog ?
websiteSettings.removeWebsite=Vous êtes le dernier contributeur de ce blog. Désirez vous effacer celui-ci ?
websiteSettings.removeWebsiteWarning=\
<b>ATTENTION</b>: effacer un blog effacera aussi son contenu <br /> \
ainsi que tous ses signets et paramètres. <b>Effacer un blog est IRREVERSIBLE</b>.

websiteRemove.title=Confirmer l'effacement du blog
websiteRemove.subtitle=Effacer un blog est <b>IRREVERSIBLE</b>
websiteRemove.youSure=Etes vous certain de vouloir effacer le blog [{0}] ?
websiteRemove.websiteId=Identifiant du blog
websiteRemove.websiteName=Nom du blog

websiteSettings.label1=Formatage d'entrées à utiliser par défaut
websiteSettings.label2=(les différents formatages sont appliqués dans l'ordre indiqué)

# ------------------------------------------------------------- Welcome new user

welcome.title=Bienvenue sur Roller
welcome.accountCreated=Votre nouveau compte utilisateur a été crée.
welcome.clickHere=Cliquez ici
welcome.toLoginAndPost=pour vous connecter.

# ----------------------------------------------------------------- Your profile

yourProfile.title=Votre profil
userSettings.tip.username=Vous ne pouvez pas changer nom d'utilisateur.

# ---------------------------------------------------------------- Your Weblogs

yourWebsites.title=Menu principal

yourWebsites.actions=Actions

yourWebsites.prompt.noBlog=Vous avez un compte, mais pas de blog. Désirez vous
yourWebsites.createOne=en créer un ?

yourWebsites.prompt.hasBlog=Choisissez un blog à éditer, gérer ou configurer.

yourWebsites.accept=Accepter
yourWebsites.decline=Décliner

#FIXME
yourWebsites.resign=Démissionner
yourWebsites.permission=Permission
#FIXME
yourWebsites.confirmResignation=Etes vous certain de vouloir démissionner de ce blog ?
yourWebsites.weblog=Lien

yourWebsites.newEntry=Nouvelle&nbsp;publication
yourWebsites.editEntries=Publications
yourWebsites.manageComments=Commentaires
yourWebsites.manage=Paramètres

yourWebsites.createWeblog=Créer un nouveau blog
yourWebsites.createWeblog.desc=\
Vous sentez que vous avez d'autres choses à dire ? Peut-être vous faut-il un autre blog ?

yourWebsites.editProfile=Edition du profil utilisateur
yourWebsites.editProfile.desc=Changer les informations de contact ou la langue.

yourWebsites.globalAdmin=Administration du serveur
yourWebsites.globalAdmin.desc=Apporter des changements à la configuration générale du site.

yourWebsites.planetAdmin=Administration Planet
yourWebsites.planetAdmin.desc=Gère l'aggrégateur Planet. Vous permet d'ajouter des fils d'information, \
organiser les groupes ou modifier la configuration.


yourWebsites.invitations=Invitations
yourWebsites.invitationsPrompt=Vous avez une ou plusieurs invitations en attente. Vous pouvez \
choisir de les accepter ou les décliner.
yourWebsites.youAreInvited=Vous êtes invité à joindre le blog [{0}] -

yourWebsites.declined=Vous avez décliné l'invitation à joindre le blog [{0}]
yourWebsites.resigned=Vous avez démissionné du blog [{0}]
yourWebsites.permNotFound=Désolé, cette invitation vient d'être révoquée.

yourWebsites.userCount=Membres
yourWebsites.todaysHits=Visites aujourd'hui

# ---------------------------------------------------------------- Activating User Account with E-mail

error.activate.user.missingActivationCode=Le code d'activation est manquant.
error.activate.user.invalidActivationCode=\
Code d'activation incorrect. Vous avez probablement déjà activé votre compte. \
Dans le cas contraire, veuillez contacter l'administrateur de votre Roller pour assistance.

user.account.activation.mail.subject=Roller : code d'activation pour votre compte utilisateur
user.account.activation.mail.content=\
<html><body style=\"background: white; color: black; font-size: 12px\"> \
<p>Pour activer votre nouvel utilisateur Roller '[{1}]', veuillez cliquer sur le lien ci-dessous :</p> \
<p><a href=\"{2}\">{2}</a></p></body></html>

welcome.user.account.activated=Votre compte utilisateur est activé.
welcome.user.account.not.activated=Afin de vous connecter sur le système, vous devez activer votre compte \
utilisateur en cliquant sur le lien fourni dans le courriel qui vous a été envoyé lors de votre inscription.
