# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  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.

# --------------------------------------------------
# Classes Section
#
# General - These are localizations that are used by multiple classes.
#           If you can't find the text under each class, you can find it here.
# --------------------------------------------------
#Translate by Damien Blugeon.
username.required=Le nom d''utilisateur est obligatoire.
username.has.spaces=Le nom d''utilisateur ne peut pas contenir des espaces.
password.confimation.failed=La confirmation du mot de passe a \u00e9chou\u00e9.  Les mots de passe ne correspondent pas.
password.provided.does.not.match.existing=Le mot de passe fournis ne correspond pas au compte.
user.does.not.exist=L''utilisateur ''{0}'' n''existe pas.
user.not.found.exception=Une erreur s''est produite lors de la recherche de l''utilisateur ''{0}'': {1}
save.role.success=R\u00f4le ''{0}'' Sauvegard\u00e9
cannot.get.role=Impossible de r\u00e9cup\u00e9rer le r\u00f4le ''{0}'': {1}
invalid.user.credentials=Informations d''autorisations de l''utilisateur invalide.
user.already.exists=L''utilisateur ''{0}'' existe d\u00e9j\u00e0.
cannot.edit.user.null.username=Impossible d'\u00e9diter un utilisateur qui a un nom d''utilisateur null.
cannot.edit.user.empty.username=Impossible d''\u00e9diter un utilisateur qui a un nom d''utilisateur vide.
cannot.get.user=Impossible de r\u00e9cup\u00e9rer l''utilisateur ''{0}'': {1}
cannot.edit.user.null.credentials=Impossible d''\u00e9diter un utilisateur qui a des autorisations nulles.
cannot.operate.on.null.user=Impossible d''op\u00e9rer sur un utilisateur qui n''existe pas.

# --------------------------------------------------
# AbstractUserCredentialsAction
# --------------------------------------------------
fullName.required=Le nom complet est obligatoire.
email.required=L''adresse email est obligatoire.
email.invalid=L''adresse email est invalide.
password.required=Le mot de passe est obligatoire.
passwords.does.not.match=Les mots de passe ne correspondent pas.

# --------------------------------------------------
# AccountAction
# --------------------------------------------------
cannot.show.account.login.required=Impossible d''afficher votre compte. Vous n''\u00eates pas connect\u00e9.

# --------------------------------------------------
# LoginAction
# --------------------------------------------------
reset.password.missing=R\u00e9initialisation du mot de passe, cl\u00e9 manquante.
cannot.find.key=Impossible de trouver la cl\u00e9.
cannot.find.key.at.the.moment=Impossible de traiter la cl\u00e9 pour le moment.  S''il vous pla\u00eet, r\u00e9essayez ult\u00e9rieurement.
cannot.find.user=Impossible de trouver l''utilisateur.
validation.failure.key.missing=Echec de la validation, cl\u00e9 manquante.
incorrect.username.password=Vous avez entr\u00e9 un nom d''utilisateur et/ou un mot de passe incorrect(s).
account.validation.required=Vous avez entr\u00e9 un nom d''utilisateur et/ou un mot de passe incorrect(s).
authentication.failed=Echec de l''authentification.
authentication.exception=Une erreur s''est produite lors de l''authentification :  {0}
account.locked=Votre compte est verrouill\u00e9.
login.already.logged.in=Vous \u00eatestes d\u00e9j\u00e0 connect\u00e9.

# --------------------------------------------------
# PasswordAction
# --------------------------------------------------
newPassword.cannot.be.empty=Le nouveau mot de passe ne peut \u00eatre vide.
cannot.update.user.not.found=Impossible de mettre \u00e0 jour l''utilisateur ''{0}''. Utilisateur non trouv\u00e9.
admin.deleted.account=Probablement parce qu''un administrateur vient de supprimer votre compte.

