Improvements to French translations. (remm)
diff --git a/java/org/apache/catalina/authenticator/LocalStrings_fr.properties b/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
index df9f284..41db2ef 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_fr.properties
@@ -32,7 +32,10 @@
 authenticator.tomcatPrincipalLogoutFail=La déconnection avec l'instance de TomcatPrincipal a échoué
 authenticator.unauthorized=Impossible d'authentifier avec les crédits fournis (provided credentials)
 
+basicAuthenticator.invalidAuthorization=L''autorisation est invalide: [{0}]
 basicAuthenticator.invalidCharset=Les seules valeurs permises sont null, la chaîne vide, ou des caractères UTF-8
+basicAuthenticator.notBase64=Les informations d'identification Basic ne sont pas encodées en Base64
+basicAuthenticator.notBasic=La méthode d'authentification n'est pas ''Basic''
 
 digestAuthenticator.cacheRemove=Une entrée valide du cache de nonce des clients a été enlevée pour faire de la place pour de nouvelles entrées, ce qui rend possible une attaque par répétition ; pour éviter cela, il est possible de reduire nonceValidity ou d'augmenter nonceCacheSize ; les avertissements de ce type ne se reproduiront pas avant 5 minutes
 digestAuthenticator.invalidAlgorithm=Impossible de configurer l''authentification DIGEST avec l''algorithme [{0}] car il n''est pas autorisé par la RFC 7616
diff --git a/java/org/apache/catalina/manager/LocalStrings_fr.properties b/java/org/apache/catalina/manager/LocalStrings_fr.properties
index 399b584..d8c506c 100644
--- a/java/org/apache/catalina/manager/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/manager/LocalStrings_fr.properties
@@ -127,6 +127,7 @@
 managerServlet.deployedButNotStarted=ECHEC - Application déployée pour le chemin de contexte [{0}] mais le démarrage du contexte a échoué
 managerServlet.error.deploy=Erreur lors du déploiement de [{0}]
 managerServlet.error.idleParam=Impossible d''analyser le paramètre de temps d''attente maximum [{0}] qui devrait être un nombre entier
+managerServlet.error.jmx=Erreur JMX
 managerServlet.error.reload=Erreur lors du rechargement de [{0}]
 managerServlet.error.resources=Erreur lors de l''affichage des ressources de type [{0}]
 managerServlet.error.serverInfo=Erreur lors de l'affichage des informations sur le serveur
diff --git a/java/org/apache/catalina/mbeans/LocalStrings_fr.properties b/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
index 9dba63f..c3fea7c 100644
--- a/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/mbeans/LocalStrings_fr.properties
@@ -36,6 +36,7 @@
 mBeanFactory.contextRemove.addServicedFail=Impossible de supprimer le contexte [{0}] car un autre composant est en train d''effectuer des opérations de service avec ce nom
 mBeanFactory.managerContext=Un gestionnaire de sessions ne peut être ajouté qu'à un contexte
 mBeanFactory.noDeployer=Un déployeur n''a pas été trouvé pour l''hôte [{0}]
+mBeanFactory.noParent=Aucun parent n''a été trouvé avec le nom d''objet [{0}]
 mBeanFactory.noService=Un Service ayant le domaine [{0}] n''a pas été trouvé
 mBeanFactory.notServer=Le conteneur n'est pas un serveur
 
diff --git a/java/org/apache/catalina/realm/LocalStrings_fr.properties b/java/org/apache/catalina/realm/LocalStrings_fr.properties
index 17dd985..04bba33 100644
--- a/java/org/apache/catalina/realm/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/realm/LocalStrings_fr.properties
@@ -32,6 +32,7 @@
 dataSourceRealm.exception=Exception lors de l'anthentification
 dataSourceRealm.getPassword.exception=Exception lors de la récupération du mot de passe pour [{0}]
 dataSourceRealm.getRoles.exception=Exception lors de la récupération des rôles de [{0}]
+dataSourceRealm.noNamingContext=Impossible d'accéder au serveur pour obtenir le contexte JNDI
 
 jaasCallback.username=Nom d''utilisateur renvoyé [{0}]
 
@@ -69,6 +70,7 @@
 jndiRealm.exception=Exception pendant le traitement de l'authentification
 jndiRealm.exception.retry=Erreur pendant l'authentification, nouvel essai
 jndiRealm.invalidHostnameVerifier=[{0}] n''est pas un nom de classe valide pour un HostnameVerifier
+jndiRealm.invalidName=La recherche a retourné un nom absolu qui ne peut pas être traité: [{0}]
 jndiRealm.invalidSslProtocol=Le protocole fourni [{0}] est invalide, il doit être parmi [{1}]
 jndiRealm.invalidSslSocketFactory=[{0}] n''est pas un nom de classe valide pour une SSLSocketFactory
 jndiRealm.multipleEntries=Le nom d''utilisateur [{0}] a plusieurs entrées
