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

applicationContext.attributeEvent=Exception lanc\u00e9e par l''\u00e9couteur (listener) d''\u00e9v\u00e8nement attributs
applicationContext.requestDispatcher.iae=Le chemin {0} ne commence pas par le caract\u00e8re "/"
applicationContext.setAttribute.namenull=le nom ne peut \u00eatre nul
applicationDispatcher.allocateException=Exception d''allocation pour la servlet {0}
applicationDispatcher.deallocateException=Exception de d\u00e9sallocation pour la servlet {0}
applicationDispatcher.forward.ise=Impossible d''utiliser faire-suivre (forward) apr\u00e8s que la r\u00e9ponse ait \u00e9t\u00e9 envoy\u00e9e
applicationDispatcher.isUnavailable=La servlet {0} est actuellement indisponible
applicationDispatcher.serviceException="Servlet.service()" pour la servlet {0} a lanc\u00e9 une exception
filterChain.filter=L''ex\u00e9cution du filtre (Filter) a lanc\u00e9 une exception
filterChain.servlet=L''ex\u00e9cution de la servlet a lanc\u00e9 une exception
naming.bindFailed=Echec lors du liage \u00e0 l''objet: {0}
naming.unbindFailed=Echec lors du d\u00e9liage \u00e0 l''objet : {0}
naming.invalidEnvEntryType=L''entr\u00e9e environnement {0} a un type invalide
naming.invalidEnvEntryValue=L''entr\u00e9e environnement {0} a une valeur invalide
naming.namingContextCreationFailed=La cr\u00e9ation du contexte de nommage (naming context) a \u00e9chou\u00e9 : {0}
standardContext.applicationListener=Erreur lors de la configuration de la classe d''\u00e9coute de l''application (application listener) {0}
standardContext.applicationSkipped=L''installation des \u00e9couteurs (listeners) de l''application a \u00e9t\u00e9 saut\u00e9e suite aux erreurs pr\u00e9c\u00e9dentes
standardContext.errorPage.error=La position de la page d''erreur (ErrorPage) {0} doit commencer par un ''/'
standardContext.errorPage.required=La page d''erreur (ErrorPage) ne peut \u00eatre nulle
standardContext.errorPage.warning=ATTENTION: La position de la page d''erreur (ErrorPage) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
standardContext.filterMap.either=L''association de filtre (filter mapping) doit indiquer soit une <url-pattern> soit une <servlet-name>
standardContext.filterMap.name=L''association de filtre (filter mapping) indique un nom de filtre inconnu {0}
standardContext.filterMap.pattern=<url-pattern> {0} invalide dans l''association de filtre (filter mapping)
standardContext.filterStart=Exception au d\u00e9marrage du filtre {0}
standardContext.isUnavailable=Cette application n''est pas disponible actuellement
standardContext.listenerStart=Exception lors de l''envoi de l''\u00e9v\u00e8nement contexte initialis\u00e9 (context initialized) \u00e0 l''instance de classe d''\u00e9coute (listener) {0}
standardContext.listenerStop=Exception lors de l''envoi de l''\u00e9v\u00e8nement contexte d\u00e9truit (context destroyed) \u00e0 l''instance de classe d''\u00e9coute {0}
standardContext.loginConfig.errorPage=La forme de page d''erreur (form error page) {0} doit commencer par un ''/''
standardContext.loginConfig.errorWarning=ATTENTION: La forme de page d''erreur (form error page) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
standardContext.loginConfig.loginPage=La forme de page de connexion (form login page) {0} doit commencer par un ''/''
standardContext.loginConfig.loginWarning=ATTENTION: La forme de page de connexion (form login page) {0} doit commencer par un ''/'' dans l''API Servlet 2.4
standardContext.loginConfig.required="LoginConfig" ne peut \u00eatre nul
standardContext.notStarted=Le contexte [{0}] n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
standardContext.notWrapper=Le fils du contexte (child of context) doit \u00eatre un enrobeur (wrapper)
standardContext.parameter.duplicate=Param\u00e8tre d''initialisation de contexte dupliqu\u00e9 {0}
standardContext.parameter.required=Le nom de param\u00e8tre ainsi que la valeur du param\u00e8tre sont requis
standardContext.reloadingCompleted=Le rechargement de ce contexte est termin\u00e9
standardContext.reloadingStarted=Le rechargement du contexte [{0}] a d\u00e9marr\u00e9
standardContext.requestListener.requestInit=Une exception lors de l''envoi de requ\u00eate a initi\u00e9 un \u00e9v\u00e8nement cycle de vie (lifecycle event) pour l''instance de classe \u00e0 l''\u00e9coute (listener) {0}
standardContext.securityConstraint.pattern=<url-pattern> {0} invalide d''apr\u00e8s les contraintes de s\u00e9curit\u00e9 (security constraint)
standardContext.servletMap.name=L''association de servlet (servlet mapping) indique un nom de servlet inconnu {0}
standardContext.servletMap.pattern=<url-pattern> {0} invalide dans l''association de servlet (servlet mapping)
standardContext.startFailed=Erreur de d\u00e9marrage du contexte [{0}] suite aux erreurs pr\u00e9c\u00e9dentes
standardContext.startingContext=Exception lors du d\u00e9marrage du contexte [{0}]
standardContext.stoppingContext=Exception \u00e0 l''arr\u00eat du Context [{0}]
standardContext.resourcesStart=Erreur lors du d\u00e9marrage des ressources statiques
standardContext.urlPattern.patternWarning=ATTENTION: Le mod\u00e8le (pattern) URL {0} doit commencer par un ''/'' dans l''API Servlet 2.4
standardEngine.noHost=Aucune h\u00f4te (host) ne correspond au nom de serveur {0}
standardEngine.notHost=Le fils d''un moteur (child of an Engine) doit \u00eatre un h\u00f4te
standardEngine.notParent=Un moteur (engine) ne peut avoir de conteneur parent (container)
standardHost.invalidErrorReportValveClass=Impossible de charger la classe valve de rapport d''erreur: {0}
standardHost.noContext=Aucun contexte n''est configur\u00e9 pour traiter cette requ\u00eate
standardHost.notContext=Le fils d''un h\u00f4te (child of a Host) doit \u00eatre un contexte
standardHost.nullName=Le nom d''h\u00f4te est requis
standardService.start.name=D\u00e9marrage du service {0}
standardService.stop.name=Arr\u00eat du service {0}
standardWrapper.allocate=Erreur d''allocation \u00e0 une instance de servlet
standardWrapper.allocateException=Exception lors de l''allocation pour la servlet {0}
standardWrapper.deallocateException=Exception \u00e0 la d\u00e9sallocation pour la servlet {0}
standardWrapper.destroyException="Servlet.destroy()" de la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
standardWrapper.initException="Servlet.init()" pour la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
standardWrapper.instantiate=Erreur \u00e0 l''instantiation de la classe servlet {0}
standardWrapper.isUnavailable=La servlet {0} est actuellement indisponible
standardWrapper.notChild=L''enrobeur de conteneur (wrapper container) peut ne pas avoir de conteneurs fils
standardWrapper.notClass=Aucune classe servlet n''a \u00e9t\u00e9 sp\u00e9cifi\u00e9e pour la servlet {0}
standardWrapper.notContext=Le conteneur parent d''un enrobeur (wrapper) doit \u00eatre un contexte
standardWrapper.notFound=Servlet {0} n''est pas disponible.
standardWrapper.notServlet=La classe {0} n''est pas une servlet
standardWrapper.releaseFilters=Exception des filtres de sortie (release filters) pour la servlet {0}
standardWrapper.serviceException="Servlet.service()" pour la servlet {0} a g\u00e9n\u00e9r\u00e9 une exception
standardWrapper.unavailable=La servlet {0} est marqu\u00e9 comme indisponible
standardWrapper.unloadException=La servlet {0} a g\u00e9n\u00e9r\u00e9 une exception "unload()"
standardWrapper.unloading=Impossible d''allouer la servlet {0} car elle a \u00e9t\u00e9 d\u00e9charg\u00e9e