# --------------------------------------------------
# PasswordResetAction
# --------------------------------------------------
username.cannot.be.empty=Le nom d''utilisateur ne peut \u00eatre vide.
password.reset.success=Si l''utilisateur a \u00e9t\u00e9 trouv\u00e9, un message vient d''\u00eatre envoy\u00e9.
password.reset.failure=Si l''utilisateur a \u00e9t\u00e9 trouv\u00e9, un message vient d''\u00eatre envoy\u00e9.
password.reset.email.generation.failure=Une erreur syst\u00e8me interne a emp\u00each\u00e9 la g\u00e9n\u00e9ration de l''email de r\u00e9initialisation du mot de passe.

# --------------------------------------------------
# RegisterAction
# --------------------------------------------------
assign.role.failure=impossible d''assigner le r\u00f4le utilisateur enregistr\u00e9 au nouvel utilisateur.
cannot.register.user=Impossible de traiter la demande d''enregistrement du nouvel utilisateur.

# --------------------------------------------------
# AddAdminUserAction
# --------------------------------------------------
invalid.admin.credentials=Informations d''autorisations d''adminstration invalide.
admin.user.already.exists=Un administrateur existe d\u00e9j\u00e0 dans la base de donn\u00e9e (quelqu''un a probablement cr\u00e9\u00e9 l''utilisateur avant vous).
cannot.assign.admin.role=Impossible d''assigner le r\u00f4le d''administrateur syst\u00e8me.

# --------------------------------------------------
# AssignmentsAction
# --------------------------------------------------
rbac.edit.user.empty.principal=Impossible d''utiliser AssignmentsAction pour RBAC Edit User avec un principal vide.
error.adding.selected.roles=Erreur lors de l''ajout des r\u00f4les s\u00e9lectionn\u00e9s : {0}
error.removing.selected.roles=Erreur lors du retrait des r\u00f4les s\u00e9lectionn\u00e9s: {0}

# --------------------------------------------------
# EditRoleAction
# --------------------------------------------------
cannot.edit.null.role=Impossible d''\u00e9diter le nom de r\u00f4le null.
cannot.edit.empty.role=Impossible d''\u00e9diter un nom de r\u00f4le vide.
cannot.operate.null.role=Impossible d''op\u00e9rer sur un r\u00f4le null.

# --------------------------------------------------
# OperationsAction
# --------------------------------------------------
cannot.list.all.operations=Impossible d''\u00e9num\u00e9rer toutes les op\u00e9rations : {0}
cannot.save.operation=Impossible d''enregistrer l''op\u00e9ration : {0}.
cannot.remove.operation=Impossible de retirer l''op\u00e9ration : {0}.

# --------------------------------------------------
# PermissionsAction
# --------------------------------------------------
cannot.list.all.permissions=Impossible d''\u00e9num\u00e9rer toutes les permissions : {0}
cannot.edit.null.permission=Impossible d''\u00e9diter un nom de permission null.
cannot.edit.empty.permission=Impossible d''\u00e9diter un nom de permission vide.
cannot.operate.null.permission=Impossible d''op\u00e9rer sur une permision qui n''existe pas.
cannot.get.permission=Impossible de r\u00e9cuperer la permission ''{0}'': {1}
save.permission.success=Permission ''{0}'' Sauvegard\u00e9e

# --------------------------------------------------
# ReportAction
# --------------------------------------------------
cannot.get.report=Impossible de trouver le rapport : {0}
cannot.generate.report=Impossible de g\u00e9n\u00e9rer le rapport.

# --------------------------------------------------
# ResourcesAction
# --------------------------------------------------
cannot.list.all.resources=Impossible d''\u00e9num\u00e9rer toutes les ressources : {0}
cannot.save.resource=Impossible d''enregistrer la ressource: {0}.
cannot.remove.resource=Impossible de localiser la ressource \u00e0 retirer ''{0}''

# --------------------------------------------------
# RoleCreateAction
# --------------------------------------------------
cannot.add.null.permission=Impossible d''ajouter une permission null.
cannot.add.empty.role=Impossible de cr\u00e9er un r\u00f4le avec un nom vide.