@@ -111,3 +113,4 @@
 
 userDatabaseRealm.lookup=Exception lors de la recherche dans la base de données utilisateurs avec la clé [{0}]
 userDatabaseRealm.noDatabase=Aucun composant base de données utilisateurs trouvé pour la clé [{0}]
+userDatabaseRealm.noNamingContext=Impossible d'accéder au serveur pour obtenir le contexte JNDI
diff --git a/java/org/apache/catalina/security/LocalStrings_fr.properties b/java/org/apache/catalina/security/LocalStrings_fr.properties
index 0cede76..86cb83d 100644
--- a/java/org/apache/catalina/security/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/security/LocalStrings_fr.properties
@@ -20,3 +20,7 @@
 SecurityListener.checkUserWarning=Tentative de démarrage avec l''utilisateur [{0}], qui a été bloquée par l''écouteur org.apache.catalina.security.SecurityListener (configuré habituellement dans CATALINA_BASE/conf/server.xml)
 
 listener.notServer=Ce listener ne peut être ajouté qu''à des éléments Server, mais est dans [{0}]
+
+tlsCertRenewalListener.notRenewed=[{0}], hôte virtuel TLS [{1}] avec nom [{2}] qui expire le [{3}] nécessite un renouvellement
+tlsCertRenewalListener.reloadFailed=[{0}], hôte virtuel TLS [{1}] le redémarrage de la configuration TLS a échoué
+tlsCertRenewalListener.reloadSuccess=[{0}], hôte virtuel TLS [{1}] la configuration TLS a été redémarrée
diff --git a/java/org/apache/catalina/tribes/membership/cloud/LocalStrings_fr.properties b/java/org/apache/catalina/tribes/membership/cloud/LocalStrings_fr.properties
index a389b01..0f90efa 100644
--- a/java/org/apache/catalina/tribes/membership/cloud/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/tribes/membership/cloud/LocalStrings_fr.properties
@@ -27,6 +27,7 @@
 kubernetesMembershipProvider.invalidPodsList=La liste de pods est invalide : [{0}]
 kubernetesMembershipProvider.jsonError=Erreur JSON
 kubernetesMembershipProvider.memberError=Erreur de création d'un membre
+kubernetesMembershipProvider.noKey=La clé du certificat client n'a pas été spécifiée dans l'environnement
 kubernetesMembershipProvider.noNamespace=L'espace de noms n'est pas paramétré
 kubernetesMembershipProvider.streamError=Échec d'ouverture du flux
 
diff --git a/java/org/apache/coyote/http11/filters/LocalStrings_fr.properties b/java/org/apache/coyote/http11/filters/LocalStrings_fr.properties
index 2529b62..a2d5bd3 100644
--- a/java/org/apache/coyote/http11/filters/LocalStrings_fr.properties
+++ b/java/org/apache/coyote/http11/filters/LocalStrings_fr.properties
@@ -13,6 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+bufferedInputFilter.bodySize=Le corps de la requête est trop grand pour le tampon: [{0}]
+bufferedInputFilter.maxSwallowSize=Le corps de la requête qui dépassé maxSwallowSize a été ingoré
+
 chunkedInputFilter.eos=Fin du flux inattendue durant la lecture du corps de la requête
 chunkedInputFilter.eosTrailer=Fin inattendue de flux lors de la lecture des en-têtes de fin (trailer headers)
 chunkedInputFilter.error=Aucune donnée disponible suite à l'erreur précédente
diff --git a/java/org/apache/jasper/resources/LocalStrings_fr.properties b/java/org/apache/jasper/resources/LocalStrings_fr.properties
index f92027a..272c956 100644
--- a/java/org/apache/jasper/resources/LocalStrings_fr.properties
+++ b/java/org/apache/jasper/resources/LocalStrings_fr.properties
@@ -87,8 +87,10 @@
 jsp.error.invalid.expression=[{0}] contient d''incorrecte(s) expression(s) : [{1}]
 jsp.error.invalid.implicit=Le TLD implicite est invalide pour le fichier tag [{0}]
 jsp.error.invalid.implicit.version=La version JSP déclarée dans le TLD implicite pour le fichier de tag à [{0}] est invalide
+jsp.error.invalid.name=Le fichier [{0}] utilise le nom [{1}] dans jsp:getProperty pour un bean qui n''a pas été déclaré conformément à JSP.5.3
 jsp.error.invalid.scope=La valeur de l''attribut "scope" est invalide : [{0}] (elle doit être "page", "request", "session" ou "application")
 jsp.error.invalid.tagdir=Le répertoire du fichier Tag [{0}] ne commence pas par "/WEB-INF/tags"
+jsp.error.invalid.varscope=L''étendue [{0}] de la variable est invalide
 jsp.error.invalid.version=Version JSP invalide pour le fichier tag [{0}]
 jsp.error.ise_on_clear=Il est interdit d'utiliser clear() quand la taille de tampon== 0
 jsp.error.java.line.number=Une erreur s''est produite à la ligne : [{0}] dans le fichier Java généré : [{1}]
@@ -206,6 +208,7 @@
 jsp.error.tag.invalid.trimdirectivewhitespaces=Directive Tag : trimDirectiveWhitespaces a une valeur invalide
 jsp.error.tag.language.nonjava=Directive de tag : attribut language invalide
 jsp.error.tag.multi.pageencoding=La directive de tag ne doit pas avoir plusieurs occurences de pageencoding
+jsp.error.tagHandlerPool=Impossible de créer un pool [{0}] pour le tag
 jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) [{0}] invalide dans la directive tag
 jsp.error.tagfile.badSuffix=Le suffixe ".tag"  est manquant dans le chemin du fichier tag [{0}]
 jsp.error.tagfile.illegalPath=Le chemin du fichier de tag [{0}] est invalide, il doit commencer par "/WEB-INF/tags" ou "/META-INF/tags"
diff --git a/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties b/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
index ba593d9..ce10971 100644
--- a/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/buf/LocalStrings_fr.properties
@@ -28,6 +28,7 @@
 hexUtils.fromHex.oddDigits=L'entrée doit contenir un nombre pair de chiffres héxadécimaux
 
 uDecoder.eof=Fin de fichier (EOF)
+uDecoder.isHexDigit=L'encodage hexadécimal est invalide
 uDecoder.noSlash=Un caractère slash encodé n'est pas autorisé
 uDecoder.urlDecode.conversionError=Echec de décodage [{0}] en utilisant le jeu de caractères [{1}]
 uDecoder.urlDecode.missingDigit=Impossible de décoder [{0}] parce que le caractère % doit être suivi de deux chiffres héxadécimaux
diff --git a/java/org/apache/tomcat/util/http/LocalStrings_fr.properties b/java/org/apache/tomcat/util/http/LocalStrings_fr.properties
index c30899e..8f94215 100644
--- a/java/org/apache/tomcat/util/http/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/http/LocalStrings_fr.properties
@@ -26,6 +26,7 @@
 parameters.copyFail=Echec de la copie des valeurs de paramètres originaux pour raisons de journalisation du déboguage
 parameters.decodeFail.debug=Echec de décodage de caractère, le paramètre [{0}] de valeur [{1}] a été ignoré
 parameters.decodeFail.info=Echec de décodage de caractère, le paramètre [{0}] avec la valeur [{1}] a été ignoré ; le nom et la valeur mentionnés ici peuvent avoir été corrompus à cause de l''erreur de décodage, utilisez le niveau debug pour voir les originaux
+parameters.duplicateFail=Impossible de créer une copie des paramètres de la requête
 parameters.emptyChunk=Le bloc de paramètres vide a été ignoré
 parameters.invalidChunk=Morceau (chunk) invalide démarrant à l''octet [{0}] et se terminant à l''octet [{1}] avec une valeur de [{2}] ignoré
 parameters.maxCountFail=Le nombre maximum de paramètres pour une seule requête (GET plus POST) [{0}] a été détecté, les paramètres supplémentaires ont été ignorés ; l''attribut maxParameterCount du Connector permet de changer cette limite
diff --git a/java/org/apache/tomcat/util/modeler/LocalStrings_fr.properties b/java/org/apache/tomcat/util/modeler/LocalStrings_fr.properties
index 8d7c3b5..6dd9e38 100644
--- a/java/org/apache/tomcat/util/modeler/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/modeler/LocalStrings_fr.properties
@@ -38,6 +38,7 @@
 modules.readDescriptorsError=Erreur lors de la lecture des descripteurs
 
 registry.initError=Erreur lors de l''initialisation [{0}]
+registry.invalidSource=Une source invalide a été specifiée, elle doit être URL, File Class ou InputStream
 registry.loadError=Impossible de charger les descripteurs à partir de [{0}]
 registry.noDisable=Le registre des MBeans ne peut pas être désactivé car il a déjà été initialisé
 registry.noMetadata=Impossible de trouver les métadonnées pour l''objet [{0}]