# --------------------------------------------------
# RolesAction
# --------------------------------------------------
cannot.list.all.roles=Impossible d''\u00e9num\u00e9rer toutes les r\u00f4les : {0}

# --------------------------------------------------
# UserDeleteAction
# --------------------------------------------------
cannot.remove.user.null.username=Impossible de supprimer l''utilisateur bas\u00e9 sur le nom d''utilisateur null.
cannot.remove.user.empty.username=Impossible de supprimer l''utilisateur bas\u00e9 sur le nom d''utilisateur vide.
cannot.remove.user.not.found=Impossible de localiser l''utilisateur ''{0}'' \u00e0 supprimer.
cannot.remove.user.role=Impossible de retirer les r\u00f4les de l''utilisateur ''{0}'' parce que {1}
cannot.remove.user.non.existent=Impossible de supprimer l''utilisateur inexistant ''{0}''

# --------------------------------------------------
# JSP Section
#
# General - These are localizations that are used by multiple JSPs.
#           If you can't find the text under each JSP, you can find it here.
# --------------------------------------------------
username=Nom d''utilisateur
full.name=Nom complet
email=Email
email.address=Adresse email
password=Mot de passe
current.password=Mot de passe actuel
new.password=Nouveau mot de passe
confirm.password=Confirmer le mot de passe
register=S''enregistrer
login=S''authentifier
logout=Se d\u00e9connecter
submit=Envoyer
remove=Retirer
delete=Supprimer
update=Mise \u00e0 jour
search=Rechercher
cancel=Annuler
goback=Retour
edit=\u00c9diter
save=Sauvegarder
name=Nom
description=Description
role.name=Nom du r\u00f4le
role.description=Description du r\u00f4le
remove.selected.roles=Retitrer les r\u00f4les s\u00e9lectionn\u00e9es
role=R\u00f4le
roles=R\u00f4les
effective.roles=R\u00f4les affect\u00e9s
permissions=Permissions
operations=Op\u00e9rations
resources=Ressources

# --------------------------------------------------
# accessDenied
# --------------------------------------------------
access.denied.page.title=Alerte s\u00e9curit\u00e9 - Acc\u00e8s interdit.
access.denied.section.title=Alerte s\u00e9curit\u00e9 - Acc\u00e8s interdit.
access.denied.message=L''action que vous avez tent\u00e9 d''effectuer requi\u00e8re des permissions que vous n''avez pas.<br>S''il vous pla\u00eet, contactez votre administrateur pour obtenir les droits appropri\u00e9s.

# --------------------------------------------------
# account
# --------------------------------------------------
account.details.page.title=D\u00e9tails du compte
account.details.section.title=D\u00e9tails du compte

# --------------------------------------------------
# alert
# --------------------------------------------------
alert.page.title=Page d''alerte s\u00e9curit\u00e9s
alert.message=Vous n'\u00eates pas autoris\u00e9 pour cette activit\u00e9.

# --------------------------------------------------
# generalError
# --------------------------------------------------
general.error.page.title=Une erreur est survenue
general.error.section.title=Une erreur est survenue

# --------------------------------------------------
# login
# --------------------------------------------------
login.page.title=Page d''authentification
login.section.title=S''authentifier
login.remember.me=Se souvenir de moi
login.need.an.account=Besoin d''un compte ?
login.register=S''enregistrer !
login.forgot.your.password=Mot de passe oubli\u00e9 ?
login.request.password.reset=Demander une r\u00e9initialisation de votre mot de passe.

# --------------------------------------------------
# password
# --------------------------------------------------
password.page.title=Changer de mot de passe
password.section.title=Changer de mot de passe
password.existing=Mot de passe existant
password.new=Nouveau mot de passe
password.new.confirm=Confirmer le nouveau mot de passe
password.change=Changer de mot de passe

# --------------------------------------------------
# passwordResetNotification
# --------------------------------------------------
password.reset.page.title=R\u00e9initialiser le mot de passe
password.reset.message=R\u00e9initialisation du mot de passe r\u00e9ussie.
password.reset.go.to=Aller \u00e0 