diff --git a/java/org/apache/tomcat/util/modeler/modules/LocalStrings_fr.properties b/java/org/apache/tomcat/util/modeler/modules/LocalStrings_fr.properties
new file mode 100644
index 0000000..6e2b813
--- /dev/null
+++ b/java/org/apache/tomcat/util/modeler/modules/LocalStrings_fr.properties
@@ -0,0 +1,16 @@
+# 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.
+
+source.introspectionError=Erreur d''introspection lors de la création du MBean pour la classe [{0}]
diff --git a/java/org/apache/tomcat/util/net/LocalStrings_fr.properties b/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
index f06bdbe..f9b035f 100644
--- a/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/net/LocalStrings_fr.properties
@@ -165,6 +165,7 @@
 sslUtilBase.noKeys=Aucun alias pour les clés privées n'a été trouvé dans la base de clés
 sslUtilBase.noVerificationDepth=Le truststoreProvider [{0}] ne supporte pas l''option de configuration certificateVerificationDepth
 sslUtilBase.noneSupported=Aucun des [{0}] spécifiés n''est supporté par le moteur SSL : [{1}]
+sslUtilBase.skipped=Tomcat interprête l''attribut [{0}] de manière à être cohérent ave la dernière branche de développement d''OpenSSL. Certains de ceux qui ont été spéifiés [{0}] ne sont pas suportés par le moteur SSL configré pour ce connecteur (qui pourrait utiliser JSSE ou une version antérieure d''OpenSSL) et ont été ignorés: [{1}]
 sslUtilBase.ssl3=SSLv3 a été explicitement activé.  Ce protocole est connu comme non-sécurisé.
 sslUtilBase.tls13.auth=L’implémentation JSSE de TLS 1.3 ne supporte pas l'authentification après la négociation initiale, elle est donc incompatible avec l’authentification optionnelle du client
 sslUtilBase.trustedCertNotChecked=Les dates de validité du certificat de confiance dont l''alias est [{0}] n''ont pas été vérifiées car sont type est inconnu
diff --git a/java/org/apache/tomcat/util/net/openssl/ciphers/LocalStrings_fr.properties b/java/org/apache/tomcat/util/net/openssl/ciphers/LocalStrings_fr.properties
index 6739fbc..c880b9b 100644
--- a/java/org/apache/tomcat/util/net/openssl/ciphers/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/net/openssl/ciphers/LocalStrings_fr.properties
@@ -15,3 +15,4 @@
 
 opensslCipherConfigurationParser.effectiveCiphers=Chiffres utilisés : [{0}]
 opensslCipherConfigurationParser.unknownElement=Elément inconnu dans la chaîne de chiffres : [{0}]
+opensslCipherConfigurationParser.unknownProfile=Impossible d''utiliser OpenSSL pour obtenir le profil [{0}], celui ci sera utilisé en tant que liste d''algorithme de chiffrage
diff --git a/java/org/apache/tomcat/util/threads/LocalStrings_fr.properties b/java/org/apache/tomcat/util/threads/LocalStrings_fr.properties
index 8d0d122..77e0529 100644
--- a/java/org/apache/tomcat/util/threads/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/threads/LocalStrings_fr.properties
@@ -15,5 +15,7 @@
 
 taskQueue.notRunning=L'exécuteur n'a pas été démarré, impossible d'ajouter une commande à la file d'attente
 
+threadPoolExecutor.invalidKeepAlive=Les threads principaux doivent avoir un temps d'inactivité positif
 threadPoolExecutor.queueFull=La file d'attente est pleine
+threadPoolExecutor.taskRejected=La tâche [{0}] a été rejetée par [{1}]
 threadPoolExecutor.threadStoppedToAvoidPotentialLeak=Arrêt du thread [{0}] pour éviter de potentielles fuites de mémoire après l''arrêt d''un contexte
diff --git a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
index 309cdae..0099464 100644
--- a/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/websocket/LocalStrings_fr.properties
@@ -40,6 +40,8 @@
 clientEndpointHolder.instanceCreationFailed=Echec de la création du WebSocketEndpoint
 clientEndpointHolder.instanceRegistrationFailed=Echec de l'enregistrement de l'instance de l'Endpoint dans l'InstanceManager
 
+digestAuthenticator.algorithm=Impossible de générer l''abrégé (digest) pour la requête [{0}]
+
 futureToSendHandler.timeout=Le délai d''attente de l''opération est dépassé après avoir attendu [{0}] [{1}] pour qu''elle se termine
 
 perMessageDeflate.alreadyClosed=Le transformateur a été fermé et ne peut plus être utilisé
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index da75aaf..18e826a 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -183,6 +183,9 @@
       <update>
         Update Derby to 10.17.1. (markt)
       </update>
+      <add>
+        Improvements to French translations. (remm)
+      </add>
     </changelog>
   </subsection>
 </section>