# --------------------------------------------------
# register
# --------------------------------------------------
register.page.title=Page d''enregistrement
register.section.title=Ouvrir un compte

# --------------------------------------------------
# requestPasswordReset
# --------------------------------------------------
request.password.reset.page.title=Demande de r\u00e9initialisation du mot de passe
request.password.reset.section.title=Demande de r\u00e9initialisation du mot de passe
request.password.reset=Demander la r\u00e9initialisations

# --------------------------------------------------
# requiresAuthentication
# --------------------------------------------------
requires.authentication.page.title=Alerte s\u00e9curit\u00e9 - L''action requiert une authentification
requires.authentication.section.title=Alerte s\u00e9curit\u00e9 - L''action requiert une authentification
requires.authentication.message=L''action que vous avez tent\u00e9 d''effectuer requi\u00e8re que vous soyez authentifi\u00e9.
requires.authentication.go.ahead=Aller \u00e0 la page  

# --------------------------------------------------
# validationNotification
# --------------------------------------------------
validation.notification.page.title=Page de notification de validation
validation.notification.section.title=Rappel de validation
validation.notification.message.1=Un email de validation vient d''\u00eatre envoy\u00e9 \u00e0 l''adresse que vous avez fournis ({0}). S''il vous pla\u00eet, v\u00e9rifier le lien de validation qui vient de vous \u00eatre envoy\u00e9.
validation.notification.message.2=Ce compte ({0}) restera verrouill\u00e9 jusqu''\u00e0 ce qu''il soit valid\u00e9.

# --------------------------------------------------
# grantRoles
# --------------------------------------------------
grant=Promouvoir

# --------------------------------------------------
# securityLinks
# --------------------------------------------------
current.user=Utilisateur connect\u00e9 : 
unknown.user=Utilisateur inconnu 
edit.details=\u00c9diter les d\u00e9tails
notify.password.expiration=Le mot de passe expirera le

# --------------------------------------------------
# userCredentials
# --------------------------------------------------
account.creation=Cr\u00e9ation de compte
last.login=Derni\u00e8re authentification
last.password.change=Dernier Changement de mot de passe

# --------------------------------------------------
# assignments
# --------------------------------------------------
assignments.page.title=[Admin] Edition de l''utilisateur
assignments.section.title=[Admin] R\u00f4les de l''utilisateur
assignments.no.roles=Aucun r\u00f4le d''assign\u00e9
assignments.available.roles=R\u00f4les disponibles :
assignments.assigned.roles=R\u00f4les assign\u00e9s :
assignments.resource.roles=R\u00f4les pour les ressources :
assignments.submit=Envoyer
assignments.reset=R\u00e9initialiser
assignments.add.roles=Ajouter les r\u00f4les s\u00e9lectionn\u00e9es
assignments.remove.roles=Retitrer les r\u00f4les s\u00e9lectionn\u00e9es
assignments.no.roles.to.grant=Aucun r\u00f4le de disponible \u00e0 promouvoir.

# --------------------------------------------------
# createAdmin
# --------------------------------------------------
create.admin.page.title=Cr\u00e9ation d''un administrateur
create.admin.section.title=Cr\u00e9ation d''un administrateur
create.admin=Cr\u00e9er l''administrateur

# --------------------------------------------------
# operationList
# --------------------------------------------------
operation.list.page.title=[Admin] Liste des op\u00e9rations
operation.list.section.title=[Admin] Liste des op\u00e9rations
operation.list.no.operations.available=Aucune op\u00e9ration disponible

# --------------------------------------------------
# permissionList
# --------------------------------------------------
permission.list.page.title=[Admin] Liste des permissions
permission.list.section.title=[Admin] Liste des permissions
permission.list.no.permissions.available=Aucune persmission disponible

# --------------------------------------------------
# resourceList
# --------------------------------------------------
resource.list.page.title=[Admin] Liste des ressources
resource.list.section.title=[Admin] Liste des ressources
resource.list.no.resources.available=Aucune ressource disponible

# --------------------------------------------------
# role
# --------------------------------------------------
role.page.title=[Admin] Visualisation des r\u00f4les
role.section.title=Page de modification des r\u00f4les
role.assignable=Assignable ?
role.currently.assigned.permissions=Permissions actuellement assign\u00e9es :
role.add.new.permission=Ajouter une nouvelle permission
role.currently.assigned.roles=R\u00f4les actuellement assign\u00e9s :
role.add.sub.role=Ajouter un sous-r\u00f4le
role.operation=Op\u00e9ration
role.resource=Ressource

# --------------------------------------------------
# roleEdit
# --------------------------------------------------
role.edit.no.parent.defined=Aucun r\u00f4le parent d\u00e9fini pour ce r\u00f4le
role.edit.no.childrole.defined=Aucun r\u00f4le enfant d\u00e9fini pour ce r\u00f4le
role.edit.users.defined.in.current.role=Utilisateurs d\u00e9fini avec ce r\u00f4le
role.edit.users.defined.in.parent.roles=Utilisateurs d\u00e9fini avec un r\u00f4le parent
role.edit.section.users=Liste des utilisateurs
role.edit.no.user.defined=Aucun utilisateur d\u00e9fini pour ce r\u00f4le
cannot.assign.role=Impossible de mettre a jour l''utilisateur ''{0}'' : {1}

# --------------------------------------------------
# roleCreate
# --------------------------------------------------
role.create.page.title=[Admin] Cr\u00e9ation d''un r\u00f4le
role.create.section.title=[Admin] Cr\u00e9ation d''un r\u00f4le
role.create.operation=Op\u00e9ration
role.create.resource=Ressource
role.create.no.permissions.defined=Aucune permission d\u00e9finie pour ce r\u00f4le
role.create.add.permission=Ajouter permission

# --------------------------------------------------
# roleList
# --------------------------------------------------
role.list.page.title=[Admin] Liste des r\u00f4les
role.list.section.title=[Admin] Liste des r\u00f4les
role.list.no.roles.available=Aucun r\u00f4le disponible

# --------------------------------------------------
# roleModel
# --------------------------------------------------
role.model.page.title=[Admin] Mod\u00e8le des r\u00f4les
role.model.section.title=[Admin] Mod\u00e8le des r\u00f4les
role.model.message=Voici les ressources, les op\u00e9rations et les mod\u00e8les de r\u00f4le qui sont connus par le gestionnaire de r\u00f4le. Ce n''est pas le contenu courant de l''entrep\u00f4t de RBAC car il contient les \u00e9l\u00e9ments list\u00e9 ci-apr\u00e8s ET toutes les donn\u00e9es dynamiques cr\u00e9\u00e9es depuis la cr\u00e9ation de nouveaux r\u00f4les depuis les templates ci-apr\u00e8s.
role.model.id=Id
role.model.name=Nom
role.model.name.prefix=Nom du pr\u00e9fixe
role.model.permanent=Permanent
role.model.assignable=Assignable
role.model.delimeter=D\u00e9limiteur
role.model.operation.id=Id de l''operation
role.model.resource.id=Id de la ressource
role.model.role.id=Id du R\u00f4le
role.model.parent.roles=R\u00f4les parents
role.model.child.roles=R\u00f4les enfants
role.model.templates=Mod\u00e8les
role.model.template.id=Id du Mod\u00e8le
role.model.parent.templates=Mod\u00e8les parent
role.model.child.templates=Mod\u00e8les enfants

# --------------------------------------------------
# roleSummary
# --------------------------------------------------
role.summary.page.title=[Admin] R\u00e9sum\u00e9 du r\u00f4le
role.summary.section.title=[Admin] R\u00e9sum\u00e9 du r\u00f4le

# --------------------------------------------------
# systemInformation
# --------------------------------------------------
system.info.page.title=[Admin] Informations syst\u00e8mes
system.info.section.title=Informations du syst\u00e8me de s\u00e9curit\u00e9

# --------------------------------------------------
# userCreate
# --------------------------------------------------
user.create.page.title=[Admin] Cr\u00e9ation d''utilisateur
user.create.section.title=[Admin] Cr\u00e9ation d''utilisateur
user.create=Cr\u00e9er l''utilisateur

# --------------------------------------------------
# userDelete
# --------------------------------------------------
user.delete.page.title=[Admin] Suppression de l''utilisateur
user.delete.section.title=[Admin] Suppression de l''utilisateur
user.delete.message=L''utilisateur suivant va \u00eatre supprim\u00e9
user.delete=Supprimer l''utilisateur

# --------------------------------------------------
# userEdit
# --------------------------------------------------
user.edit.page.title=[Admin] \u00c9dition de l''utilisateur
user.edit.section.title=[Admin] \u00c9dition de l''utilisateur
user.edit.locked.user=Utilisateur verrouill\u00e9
user.edit.force.user.change.password=Forcer l''utilisateur \u00e0 changer son mot de passe
user.edit.roles=\u00c9diter les r\u00f4les

# --------------------------------------------------
# userFind
# --------------------------------------------------
user.find=Trouver un utilisateur

# --------------------------------------------------
# userList
# --------------------------------------------------
user.list.page.title=[Admin] Liste des utilisateurs
user.list.section.title=[Admin] Liste des utilisateurs dans le r\u00f4le : {0}
user.list.permanent=Permanent
user.list.validated=Valid\u00e9
user.list.locked=Verrouill\u00e9
user.list.tasks=T\u00e2ches
user.list.tools=Outils
user.list.reports=Rapports
user.list.message=Les outils suivants sont disponibles pour les administrateurs pour manipuler la liste des utilisateurs.
user.list.create.new.user=Cr\u00e9er un nouvel utilisateur
user.list.show.users.in.role=Afficher utilisateurs dans le r\u00f4le
user.list.types=Types

# --------------------------------------------------
# backupRestore
# --------------------------------------------------
backupRestore.page.title=Sauvegarde et restauration
backupRestore.section.backup.title=Sauvegarde
backupRestore.section.restore.title=Restauration
backupRestore.section.recent.backup=Sauvegardes r\u00e9centes
backupRestore.backup.error = Fichier de sauvegarde non trouv\u00e9
backupRestore.backup.empty.error = Le r\u00e9pertoire de sauvegarde est vide 

# --------------------------------------------------
# Logging Section
#
# General - These are localizations that are used by multiple classes.
#           If you can't find the text under each class, you can find it here.
# --------------------------------------------------
log.password.reset.request=Demande de r\u00e9initialisation du mot de passe pour l''utilisateur '{}'
log.password.change=Mot de passe chang\u00e9 pour l''utilisateur '{}'
log.account.validation=Compte valid\u00e9 pour l''utilisateur '{}'
log.account.create=Utilisateur cr\u00e9\u00e9 : '{}'
log.account.edit=Utilisateur modifi\u00e9 : '{}'
log.account.delete=Utilisateur supprim\u00e9 : '{}'
log.login.success=Connexion r\u00e9ussie pour l''utilisateur '{}'
log.logout.success=D\u00e9connexion de l''utilisateur '{}'
log.login.fail=\u00c9chec de connexion pour l''utilisateur '{}'
log.login.fail.locked=\u00c9chec de connexion pour l''utilisateur '{}' (compte v\u00e9rouill\u00e9)
log.assign.role=R\u00f4le assign\u00e9 \u0224 l''utilisateur '{}': '{}'
log.revoke.role=R\u00f4le retir\u00e9 \u0224 l''utilisateur '{}': '{}'
log.role.create=R\u00f4le cr\u00e9\u00e9 : '{}'
log.role.edit=R\u00f4le modifi\u00e9 : '{}'

# --------------------------------------------------
# changePasswordSuccess
# --------------------------------------------------
change.password.page.title=Changer le mot de passe
change.password.success.section.title=Mot de passe chang\u00e9 avec succ\u00e8s