diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini
index d7351acb19..8eed831848 100644
--- a/options/locale/locale_fr-FR.ini
+++ b/options/locale/locale_fr-FR.ini
@@ -603,6 +603,9 @@ password_username_disabled=Les utilisateurs externes ne sont pas autorisés à m
 full_name=Non Complet
 website=Site Web
 location=Localisation
+update_theme=Modifier le thème
+update_profile=Modifier le profil
+update_language=Modifier la langue
 update_language_not_found=La langue "%s" n'est pas disponible.
 update_language_success=La langue a été mise à jour.
 update_profile_success=Votre profil a été mis à jour.
@@ -638,6 +641,7 @@ lookup_avatar_by_mail=Rechercher un avatar par adresse e-mail
 federated_avatar_lookup=Recherche d'avatars fédérés
 enable_custom_avatar=Utiliser un avatar personnalisé
 choose_new_avatar=Sélectionner un nouvel avatar
+update_avatar=Modifier l’avatar
 delete_current_avatar=Supprimer l'avatar actuel
 uploaded_avatar_not_a_image=Le fichier téléchargé n'est pas une image.
 uploaded_avatar_is_too_big=Le fichier téléchargé dépasse la taille limite.
@@ -661,10 +665,23 @@ primary=Principale
 activated=Activé
 requires_activation=Nécessite une activation
 primary_email=Faire de cette adresse votre adresse principale
+activate_email=Envoyer l’activation
+activations_pending=Activations en attente
 delete_email=Exclure
+email_deletion=Supprimer l'adresse e-mail
+email_deletion_desc=L’adresse e-mail et les informations associées seront retirées de votre compte. Les révisions Git effectuées par cette adresse resteront inchangées. Continuer ?
+email_deletion_success=L'adresse e-mail a été supprimée.
+theme_update_success=Votre thème a été mis à jour.
+theme_update_error=Le thème sélectionné n'existe pas.
+openid_deletion=Supprimer l’adresse OpenID
+openid_deletion_desc=Supprimer cette adresse OpenID de votre compte vous empêchera de vous connecter avec. Continuer ?
 openid_deletion_success=L'adresse OpenID a été supprimée.
+add_new_email=Ajouter une nouvelle adresse e-mail
 add_new_openid=Ajouter une nouvelle URI OpenID
+add_email=Ajouter une adresse e-mail
 add_openid=Ajouter une URI OpenID
+add_email_confirmation_sent=Un e-mail de confirmation a été envoyé à "%s". Veuillez vérifier votre boîte de réception dans les %s suivants pour confirmer votre adresse e-mail.
+add_email_success=La nouvelle adresse e-mail a été ajoutée.
 email_preference_set_success=L'e-mail de préférence a été défini avec succès.
 add_openid_success=La nouvelle adresse OpenID a été ajoutée.
 keep_email_private=Cacher l'adresse e-mail
@@ -717,14 +734,45 @@ key_id=ID de la clé
 key_name=Nom de la Clé
 key_content=Contenu
 principal_content=Contenu
+add_key_success=La clé SSH "%s" a été ajoutée.
+add_gpg_key_success=La clé GPG "%s" a été ajoutée.
+add_principal_success=Le Principal de certificat SSH "%s" a été ajouté.
 delete_key=Exclure
+ssh_key_deletion=Retirer la clé SSH
+gpg_key_deletion=Retirer la clé GPG
+ssh_principal_deletion=Retirer le Principal de certificat SSH
+ssh_key_deletion_desc=Le retrait d'une clé SSH révoque son accès à votre compte. Continuer ?
 gpg_key_deletion_desc=Supprimer une clé GPG renie les révisions signées par celle-ci. Continuer ?
+ssh_principal_deletion_desc=Le retrait d'un Principal de certificat SSH révoque son accès à votre compte. Poursuivre ?
+ssh_key_deletion_success=La clé SSH a été retirée.
+gpg_key_deletion_success=La clé GPG a été retirée.
+ssh_principal_deletion_success=Le Principal a été retiré.
+add_on=Ajouté le
+valid_until=Valable jusqu'au
+last_used=Dernière utilisation le
+no_activity=Aucune activité récente
 can_read_info=Lue(s)
 can_write_info=Écriture
+key_state_desc=Cette clé a été utilisée au cours des 7 derniers jours
+token_state_desc=Ce jeton a été utilisé au cours des 7 derniers jours
+principal_state_desc=Ce Principal a été utilisé au cours des 7 derniers jours
+show_openid=Afficher sur le profil
+hide_openid=Masquer du profil
+ssh_disabled=SSH désactivé
+ssh_signonly=Le SSH est actuellement désactivé, donc ces clés ne sont utilisées que pour la vérification de la signature de livraison.
+unbind=Dissocier
 
+manage_access_token=Gérer les jetons d'accès
+generate_new_token=Générer un nouveau jeton
+token_name=Nom du jeton
+generate_token=Générer un jeton
+generate_token_success=Votre nouveau jeton a été généré. Copiez-le maintenant car il ne sera plus affiché.
+generate_token_name_duplicate=<strong>%s</strong> a déjà été utilisé comme nom d'application. Veuillez en utiliser un autre.
 delete_token=Supprimer
+access_token_deletion=Supprimer le jeton d'accès
 access_token_deletion_cancel_action=Annuler
 access_token_deletion_confirm_action=Supprimer
+access_token_deletion_desc=Supprimer un jeton révoquera l'accès à votre compte pour toutes les applications l'utilisant. Cette action est irréversible. Continuer ?
 delete_token_success=Ce jeton a été supprimé. Les applications l'utilisant n'ont plus accès à votre compte.
 select_scopes=Sélectionner les périmètres
 scopes_list=Périmètres :
@@ -752,22 +800,57 @@ oauth2_application_create_description=Les applications OAuth2 permettent à votr
 oauth2_application_remove_description=La suppression d'une application OAuth2 l'empêchera d'accéder aux comptes d'utilisateurs autorisés sur cette instance. Poursuivre ?
 
 authorized_oauth2_applications=Applications OAuth2 autorisées
+revoke_key=Révoquer
+revoke_oauth2_grant=Révoquer l'accès
+revoke_oauth2_grant_description=La révocation de l'accès à cette application tierce l'empêchera d'accéder à vos données. Vous êtes sûr ?
+revoke_oauth2_grant_success=Vous avez révoqué l'accès avec succès.
 
+twofa_desc=L'authentification à deux facteurs améliore la sécurité de votre compte.
+twofa_scratch_token_regenerate=Régénérer un jeton de secours
+twofa_scratch_token_regenerated=Votre jeton de secours est maintenant %s. Gardez-le en lieu sûr.
+twofa_enroll=Activer l'authentification à deux facteurs
+twofa_disable_note=Vous pouvez désactiver l'authentification à deux facteurs si nécessaire.
+twofa_disable_desc=Désactiver l'authentification à deux facteurs rendra votre compte plus vulnérable. Confirmer ?
+twofa_disabled=L'authentification à deux facteurs a été désactivée.
+twofa_failed_get_secret=Impossible d'obtenir le secret.
 
+webauthn_register_key=Ajouter une clé de sécurité
+webauthn_nickname=Pseudonyme
+webauthn_delete_key=Retirer la clé de sécurité
 
+manage_account_links=Gérer les comptes liés
+manage_account_links_desc=Ces comptes externes sont liés à votre compte Gitea.
+account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Gitea.
 link_account=Lier un Compte
+remove_account_link=Supprimer un compte lié
+remove_account_link_desc=La suppression d'un compte lié révoquera son accès à votre compte Gitea. Continuer ?
+remove_account_link_success=Le compte lié a été supprimé.
 
+hooks.desc=Ajoute des déclencheurs qui seront activés pour <strong>tous les dépôts</strong> de cet utilisateur.
 
+orgs_none=Vous n'êtes membre d'aucune organisation.
+repos_none=Vous ne possédez aucun dépôt
 
+delete_account=Supprimer votre compte
+delete_prompt=Cette opération supprimera définitivement votre compte d'utilisateur. Cette action est <strong>IRRÉVERSIBLE</strong>.
+delete_with_all_comments=Votre compte est plus jeune que %s. Afin d'éviter les commentaires fantômes, tous les commentaires sur les tickets/PR seront aussi supprimés.
 confirm_delete_account=Confirmez la suppression
 delete_account_title=Supprimer cet utilisateur
+delete_account_desc=Êtes-vous sûr de vouloir supprimer définitivement ce compte d'utilisateur ?
 
 email_notifications.enable=Activer les notifications par e-mail
+email_notifications.onmention=N'envoyer un e-mail que si vous êtes mentionné
 email_notifications.disable=Désactiver les notifications par e-mail
+email_notifications.submit=Définir les préférences d'e-mail
+email_notifications.andyourown=Et vos propres notifications
 
+visibility=Visibilité de l'utilisateur
 visibility.public=Public
+visibility.public_tooltip=Visible par tout le monde
 visibility.limited=Limité
+visibility.limited_tooltip=Visible uniquement pour les utilisateurs authentifiés
 visibility.private=Privé
+visibility.private_tooltip=Visible uniquement aux membres de l'organisation
 
 [repo]
 new_repo_helper=Un dépôt contient tous les fichiers du projet, y compris l'historique des révisions. Vous l'avez déjà ailleurs ? <a href="%s">Migrer le dépôt.</a>
@@ -854,6 +937,7 @@ delete_preexisting=Supprimer les fichiers préexistants
 delete_preexisting_content=Supprimer les fichiers dans %s
 delete_preexisting_success=Supprimer les fichiers non adoptés dans %s
 blame_prior=Voir le blame avant cette modification
+author_search_tooltip=Affiche un maximum de 30 utilisateurs
 
 transfer.accept=Accepter le transfert
 transfer.accept_desc=`Transférer à "%s"`
@@ -887,7 +971,13 @@ archive.pull.nocomment=Ce dépôt est archivé. Vous ne pouvez pas commenter de
 
 form.reach_limit_of_creation_1=Vous avez déjà atteint la limite d'%d dépôt.
 form.reach_limit_of_creation_n=Vous avez déjà atteint la limite de %d dépôts.
+form.name_reserved=Ce nom de dépôt "%s" est réservé.
+form.name_pattern_not_allowed=Le motif "%s" n'est pas autorisé dans un nom de dépôt.
 
+need_auth=Autorisation
+migrate_options=Options de migration
+migrate_service=Service de migration
+migrate_options_lfs=Migrer les fichiers LFS
 migrate_options_lfs_endpoint.label=Point d'accès LFS
 migrate_options_lfs_endpoint.description.local=Un chemin de serveur local est également pris en charge.
 migrate_options_lfs_endpoint.placeholder=Laisser vide pour dériver de l'URL de clonage
@@ -945,10 +1035,12 @@ unstar=Retirer des favoris
 star=Ajouter aux favoris
 fork=Bifurcation
 download_archive=Télécharger ce dépôt
+more_operations=Plus d'opérations
 
 no_desc=Aucune description
 quick_guide=Introduction rapide
 clone_this_repo=Cloner ce dépôt
+cite_this_repo=Citer ce dépôt
 create_new_repo_command=Création d'un nouveau dépôt en ligne de commande
 push_exist_repo=Soumission d'un dépôt existant par ligne de commande
 empty_message=Ce dépôt n'a pas de contenu.
@@ -979,6 +1071,7 @@ release=Versions
 releases=Versions
 tag=Tag
 released_this=a publié ceci
+tagged_this=a étiqueté
 file.title=%s sur %s
 file_raw=Brut
 file_history=Historique
@@ -990,6 +1083,7 @@ file_too_large=Le fichier est trop gros pour être affiché.
 invisible_runes_header=`Ce fichier contient des caractères Unicode invisibles !`
 invisible_runes_description=`Ce fichier contient des caractères Unicode invisibles qui pourraient être affichés différemment de ce qui apparaît ci-dessous. Si votre cas d'utilisation est intentionnel et légitime, vous pouvez ignorer en toute sécurité cet avertissement. Utilisez le bouton Échapper pour mettre en évidence ces caractères invisbles.`
 ambiguous_runes_header=`Ce fichier contient des caractères Unicode ambigus !`
+ambiguous_runes_description=`Ce fichier contient des caractères Unicode ambigus qui peuvent être confondus avec d'autres dans votre locale actuelle. Si votre cas d'utilisation est intentionnel et légitime, vous pouvez ignorer cet avertissement. Utilisez le bouton Echap pour mettre en évidence ces caractères.`
 invisible_runes_line=`Cette ligne contient des caractères Unicode invisibles`
 ambiguous_runes_line=`Cette ligne contient des caractères Unicode ambigus`
 ambiguous_character=`%[1]c [U+%04[1]X] peut être confondu avec %[2]c [U+%04[2]X]`
@@ -997,6 +1091,7 @@ ambiguous_character=`%[1]c [U+%04[1]X] peut être confondu avec %[2]c [U+%04[2]X
 escape_control_characters=Échapper
 unescape_control_characters=Annuler l'échappement
 file_copy_permalink=Copier le lien permanent
+view_git_blame=Voir Git Blâme
 video_not_supported_in_browser=Votre navigateur ne supporte pas le tag HTML5 "video".
 audio_not_supported_in_browser=Votre navigateur ne supporte pas la balise « audio » HTML5.
 stored_lfs=Stocké avec Git LFS
@@ -1011,6 +1106,7 @@ download_file=Télécharger le fichier
 normal_view=Vue normale
 line=ligne
 lines=lignes
+from_comment=(commentaire)
 
 editor.add_file=Ajouter un fichier
 editor.new_file=Nouveau fichier
@@ -1025,6 +1121,7 @@ editor.must_be_on_a_branch=Vous devez être sur une branche pour appliquer ou pr
 editor.fork_before_edit=Vous devez faire bifurquer ce dépôt pour appliquer ou proposer des modifications à ce fichier.
 editor.delete_this_file=Supprimer le fichier
 editor.must_have_write_access=Vous devez avoir un accès en écriture pour appliquer ou proposer des modifications à ce fichier.
+editor.file_delete_success=Le fichier "%s" a été supprimé.
 editor.name_your_file=Nommez votre fichier…
 editor.filename_help=Ajoutez un dossier en entrant son nom suivi d'une barre oblique ('/'). Supprimez un dossier avec un retour arrière au début du champ.
 editor.or=ou
@@ -1032,8 +1129,12 @@ editor.cancel_lower=Annuler
 editor.commit_signed_changes=Valider les révisions signées
 editor.commit_changes=Enregistrer les modifications
 editor.add_tmpl=Ajouter '<filename>'
+editor.add=Ajouter %s
+editor.update=Actualiser %s
+editor.delete=Supprimer %s
 editor.patch=Appliquer le correctif
 editor.patching=Correction:
+editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"`
 editor.new_patch=Nouveau correctif
 editor.commit_message_desc=Ajouter une description détaillée facultative…
 editor.signoff_desc=Ajout d'un trailer Signed-off-by par le committeur à la fin du message du journal de commit.
@@ -1045,15 +1146,26 @@ editor.new_branch_name=Nommer la nouvelle branche pour cette révision
 editor.new_branch_name_desc=Nouveau nom de la branche…
 editor.cancel=Annuler
 editor.filename_cannot_be_empty=Le nom de fichier ne peut être vide.
+editor.filename_is_invalid=Le nom du fichier est invalide : "%s".
+editor.branch_does_not_exist=La branche "%s" n'existe pas dans ce dépôt.
+editor.branch_already_exists=La branche "%s" existe déjà dans ce dépôt.
+editor.directory_is_a_file=Le nom de dossier "%s" est déjà utilisé comme nom de fichier dans ce dépôt.
+editor.file_is_a_symlink=`"%s" est un lien symbolique. Les liens symboliques ne peuvent pas être édités dans l'éditeur web.`
 editor.file_changed_while_editing=Le contenu du fichier a changé depuis que vous avez commencé à éditer. <a target="_blank" rel="noopener noreferrer" href="%s">Cliquez ici</a> pour voir les changements ou <strong>soumettez de nouveau</strong> pour les écraser.
+editor.file_already_exists=Un fichier nommé "%s" existe déjà dans ce dépôt.
 editor.commit_empty_file_header=Commiter un fichier vide
 editor.commit_empty_file_text=Le fichier que vous allez commiter est vide. Continuer ?
-editor.no_changes_to_show=Il n’y a aucun changement à afficher.
+editor.no_changes_to_show=Il n’y a aucune modification à afficher.
+editor.fail_to_update_file=Impossible de mettre à jour/créer le fichier "%s".
 editor.fail_to_update_file_summary=Message d'erreur :
 editor.push_rejected_no_message=La modification a été rejetée par le serveur sans message. Veuillez vérifier les Git Hooks.
 editor.push_rejected=La modification a été rejetée par le serveur. Veuillez vérifier vos Git Hooks.
 editor.push_rejected_summary=Message de rejet complet :
 editor.add_subdir=Ajouter un dossier…
+editor.unable_to_upload_files=Impossible d'envoyer le fichier "%s" : %v
+editor.upload_file_is_locked=Le fichier "%s" est verrouillé par %s.
+editor.upload_files_to_dir=`Téléverser les fichiers vers "%s"`
+editor.cannot_commit_to_protected_branch=Impossible de créer une révision sur la branche protégée "%s".
 editor.no_commit_to_branch=Impossible d'enregistrer la révisions directement sur la branche parce que :
 editor.user_no_push_to_branch=L'utilisateur ne peut pas pousser vers la branche
 editor.require_signed_commit=Cette branche nécessite une révision signée
@@ -1062,6 +1174,7 @@ editor.revert=Rétablir %s sur:
 
 commits.desc=Naviguer dans l'historique des modifications.
 commits.commits=Révisions
+commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents.
 commits.nothing_to_compare=Ces branches sont égales.
 commits.search=Rechercher des révisions…
 commits.search.tooltip=Vous pouvez préfixer les mots-clés avec "author:", "committer:", "after:", ou "before:", par exemple "revert author:Alice before:2019-01-13".
@@ -1078,6 +1191,7 @@ commits.signed_by_untrusted_user_unmatched=Signé par un utilisateur non fiable
 commits.gpg_key_id=ID de la clé GPG
 commits.ssh_key_fingerprint=Empreinte numérique de la clé SSH
 
+commit.operations=Opérations
 commit.revert=Rétablir
 commit.revert-header=Rétablir : %s
 commit.revert-content=Sélectionnez la branche sur laquelle revenir :
@@ -1085,6 +1199,7 @@ commit.cherry-pick=Picorer
 commit.cherry-pick-header=Picorer : %s
 commit.cherry-pick-content=Sélectionner la branche à picorer :
 
+ext_issues=Accès aux tickets externes
 ext_issues.desc=Lien vers un gestionnaire de tickets externe.
 
 projects=Projets
@@ -1095,24 +1210,36 @@ projects.create=Créer un projet
 projects.title=Titre
 projects.new=Nouveau projet
 projects.new_subheader=Coordonnez, surveillez, et mettez à jour votre travail en un seul endroit, afin que les projets restent transparents et dans les délais.
+projects.create_success=Le projet "%s" a été créé.
 projects.deletion=Supprimer le projet
 projects.deletion_desc=Supprimer un projet efface également de tous les tickets liés. Voulez vous continuer?
 projects.deletion_success=Le projet a été supprimé.
 projects.edit=Modifier les projets
 projects.edit_subheader=Les projets organisent les tickets et la progression.
 projects.modify=Modifier le projet
+projects.edit_success=Le projet "%s" a été mis à jour.
 projects.type.none=Aucun
 projects.type.basic_kanban=Kanban basique
 projects.type.bug_triage=Bug à trier
 projects.template.desc=Modèle de projet
 projects.template.desc_helper=Sélectionnez un modèle de projet pour débuter
 projects.type.uncategorized=Non catégorisé
+projects.column.edit=Modifier la colonne
 projects.column.edit_title=Nom
 projects.column.new_title=Nom
+projects.column.new_submit=Créer une colonne
 projects.column.new=Nouvelle colonne
+projects.column.set_default=Définir par défaut
+projects.column.set_default_desc=Définir cette colonne par défaut pour les tickets et demande d'ajouts non catégorisés
+projects.column.delete=Supprimer la colonne
+projects.column.deletion_desc=La suppression d'une colonne de projet déplace tous les tickets liés à 'Non catégorisé'. Continuer ?
 projects.column.color=Couleur
 projects.open=Ouvrir
 projects.close=Fermer
+projects.column.assigned_to=Assigné à
+projects.card_type.desc=Aperçu de la carte
+projects.card_type.images_and_text=Images et texte
+projects.card_type.text_only=Texte uniquement
 
 issues.desc=Organiser les rapports de bug, les tâches et les jalons.
 issues.filter_assignees=Filtrer par assignation
@@ -1149,6 +1276,8 @@ issues.choose.get_started=Démarrons
 issues.choose.open_external_link=Ouvrir
 issues.choose.blank=Par défaut
 issues.choose.blank_about=Créer un ticket à partir du modèle par défaut.
+issues.choose.ignore_invalid_templates=Les modèles invalides ont été ignorés
+issues.choose.invalid_config=La configuration du ticket contient des erreurs :
 issues.no_ref=Aucune branche/étiquette spécifiées
 issues.create=Créer un ticket
 issues.new_label=Nouvelle étiquette
@@ -1177,7 +1306,8 @@ issues.self_assign_at=`s'est assigné cela %s`
 issues.add_assignee_at=`s'est vu assigner cela par <b>%s</b> %s`
 issues.remove_assignee_at=`mis en non assigné par <b>%s</b> %s`
 issues.remove_self_assignment=`a retiré son assignation %s`
-issues.change_title_at=`a modifié le titre de <b><strike>%s</strike></b> à <b>%s</b> %s`
+issues.change_title_at=`a modifié le titre <b><strike>%s</strike></b> pour <b>%s</b> %s`
+issues.change_ref_at=`à modifiée la référence <b><strike>%s</strike></b> pour <b>%s</b>%s`
 issues.delete_branch_at=`a supprimé la branche <b>%s</b> %s`
 issues.filter_label=Étiquette
 issues.filter_label_exclude=`Utiliser <code>alt</code> + <code>clic/entrée</code> pour exclure les étiquettes`
@@ -1185,6 +1315,7 @@ issues.filter_label_no_select=Toutes les étiquettes
 issues.filter_milestone=Jalon
 issues.filter_milestone_no_select=Tous les jalons
 issues.filter_project=Projet
+issues.filter_project_all=Tous les projets
 issues.filter_project_none=Pas de projet
 issues.filter_assignee=Assigné
 issues.filter_assginee_no_select=Toutes les affectations
@@ -1196,6 +1327,7 @@ issues.filter_type.assigned_to_you=Qui vous sont assignés
 issues.filter_type.created_by_you=Créés par vous
 issues.filter_type.mentioning_you=Vous mentionnant
 issues.filter_type.review_requested=Revue demandée
+issues.filter_type.reviewed_by_you=Revu par vous
 issues.filter_sort=Trier
 issues.filter_sort.latest=Plus récent
 issues.filter_sort.oldest=Plus ancien/ne
@@ -1209,6 +1341,7 @@ issues.filter_sort.moststars=Favoris (décroissant)
 issues.filter_sort.feweststars=Favoris (croissant)
 issues.filter_sort.mostforks=Bifurcations (décroissant)
 issues.filter_sort.fewestforks=Bifurcations (croissant)
+issues.keyword_search_unavailable=La recherche par mot clé n'est pas disponible. Veuillez contacter l'administrateur de votre instance.
 issues.action_open=Ouvrir
 issues.action_close=Fermer
 issues.action_label=Étiquette
@@ -1216,6 +1349,8 @@ issues.action_milestone=Jalon
 issues.action_milestone_no_select=Aucun jalon
 issues.action_assignee=Assigné à
 issues.action_assignee_no_select=Pas d'assignataire
+issues.action_check=Cocher/Décocher
+issues.action_check_all=Cocher/Décocher tous les éléments
 issues.opened_by=créé %[1]s par <a href="%[2]s">%[3]s</a>
 issues.opened_by_fake=%[1]s ouvert par %[2]s
 issues.previous=Page Précédente
@@ -1232,6 +1367,7 @@ issues.context.reference_issue=Référencer dans un nouveau ticket
 issues.context.edit=Éditer
 issues.context.delete=Supprimer
 issues.no_content=Il n'existe pas encore de contenu.
+issues.close=Fermer le ticket
 issues.pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> %[4]s`
 issues.manually_pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> manuellement %[4]s`
 issues.close_comment_issue=Commenter et Fermer
@@ -1264,6 +1400,7 @@ issues.save=Enregistrer
 issues.label_title=Nom de l'étiquette
 issues.label_description=Description de l’étiquette
 issues.label_color=Couleur de l'étiquette
+issues.label_exclusive=Exclusif
 issues.label_exclusive_desc=Nommez le libellé <code>périmètre/élément</code> pour qu'il soit mutuellement exclusif avec d'autres libellés du <code>périmètre</code>.
 issues.label_exclusive_warning=Tout libellé conflictuel sera supprimé lors de l'édition des libellés d'un ticket ou d'une demande de tirage.
 issues.label_count=%d étiquettes
@@ -1303,6 +1440,8 @@ issues.lock.title=Verrouiller la conversation sur ce ticket.
 issues.unlock.title=Déverrouiller la conversation sur ce ticket.
 issues.comment_on_locked=Vous ne pouvez pas commenter un ticket verrouillé.
 issues.delete=Supprimer
+issues.delete.title=Supprimer ce ticket ?
+issues.delete.text=Voulez-vous vraiment supprimer ce ticket ? (Cette opération supprimera définitivement tout le contenu. Envisagez plutôt de le fermer si vous avez l'intention de l'archiver)
 issues.tracker=Suivi du temps
 issues.start_tracking_short=Démarrer le suivi de temps
 issues.start_tracking=Démarrer le suivi du temps
@@ -1339,10 +1478,16 @@ issues.due_date_form_remove=Supprimer
 issues.due_date_not_writer=Vous devez avoir accès au dépôt en écriture pour mettre à jour l'échéance d'un ticket.
 issues.due_date_not_set=Aucune échéance n'a été définie.
 issues.due_date_added=a ajouté l'échéance %s %s
+issues.due_date_modified=a modifié l'échéance de %[2]s à %[1]s %[3]s
 issues.due_date_remove=a supprimé l'échéance %s %s
 issues.due_date_overdue=En retard
 issues.due_date_invalid=La date d’échéance est invalide ou hors plage. Veuillez utiliser le format 'aaaa-mm-dd'.
 issues.dependency.title=Dépendances
+issues.dependency.issue_no_dependencies=Aucune dépendance définie.
+issues.dependency.pr_no_dependencies=Aucune dépendance définie.
+issues.dependency.no_permission_1=Vous n’avez pas la permission de voir la dépendance de %d
+issues.dependency.no_permission_n=Vous n’avez pas la permission de voir les dépendances de %d
+issues.dependency.no_permission.can_remove=Vous n'avez pas la permission de voir cette dépendance, mais vous pouvez la supprimer
 issues.dependency.add=Ajouter une dépendance…
 issues.dependency.cancel=Annuler
 issues.dependency.remove=Supprimer
@@ -1381,6 +1526,7 @@ issues.review.add_review_request=a demandé une révision de %s %s
 issues.review.remove_review_request=a supprimé la demande de révision pour %s %s
 issues.review.remove_review_request_self=a refusé la revue %s
 issues.review.pending=En attente
+issues.review.pending.tooltip=Ce commentaire n'est pas encore visible par les autres utilisateurs. Pour soumettre vos commentaires en attente, sélectionnez "%s" → "%s/%s/%s" en haut de la page.
 issues.review.review=Révision
 issues.review.reviewers=Relecteurs
 issues.review.outdated=Périmé
@@ -1393,11 +1539,13 @@ issues.review.un_resolve_conversation=Conversation non résolue
 issues.review.resolved_by=marquer cette conversation comme résolue
 issues.assignee.error=Tous les assignés n'ont pas été ajoutés en raison d'une erreur inattendue.
 issues.reference_issue.body=Corps
+issues.content_history.deleted=supprimé
 issues.content_history.edited=édité
 issues.content_history.created=créé
 issues.content_history.delete_from_history=Supprimé de l’historique
 issues.content_history.delete_from_history_confirm=Supprimer de l’historique ?
 issues.content_history.options=Options
+issues.reference_link=Référence : %s
 
 compare.compare_base=base
 compare.compare_head=comparer
@@ -1406,10 +1554,19 @@ pulls.desc=Activer les demandes de fusion et la revue de code.
 pulls.new=Nouvelle demande d'ajout
 pulls.view=Voir la demande d'ajout
 pulls.compare_changes=Nouvelle demande de fusion
+pulls.allow_edits_from_maintainers=Autoriser les modifications des mainteneurs
+pulls.allow_edits_from_maintainers_desc=Les utilisateurs ayant un accès en écriture à la branche de base peuvent également pousser vers cette branche
+pulls.allow_edits_from_maintainers_err=La mise à jour à échoué
 pulls.compare_changes_desc=Sélectionnez la branche dans laquelle fusionner et la branche depuis laquelle tirer les modifications.
+pulls.has_viewed_file=Consulté
+pulls.has_changed_since_last_review=Modifiée depuis votre dernière revue
+pulls.viewed_files_label=%[1]d / %[2]d fichiers vus
+pulls.expand_files=Développer tous les fichiers
+pulls.collapse_files=Réduire tous les fichiers
 pulls.compare_base=fusionner dans
 pulls.compare_compare=tirer les modifications depuis
 pulls.switch_comparison_type=Changer le type de comparaison
+pulls.switch_head_and_base=Passez de head à base
 pulls.filter_branch=Filtre de branche
 pulls.no_results=Aucun résultat trouvé.
 pulls.nothing_to_compare=Ces branches sont identiques. Il n'y a pas besoin de créer une demande de fusion.
@@ -1418,14 +1575,17 @@ pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux bran
 pulls.create=Créer une demande d'ajout
 pulls.title_desc=veut fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
 pulls.merged_title_desc=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
-pulls.change_target_branch_at=`a changé la branche cible de <b>%s</b> à <b>%s</b> %s`
+pulls.change_target_branch_at=`a modifié la branche cible <b>%s</b> pour <b>%s</b> %s`
 pulls.tab_conversation=Discussion
 pulls.tab_commits=Révisions
 pulls.tab_files=Fichiers Modifiés
 pulls.reopen_to_merge=Veuillez rouvrir cette demande d'ajout pour effectuer l'opération de fusion.
 pulls.cant_reopen_deleted_branch=Cette demande d'ajout ne peut pas être rouverte car la branche a été supprimée.
 pulls.merged=Fusionnée
+pulls.merged_success=Demande d’ajout fusionnée et fermée avec succès
+pulls.closed=Demande d’ajout fermée
 pulls.manually_merged=Fusionné manuellement
+pulls.merged_info_text=La branche %s peut maintenant être supprimée.
 pulls.is_closed=La demande de fusion a été fermée.
 pulls.title_wip_desc=`<a href="#">Préfixer le titre par <strong>%s</strong></a> pour empêcher cette demande d'ajout d'être fusionnée par erreur.`
 pulls.cannot_merge_work_in_progress=Cette demande d'ajout est marquée comme en cours de chantier.
@@ -1435,6 +1595,7 @@ pulls.remove_prefix=Enlever le préfixe <strong>%s</strong>
 pulls.data_broken=Cette demande de fusion est impossible par manque d'informations de bifurcation.
 pulls.files_conflicted=Cette demande d'ajout contient des modifications en conflit avec la branche ciblée.
 pulls.is_checking=Vérification des conflits de fusion en cours. Réessayez dans quelques instants.
+pulls.is_ancestor=Cette branche est déjà présente dans la branche ciblée. Il n'y a rien à fusionner.
 pulls.is_empty=Les changements sur cette branche sont déjà sur la branche cible. Cette révision sera vide.
 pulls.required_status_check_failed=Certains contrôles requis n'ont pas réussi.
 pulls.required_status_check_missing=Certains contrôles requis sont manquants.
@@ -1488,18 +1649,24 @@ pulls.status_checks_failure=Certaines vérifications ont échoué
 pulls.status_checks_error=Quelques vérifications ont signalé des erreurs
 pulls.status_checks_requested=Requis
 pulls.status_checks_details=Détails
+pulls.update_branch=Actualiser la branche par fusion
+pulls.update_branch_rebase=Actualiser la branche par rebasage
 pulls.update_branch_success=La mise à jour de la branche a réussi
 pulls.update_not_allowed=Vous n'êtes pas autorisé à mettre à jour la branche
 pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branche de base
+pulls.close=Fermer la demande d’ajout
 pulls.closed_at=`a fermé cette pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
 pulls.reopened_at=`a réouvert cette pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
 pulls.merge_instruction_hint=`Vous pouvez également voir <a class="show-instruction">les instructions en ligne de commande</a>.`
 pulls.merge_instruction_step1_desc=Depuis le dépôt de votre projet, sélectionnez une nouvelle branche et testez les modifications.
 pulls.merge_instruction_step2_desc=Fusionner les modifications et mettre à jour sur Gitea.
+pulls.clear_merge_message=Effacer le message de fusion
 
+pulls.auto_merge_button_when_succeed=(Lorsque les vérifications ont réussi)
 pulls.auto_merge_newly_scheduled=La demande d'ajout était programmée pour fusionner lorsque toutes les vérifications aurait réussi.
 pulls.auto_merge_has_pending_schedule=%[1]s Ont planifié cette demande d'ajout pour fusionner automatiquement lorsque toutes les vérifications réussissent %[2]s.
 
+pulls.auto_merge_cancel_schedule=Annuler la fusion automatique
 pulls.auto_merge_not_scheduled=Cette demande d'ajout n'est pas planifiée pour fusionner automatiquement.
 pulls.auto_merge_canceled_schedule=La fusion automatique a été annulée pour cette demande d'ajout.
 
@@ -1511,6 +1678,7 @@ pulls.delete.text=Voulez-vous vraiment supprimer cet demande d'ajout ? (Cela sup
 
 milestones.new=Nouveau jalon
 milestones.closed=%s fermé
+milestones.update_ago=Actualisé il y a %s
 milestones.no_due_date=Aucune date d'échéance
 milestones.open=Ouvrir
 milestones.close=Fermer
@@ -1522,10 +1690,12 @@ milestones.desc=Description
 milestones.due_date=Date d'échéance (facultatif)
 milestones.clear=Effacer
 milestones.invalid_due_date_format=Le format de la date d'échéance est invalide, il doit être comme suit 'aaaa-mm-jj'.
+milestones.create_success=Le jalon "%s" a été créé.
 milestones.edit=Éditer le Jalon
 milestones.edit_subheader=Les jalons organisent les tickets et le suivi d'avancement.
 milestones.cancel=Annuler
 milestones.modify=Mettre à jour un jalon
+milestones.edit_success=Le jalon "%s" a été mis à jour.
 milestones.deletion=Supprimer un Jalon
 milestones.deletion_desc=Supprimer un jalon le retire de tous les tickets. Continuer ?
 milestones.deletion_success=Le jalon a été supprimé.
@@ -1536,6 +1706,7 @@ milestones.filter_sort.most_complete=Le plus complété
 milestones.filter_sort.most_issues=Le plus de tickets
 milestones.filter_sort.least_issues=Le moins de tickets
 
+signing.will_sign=`Cette révision sera signée avec la clé "%s"`
 signing.wont_sign.error=Une erreur s'est produite lors de la vérification de la signature de la révision
 signing.wont_sign.nokey=Il n'y a aucune clé disponible pour signer cette révision
 signing.wont_sign.never=Les révisions ne sont jamais signées
@@ -1549,6 +1720,7 @@ signing.wont_sign.commitssigned=La fusion ne sera pas signée car toutes les ré
 signing.wont_sign.approved=La fusion ne sera pas signée car la PR n'a pas approuvée
 signing.wont_sign.not_signed_in=Vous n'êtes pas authentifié
 
+ext_wiki=Accès au wiki externe
 ext_wiki.desc=Lier un wiki externe.
 
 wiki=Wiki
@@ -1559,6 +1731,8 @@ wiki.create_first_page=Créer la première page
 wiki.page=Page
 wiki.filter_page=Filtrer la page
 wiki.new_page=Page
+wiki.page_title=Titre de la page
+wiki.page_content=Contenu de la page
 wiki.default_commit_message=Écrire une note concernant cette mise à jour (optionnel).
 wiki.save_page=Enregistrer la page
 wiki.last_commit_info=%s a édité cette page %s
@@ -1568,7 +1742,9 @@ wiki.file_revision=Révisions de la page
 wiki.wiki_page_revisions=Révisions de la page wiki
 wiki.back_to_wiki=Retour à la page wiki
 wiki.delete_page_button=Supprimer la page
+wiki.delete_page_notice_1=Supprimer la page de wiki "%s" est irréversible. Continuer ?
 wiki.page_already_exists=Une page de wiki avec le même nom existe déjà.
+wiki.reserved_page=Le nom de page de wiki "%s" est réservé.
 wiki.pages=Pages
 wiki.last_updated=Dernière mise à jour: %s
 
@@ -1699,20 +1875,28 @@ settings.pulls.ignore_whitespace=Ignorer les espaces lors des conflits
 settings.pulls.enable_autodetect_manual_merge=Activer la détection automatique de la fusion manuelle (Remarque : dans certains cas particuliers, des erreurs de détection peuvent se produire)
 settings.pulls.allow_rebase_update=Activer la mise à jour de demande d'ajout par rebase
 settings.pulls.default_delete_branch_after_merge=Supprimer la branche après la fusion par default
+settings.packages_desc=Activer le registre des paquets du dépôt
 settings.projects_desc=Activer les projets de dépôt
+settings.actions_desc=Activer les actions du dépôt
 settings.admin_settings=Paramètres administrateur
 settings.admin_enable_health_check=Activer les vérifications de santé du dépôt (git fsck)
+settings.admin_code_indexer=Indexeur de code
+settings.admin_stats_indexer=Indexeur des statistiques de code
+settings.admin_indexer_commit_sha=Dernier SHA indexé
+settings.admin_indexer_unindexed=Non indexé
+settings.reindex_button=Ajouter à queue de réindexation
+settings.reindex_requested=Réindexation demandée
 settings.admin_enable_close_issues_via_commit_in_any_branch=Fermer un ticket via une révision faite sur une branche non par défaut
 settings.danger_zone=Zone de danger
 settings.new_owner_has_same_repo=Le nouveau propriétaire a déjà un dépôt nommé ainsi.
 settings.convert=Convertir en dépôt standard
-settings.convert_desc=Vous pouvez convertir ce miroir en dépôt standard. Ceci ne peut pas être annulé.
-settings.convert_notices_1=Cette opération convertira le miroir en dépôt standard et ne peut être annulée.
+settings.convert_desc=Vous pouvez convertir ce miroir en dépôt standard. Cette action est irréversible.
+settings.convert_notices_1=Cette opération convertira le miroir en dépôt standard. Cette action est irréversible.
 settings.convert_confirm=Convertir le dépôt
 settings.convert_succeed=Le miroir a été converti en dépôt standard.
 settings.convert_fork=Convertir en dépôt standard
-settings.convert_fork_desc=Vous pouvez convertir ce miroir en dépôt standard. Ceci ne peut pas être annulé.
-settings.convert_fork_notices_1=Cette opération convertira le miroir en dépôt standard et ne peut être annulée.
+settings.convert_fork_desc=Vous pouvez convertir ce miroir en dépôt standard. Cette action est irréversible.
+settings.convert_fork_notices_1=Cette opération convertira le miroir en dépôt standard. Cette action est irréversible.
 settings.convert_fork_confirm=Convertir le dépôt
 settings.convert_fork_succeed=Le miroir a été converti en dépôt standard.
 settings.transfer=Changer de propriétaire
@@ -1744,13 +1928,13 @@ settings.trust_model.collaboratorcommitter=Collaborateur+Committer
 settings.trust_model.collaboratorcommitter.long=Collaborateur+Committer: Faire confiance aux signatures des collaborateurs qui correspondent à l'auteur
 settings.trust_model.collaboratorcommitter.desc=Les signatures valides des des collaborateurs de ce dépôt seront marquées "de confiance" si elles correspondent à l'expéditeur. Dans le cas contraire, les signatures valides seront marquées "non fiables" si la signature correspond au validateur et "sans correspondance" pour les autres cas. Cela forcera Gitea à être marqué comme le committer sur les commits signés avec le committer réel marqué comme Co-Authored-By: et Co-Committed-By: inclus dans la livraison. La clé par défaut de Gitea doit correspondre à un utilisateur dans la base de données.
 settings.wiki_delete=Supprimer les données du Wiki
-settings.wiki_delete_desc=Supprimer les données du wiki d'un dépôt est permanent et ne peut être annulé.
+settings.wiki_delete_desc=Supprimer les données du wiki d'un dépôt est permanent. Cette action est irréversible.
 settings.wiki_delete_notices_1=- Ceci supprimera de manière permanente et désactivera le wiki de dépôt pour %s.
 settings.confirm_wiki_delete=Supprimer les données du Wiki
 settings.wiki_deletion_success=Les données du wiki de ce dépôt ont été effacées.
 settings.delete=Supprimer ce dépôt
-settings.delete_desc=Supprimer un dépôt est permanent et ne peut être annulé.
-settings.delete_notices_1=- Cette opération <strong>ne peut pas </strong> être annulée.
+settings.delete_desc=Supprimer un dépôt est permanent et irréversible.
+settings.delete_notices_1=- Cette opération est <strong>irréversible</strong>.
 settings.delete_notices_2=- Cette opération supprimera définitivement le dépôt <strong>%s</strong>, y compris le code, les tickets, les commentaires, les données de wiki et les accès des collaborateurs.
 settings.delete_notices_fork_1=- Les bifurcations de ce dépôt deviendront indépendants après suppression.
 settings.deletion_success=Le dépôt a été supprimé.
@@ -1789,6 +1973,7 @@ settings.webhook.response=Réponse
 settings.webhook.headers=Entêtes
 settings.webhook.payload=Contenu
 settings.webhook.body=Corps
+settings.webhook.replay.description=Rejouer ce déclencheur.
 settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
 settings.githook_name=Nom du Hook
 settings.githook_content=Contenu du Hook
@@ -1847,19 +2032,39 @@ settings.event_pull_request_review=Demande d'ajout révisée
 settings.event_pull_request_review_desc=Demande d'ajout approvée, rejetée ou commentaire de révision.
 settings.event_pull_request_sync=Demande d'ajout synchronisée
 settings.event_pull_request_sync_desc=Demande d'ajout synchronisée.
+settings.event_package=Paquet
 settings.branch_filter=Filtre de branche
 settings.branch_filter_desc=Liste blanche pour les poussées, la création et la suppression de branches, spécifiées par motif de glob. Si vide ou <code>*</code>, les événements pour toutes les branches sont signalés. Voir la documentation <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> pour la syntaxe. Exemples: <code>master</code>, <code>{master,release*}</code>.
+settings.authorization_header=En-tête « Authorization »
+settings.authorization_header_desc=Si présent, sera ajouté aux requêtes comme en-tête d’authentification. Exemples : %s.
 settings.active=Actif
 settings.active_helper=Les informations sur les événements déclenchés seront envoyées à cette url de Webhook.
 settings.add_hook_success=Nouveau Webhook ajouté.
-settings.update_webhook=Mettre à jour le Webhook
-settings.update_hook_success=Webhook mis à jour.
+settings.update_webhook=Actualiser le déclencheur
+settings.update_hook_success=Déclencheur Web actualisé.
 settings.delete_webhook=Retirer le Webhook
 settings.recent_deliveries=Livraisons récentes
 settings.hook_type=Type de Hook
 settings.slack_token=Jeton
 settings.slack_domain=Domaine
 settings.slack_channel=Canal
+settings.add_web_hook_desc=Intégrez <a target="_blank" rel="noreferrer" href="%s">%s</a> dans votre dépôt.
+settings.web_hook_name_gitea=Gitea
+settings.web_hook_name_gogs=Gogs
+settings.web_hook_name_slack=Slack
+settings.web_hook_name_discord=Discord
+settings.web_hook_name_dingtalk=DingTalk
+settings.web_hook_name_telegram=Telegram
+settings.web_hook_name_matrix=Matrix
+settings.web_hook_name_msteams=Microsoft Teams
+settings.web_hook_name_feishu_or_larksuite=Feishu / Lark Suite
+settings.web_hook_name_feishu=Feishu
+settings.web_hook_name_larksuite=Lark Suite
+settings.web_hook_name_wechatwork=WeCom (Wechat Work)
+settings.web_hook_name_packagist=Packagist
+settings.packagist_username=Nom d'utilisateur Packagist
+settings.packagist_api_token=Jeton API
+settings.packagist_package_url=URL du paquet Packagist
 settings.deploy_keys=Clés de déploiement
 settings.add_deploy_key=Ajouter une clé de déploiement
 settings.deploy_key_desc=Les clefs de déploiement ont un accès en lecture seule au dépôt.
@@ -1870,11 +2075,14 @@ settings.title=Titre
 settings.deploy_key_content=Contenu
 settings.key_been_used=Une clef de déploiement identique est déjà en cours d'utilisation.
 settings.key_name_used=Une clef de déploiement du même nom existe déjà.
+settings.add_key_success=La clé de déploiement "%s" a été ajoutée.
 settings.deploy_key_deletion=Supprimer une clef de déploiement
 settings.deploy_key_deletion_desc=La suppression d'une clef de déploiement révoque son accès à ce dépôt. Continuer ?
 settings.deploy_key_deletion_success=La clé de déploiement a été supprimée.
 settings.branches=Branches
 settings.protected_branch=Protection de branche
+settings.protected_branch.save_rule=Enregistrer la règle
+settings.protected_branch.delete_rule=Supprimer la règle
 settings.protected_branch_can_push=Autoriser la poussée ?
 settings.protected_branch_can_push_yes=Vous pouvez pousser
 settings.protected_branch_can_push_no=Vous ne pouvez pas pousser
@@ -1909,8 +2117,16 @@ settings.dismiss_stale_approvals=Rejeter les approbations obsolètes
 settings.dismiss_stale_approvals_desc=Quand de nouvelles révisions qui changent le contenu de la demande d'ajout sont poussées vers la branche, les anciennes approbations seront rejetées.
 settings.require_signed_commits=Exiger des révisions signées
 settings.require_signed_commits_desc=Rejeter les pushs vers cette branche s’ils ne sont pas signés ou vérifiables.
+settings.protect_branch_name_pattern=Motif de nom de branche protégé
+settings.protect_protected_file_patterns=Motifs de fichiers protégés (séparés par un point-virgule ';') :
+settings.protect_protected_file_patterns_desc=Les fichiers protégés ne sont pas autorisés à être modifiés directement même si l'utilisateur a les droits pour ajouter, modifier ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés en utilisant un point-virgule (';'). Voir la documentation <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe du motif. Exemples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
+settings.protect_unprotected_file_patterns=Motifs de fichiers non protégés (séparés par un point-virgule ’;’) :
+settings.protect_unprotected_file_patterns_desc=Fichiers non protégés qui sont autorisés à être modifiés directement si l'utilisateur a des droits d’écriture, contournant ainsi les restrictions de poussée. Plusieurs motifs peuvent être séparés en utilisant un point-virgule (';'). Voir la documentation <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
 settings.add_protected_branch=Activer la protection
 settings.delete_protected_branch=Désactiver la protection
+settings.update_protect_branch_success=La règle de protection de branche "%s" a été mise à jour.
+settings.remove_protected_branch_success=La règle de protection de branche "%s" a été retirée.
+settings.remove_protected_branch_failed=Impossible de retirer la règle de protection de branche "%s".
 settings.protected_branch_deletion=Désactiver la protection de branche
 settings.protected_branch_deletion_desc=Désactiver la protection de branche permet aux utilisateurs ayant accès en écriture de pousser des modifications sur la branche. Continuer ?
 settings.block_rejected_reviews=Bloquer la fusion quand il y a des avis de rejet
@@ -1920,14 +2136,21 @@ settings.block_on_official_review_requests_desc=La fusion ne sera pas possible q
 settings.block_outdated_branch=Bloquer la fusion si la demande d'ajout est obsolète
 settings.block_outdated_branch_desc=La fusion ne sera pas possible lorsque la branche principale est derrière la branche de base.
 settings.default_branch_desc=Sélectionnez une branche par défaut pour les demandes de fusion et les révisions :
+settings.merge_style_desc=Fusionner les styles
 settings.default_merge_style_desc=Style de fusion par défaut pour les demandes d'ajouts :
 settings.choose_branch=Choisissez une branche…
 settings.no_protected_branch=Il n'y a pas de branche protégée.
 settings.edit_protected_branch=Éditer
+settings.protected_branch_required_rule_name=Nom de la règle requise
+settings.protected_branch_duplicate_rule_name=Nom de la règle en double
 settings.protected_branch_required_approvals_min=Le nombre de revues nécessaires ne peut être négatif.
 settings.tags=Étiquettes
 settings.tags.protection=Protection d'étiquette
 settings.tags.protection.pattern=Motif d'étiquette
+settings.tags.protection.allowed=Autorisé
+settings.tags.protection.allowed.users=Utilisateurs autorisés
+settings.tags.protection.allowed.teams=Équipes autorisées
+settings.tags.protection.allowed.noone=Personne
 settings.tags.protection.create=Protéger l'étiquette
 settings.tags.protection.none=Il n'y a pas d'étiquettes protégées.
 settings.tags.protection.pattern.description=Vous pouvez utiliser soit un nom unique, soit un motif de glob ou une expression régulière qui correspondront à plusieurs étiquettes. Pour plus d'informations, veuillez vous reporter au <a target="_blank" rel="noopener" href="https://docs.gitea.io/fr-fr/protected-tags/">guide sur les étiquettes protégées</a>.
@@ -1975,6 +2198,12 @@ settings.lfs_pointers.inRepo=Dans le dépôt
 settings.lfs_pointers.exists=Existe en magasin
 settings.lfs_pointers.accessible=Accessible à l'utilisateur
 settings.lfs_pointers.associateAccessible=Associer %d OID accessibles
+settings.rename_branch_failed_exist=Impossible de renommer la branche car la branche %s existe déjà.
+settings.rename_branch_failed_not_exist=Impossible de renommer la branche %s car elle n’existe pas.
+settings.rename_branch_success=La branche %s à été renommée avec succès en %s.
+settings.rename_branch_from=ancien nom de la branche
+settings.rename_branch_to=nouveau nom de la branche
+settings.rename_branch=Renommer la branche
 
 diff.browse_source=Parcourir la source
 diff.parent=Parent
@@ -1991,7 +2220,7 @@ diff.whitespace_button=Espace
 diff.whitespace_show_everything=Afficher toutes les modifications
 diff.whitespace_ignore_all_whitespace=Ignorer les espaces lors de la comparaison des lignes
 diff.whitespace_ignore_amount_changes=Ignorer les changements quand ce sont des espaces
-diff.whitespace_ignore_at_eol=Ignorer les changements quand ce sont des espaces à la fin de la ligne
+diff.whitespace_ignore_at_eol=Ignorer les blancs en fin de ligne
 diff.stats_desc=<strong> %d fichiers modifiés</strong> avec <strong>%d ajouts</strong> et <strong>%d suppressions</strong>
 diff.stats_desc_file=%d modifications: %d ajouts et %d suppressions
 diff.bin=BIN
@@ -2004,7 +2233,11 @@ diff.file_image_height=Hauteur
 diff.file_byte_size=Taille
 diff.file_suppressed=Fichier diff supprimé car celui-ci est trop grand
 diff.file_suppressed_line_too_long=Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
+diff.too_many_files=Certains fichiers ne sont pas affichés car ce diff contient trop de modifications
+diff.show_more=Voir plus
+diff.load=Voir la Diff
 diff.generated=générée
+diff.vendored=externe
 diff.comment.placeholder=Laisser un commentaire
 diff.comment.markdown_info=Mise en page avec markdown est prise en charge.
 diff.comment.add_single_comment=Ajouter un commentaire
@@ -2016,12 +2249,17 @@ diff.review.header=Soumettre une révision
 diff.review.placeholder=Commentaire de révision
 diff.review.comment=Commenter
 diff.review.approve=Approuver
+diff.review.self_reject=Les auteurs d’une demande d’ajout ne peuvent pas demander des changements sur leur propre demande d’ajout
 diff.review.reject=Demander des changements
+diff.review.self_approve=Les auteurs d’une demande d’ajout ne peuvent pas approuver leur propre demande d’ajout
 diff.committed_by=commité par
 diff.protected=Protégé
 diff.image.side_by_side=Côte à côte
 diff.image.swipe=Glisser
 diff.image.overlay=Superposition
+diff.has_escaped=Cette ligne contient des caractères Unicode cachés
+diff.show_file_tree=Afficher l’arborescence des fichiers
+diff.hide_file_tree=Masquer l’arborescence des fichiers
 
 releases.desc=Suivi des versions et des téléchargements.
 release.releases=Versions
@@ -2044,12 +2282,13 @@ release.target=Cible
 release.tag_helper=Choisissez une étiquette existante ou créez une nouvelle étiquette.
 release.tag_helper_new=Nouvelle étiquette. Cette étiquette sera créée à partir de la cible.
 release.tag_helper_existing=Étiquette existante.
+release.title_empty=Le titre ne peut pas être vide.
 release.prerelease_desc=Marquer comme pré-version
 release.prerelease_helper=Marquer cette version comme impropre à la production.
 release.cancel=Annuler
 release.publish=Publier
 release.save_draft=Sauvegarder le Brouillon
-release.edit_release=Modifier la version
+release.edit_release=Actualiser la version
 release.delete_release=Supprimer cette version
 release.delete_tag=Supprimer l'étiquette
 release.deletion=Supprimer cette version
@@ -2069,13 +2308,25 @@ release.tags_for=Étiquettes pour %s
 
 branch.name=Nom de la branche
 branch.search=Rechercher des branches
+branch.already_exists=Une branche nommée "%s" existe déjà.
 branch.delete_head=Supprimer
+branch.delete=`Supprimer la branche "%s"`
 branch.delete_html=Supprimer la branche
-branch.delete_desc=Supprimer une branche est permanent. Cela <strong>NE PEUVENT</strong> être annulées. Continuer ?
+branch.delete_desc=Supprimer une branche est permanent. Cette action est <strong>IRRÉVERSIBLE</strong>. Continuer ?
+branch.deletion_success=La branche "%s" a été supprimée.
+branch.deletion_failed=Impossible de supprimer la branche "%s".
+branch.delete_branch_has_new_commits=La branche "%s" ne peut être supprimé, car de nouvelles révisions ont été ajoutées après la fusion.
 branch.create_branch=Créer la branche <strong>%s</strong>
 branch.create_from=`de "%s"`
+branch.create_success=La branche "%s" a été créée.
+branch.branch_already_exists=La branche "%s" existe déjà dans ce dépôt.
+branch.branch_name_conflict=Le nom de la branche "%s" entre en conflit avec la branche déjà existante "%s".
 branch.tag_collision=La branche "%s" ne peut être créée car une étiquette avec un nom identique existe déjà dans le dépôt.
 branch.deleted_by=Supprimée par %s
+branch.restore_success=La branche "%s" a été restaurée.
+branch.restore_failed=Impossible de restaurer la branche "%s".
+branch.protected_deletion_failed=La branche "%s" est protégé. Elle ne peut pas être supprimée.
+branch.default_deletion_failed=La branche "%s" est la branche par défaut. Elle ne peut pas être supprimée.
 branch.restore=`Restaurer la branche "%s"`
 branch.download=`Télécharger la branche "%s"`
 branch.included_desc=Cette branche fait partie de la branche par défaut
@@ -2111,7 +2362,7 @@ org_name_holder=Nom de l'organisation
 org_full_name_holder=Nom complet de l'organisation
 org_name_helper=Le nom de l'organisation doit être court et mémorable.
 create_org=Créer une organisation
-repo_updated=Mis à jour
+repo_updated=Actualisé
 members=Membres
 teams=Équipes
 code=Code
@@ -2129,6 +2380,7 @@ team_permission_desc=Autorisation
 team_unit_desc=Permettre l’accès aux Sections du dépôt
 team_unit_disabled=(Désactivé)
 
+form.name_reserved=Le nom d'organisation "%s" est réservé.
 form.name_pattern_not_allowed=Le motif "%s" n'est pas autorisé dans un nom d'organisation.
 form.create_org_not_allowed=Vous n'êtes pas autorisé à créer une organisation.
 
@@ -2146,14 +2398,14 @@ settings.visibility.limited_shortname=Limité
 settings.visibility.private=Privé (Visible uniquement aux membres de l’organisation)
 settings.visibility.private_shortname=Privé
 
-settings.update_settings=Valider
+settings.update_settings=Appliquer les paramètres
 settings.update_setting_success=Les paramètres de l'organisation ont été mis à jour.
 settings.change_orgname_prompt=NB: changer le nom de l'organisation changera aussi son URL.
 settings.change_orgname_redirect_prompt=L'ancien nom d'utilisateur redirigera jusqu'à ce qu'il soit réclamé.
 settings.update_avatar_success=L'avatar de l'organisation a été mis à jour.
 settings.delete=Supprimer l'organisation
 settings.delete_account=Supprimer cette organisation
-settings.delete_prompt=Cette organisation sera supprimée définitivement. Cette opération est <strong>IRRÉVERSIBLE</strong> !
+settings.delete_prompt=Cette organisation sera supprimée définitivement. Cette action est <strong>IRRÉVERSIBLE</strong> !
 settings.confirm_delete_account=Confirmez la suppression
 settings.delete_org_title=Supprimer l'organisation
 settings.delete_org_desc=Cette organisation sera supprimée définitivement. Voulez-vous continuer ?
@@ -2195,7 +2447,7 @@ teams.no_desc=Aucune description
 teams.settings=Paramètres
 teams.owners_permission_desc=Les propriétaires ont un accès complet à <strong>tous les dépôts</strong> et disposent <strong> d'un accès administrateur</strong> de l'organisation.
 teams.members=Membres de L'Équipe
-teams.update_settings=Valider
+teams.update_settings=Appliquer les paramètres
 teams.delete_team=Supprimer l'équipe
 teams.add_team_member=Ajouter un Membre
 teams.invite_team_member=Inviter à %s
@@ -2270,7 +2522,7 @@ dashboard.delete_repo_archives.started=Tâche de suppression de toutes les archi
 dashboard.delete_missing_repos=Supprimer tous les dépôts dont les fichiers Git sont manquants
 dashboard.delete_missing_repos.started=Tâche de suppression de tous les dépôts sans fichiers Git démarrée.
 dashboard.delete_generated_repository_avatars=Supprimer les avatars de dépôt générés
-dashboard.update_mirrors=Mettre à jour les miroirs
+dashboard.update_mirrors=Actualiser les miroirs
 dashboard.repo_health_check=Vérifier l'état de santé de tous les dépôts
 dashboard.check_repo_stats=Voir les statistiques de tous les dépôts
 dashboard.archive_cleanup=Supprimer les archives des vieux dépôts
@@ -2364,8 +2616,15 @@ users.reset_2fa=Réinitialiser l'authentification à deux facteurs
 users.list_status_filter.menu_text=Filtrer
 users.list_status_filter.reset=Réinitialiser
 users.list_status_filter.is_active=Actif
+users.list_status_filter.not_active=Inactif
 users.list_status_filter.is_admin=Administrateur
+users.list_status_filter.not_admin=Non Administrateur
 users.list_status_filter.is_restricted=Restreint
+users.list_status_filter.not_restricted=Non restraint
+users.list_status_filter.is_prohibit_login=Interdit de connexion
+users.list_status_filter.not_prohibit_login=Autorisé à se connecter
+users.list_status_filter.is_2fa_enabled=2FA Activé
+users.list_status_filter.not_2fa_enabled=2FA désactivé
 
 emails.email_manage_panel=Gestion des courriels des utilisateurs
 emails.primary=Principale
@@ -2397,13 +2656,22 @@ repos.forks=Bifurcations
 repos.issues=Tickets
 repos.size=Taille
 
+packages.package_manage_panel=Gestion des paquets
+packages.total_size=Taille totale : %s
+packages.unreferenced_size=Taille non référencée : %s
 packages.owner=Propriétaire
+packages.creator=Créateur
 packages.name=Nom
+packages.version=Version
 packages.type=Type
 packages.repository=Dépôt
 packages.size=Taille
 packages.published=Publiés
 
+defaulthooks=Déclencheurs web par défaut
+defaulthooks.desc=Les Déclencheurs Web font des requêtes HTTP POST à un serveur lorsque certains événements Gitea se produisent. Les Déclencheurs déclarés ici seront prédéfinit dans tous nouveaux dépôts. Consultez le <a target="_blank" rel="noopener" href="https://docs.gitea.io/fr-fr/webhooks/">guide sur les Déclencheurs Web</a>.
+defaulthooks.add_webhook=Ajouter un déclencheur web par défaut
+defaulthooks.update_webhook=Mettre à jour le déclencheur web par défaut
 
 systemhooks=Rappels système
 systemhooks.desc=Les Webhooks font automatiquement des requêtes HTTP POST à un serveur lorsque certains événements Gitea se déclenchent. Les Webhooks définis ici agiront sur tous les dépots du système, donc veuillez prendre en compte les implications en termes de performances que cela peut avoir. Lire la suite dans le <a target="_blank" rel="noopener noreferrer" href="%s">guide des Webhooks</a>.
@@ -2433,6 +2701,7 @@ auths.attribute_name=Attribut prénom
 auths.attribute_surname=Attribut nom de famille
 auths.attribute_mail=Attribut e-mail
 auths.attribute_ssh_public_key=Attribut clef SSH publique
+auths.attribute_avatar=Attribut de l'avatar
 auths.attributes_in_bind=Aller chercher les attributs dans le contexte de liaison DN
 auths.allow_deactivate_all=Permettre à un résultat de recherche vide de désactiver tous les utilisateurs
 auths.use_paged_search=Utiliser la recherche paginée
@@ -2441,6 +2710,8 @@ auths.filter=Filtre utilisateur
 auths.admin_filter=Filtre administrateur
 auths.restricted_filter=Filtre restrictif
 auths.restricted_filter_helper=Laisser vide pour ne définir aucun utilisateur comme restreint. Utilisez un astérisque ('*') pour définir tous les utilisateurs qui ne correspondent pas au filtre Admin comme restreint.
+auths.map_group_to_team_removal=Retirer les utilisateurs des équipes synchronisées si l'utilisateur n'appartient pas au groupe LDAP correspondant
+auths.enable_ldap_groups=Activer les groupes LDAP
 auths.ms_ad_sa=Rechercher les attributs MS AD
 auths.smtp_auth=Type d'authentification SMTP
 auths.smtphost=Hôte SMTP
@@ -2449,9 +2720,14 @@ auths.allowed_domains=Domaines autorisés
 auths.allowed_domains_helper=Laisser ce champ vide autorise tous les domaines. Separez les domaines multiples avec une virgule (",").
 auths.skip_tls_verify=Ne pas vérifier TLS
 auths.force_smtps=Forcer SMTPS
+auths.force_smtps_helper=SMTPS est toujours utilisé sur le port 465. Définissez ceci pour forcer SMTPS sur d'autres ports. (STARTTLS sera utilisé sur d'autres ports si cela est supporté par l'hôte.)
 auths.helo_hostname=Nom d’hôte HELO
+auths.helo_hostname_helper=Nom d’hôte envoyé avec HELO. Laisser vide pour envoyer le nom d’hôte actuel.
+auths.disable_helo=Désactiver HELO
 auths.pam_service_name=Nom du Service PAM
+auths.pam_email_domain=Domaine de messagerie PAM (optionnel)
 auths.oauth2_provider=Fournisseur OAuth2
+auths.oauth2_icon_url=URL de l'icône
 auths.oauth2_clientID=ID du client (clé)
 auths.oauth2_clientSecret=Secret du client
 auths.openIdConnectAutoDiscoveryURL=URL de découverte OpenID Connect
@@ -2460,6 +2736,10 @@ auths.oauth2_tokenURL=URL du jeton
 auths.oauth2_authURL=URL d'autorisation
 auths.oauth2_profileURL=URL du profil
 auths.oauth2_emailURL=URL de l'e-mail
+auths.skip_local_two_fa=Ignorer l’authentification à deux facteurs locale
+auths.skip_local_two_fa_helper=Laisser indéfini signifie que les utilisateurs locaux avec l’authentification à deux facteurs activée devront tout de même s’y soumettre pour se connecter
+auths.oauth2_tenant=Locataire
+auths.oauth2_required_claim_name_helper=Définissez ce nom pour restreindre la connexion depuis cette source aux utilisateurs ayant une réclamation avec ce nom
 auths.enable_auto_register=Connexion Automatique
 auths.sspi_auto_create_users=Créer automatiquement des utilisateurs
 auths.sspi_auto_create_users_helper=Autoriser la méthode d'authentification SSPI à créer automatiquement de nouveaux comptes pour les utilisateurs qui se connectent pour la première fois
@@ -2886,6 +3166,8 @@ maven.documentation=Pour plus d'informations sur le registre Maven, voir <a targ
 nuget.registry=Configurer ce registre à partir d'un terminal :
 nuget.documentation=Pour plus d'informations sur le registre NuGet, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/nuget/">la documentation</a>.
 nuget.dependency.framework=Cadriciel cible
+npm.registry=Configurez ce registre dans le fichier <code>.npmrc</code> de votre projet :
+npm.install=Pour installer le paquet en utilisant npm, exécutez la commande suivante :
 npm.install2=ou ajoutez-le au fichier package.json :
 npm.documentation=Pour plus d'informations sur le registre npm, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/npm/">la documentation</a>.
 npm.dependencies=Dépendances
@@ -2893,9 +3175,12 @@ npm.dependencies.development=Dépendances de développement
 npm.dependencies.peer=Dépendances de pairs
 npm.dependencies.optional=Dépendances optionnelles
 npm.details.tag=Balise
+pub.install=Pour installer le paquet en utilisant Dart, exécutez la commande suivante :
 pub.documentation=Pour davantage d'informations sur le registre Pub, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/pub/">la documentation</a>.
 pypi.requires=Nécessite Python
+pypi.install=Pour installer le paquet en utilisant pip, exécutez la commande suivante :
 pypi.documentation=Pour plus d'informations sur le registre PyPI, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/pypi/">la documentation</a>.
+rubygems.install=Pour installer le paquet en utilisant gem, exécutez la commande suivante :
 rubygems.install2=ou ajoutez-le au Gemfile :
 rubygems.dependencies.runtime=Dépendances d'exécution
 rubygems.dependencies.development=Dépendances de développement
@@ -2906,13 +3191,17 @@ swift.registry=Configurez ce registre à partir d'un terminal :
 swift.install=Ajoutez le paquet dans votre fichier <code>Package.swift</code>:
 swift.install2=et exécutez la commande suivante :
 swift.documentation=Pour plus d'informations sur le registre Swift, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/swift/">la documentation</a>.
+vagrant.install=Pour ajouter une machine Vagrant, exécutez la commande suivante :
 vagrant.documentation=Pour plus d'informations sur le registre Vagrant, voir <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/fr-fr/packages/vagrant/">la documentation</a>.
 settings.link=Lier ce paquet à un dépôt
+settings.link.description=Si vous liez un paquet à dépôt, le paquet sera inclus dans sa liste des paquets.
 settings.link.select=Sélectionner un dépôt
 settings.link.button=Actualiser le lien du dépôt
 settings.link.success=Le lien du dépôt a été mis à jour avec succès.
 settings.link.error=Impossible de mettre à jour le lien du dépôt.
 settings.delete=Supprimer le paquet
+settings.delete.description=Supprimer un paquet est permanent et irréversible.
+settings.delete.notice=Vous êtes sur le point de supprimer %s (%s). Cette opération est irréversible, êtes-vous sûr ?
 settings.delete.success=Le paquet a été supprimé.
 settings.delete.error=Impossible de supprimer le paquet.
 owner.settings.cargo.title=Index du Registre Cargo
@@ -2956,10 +3245,11 @@ value=Valeur
 name=Nom
 creation=Ajouter un secret
 creation.name_placeholder=Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par GITEA_ ou GITHUB_
+creation.value_placeholder=Entrez n'importe quoi. Les blancs cernant seront taillés.
 creation.success=Le secret "%s" a été ajouté.
 creation.failed=Impossible d'ajouter le secret.
 deletion=Supprimer le secret
-deletion.description=La suppression d'un secret est permanente et ne peut pas être annulée. Continuer ?
+deletion.description=La suppression d'un secret est permanente et irréversible. Continuer ?
 deletion.success=Le secret a été supprimé.
 deletion.failed=Impossible de supprimer le secret.
 
@@ -2990,7 +3280,7 @@ runners.labels=Étiquettes
 runners.last_online=Dernière fois en ligne
 runners.agent_labels=Étiquettes de l'agent
 runners.custom_labels=Étiquettes personnalisées
-runners.custom_labels_helper=Les libellés personnalisées sont des libellés ajoutées manuellement par un administrateur. Ils sont séparés par des virgules et les blancs les cernant seront taillés.
+runners.custom_labels_helper=Les libellés personnalisés sont des libellés ajoutés manuellement par un administrateur. Ils sont séparés par des virgules et les blancs les cernant seront taillés.
 runners.runner_title=Exécuteur
 runners.task_list=Tâches récentes sur cet exécuteur
 runners.task_list.run=Exécuter
@@ -2999,9 +3289,9 @@ runners.task_list.repository=Dépôt
 runners.task_list.commit=Commit
 runners.task_list.done_at=Fait à
 runners.edit_runner=Éditer l'Exécuteur
-runners.update_runner=Mettre à jour les modifications
+runners.update_runner=Appliquer les modifications
 runners.update_runner_success=Exécuteur mis à jour avec succès
-runners.update_runner_failed=Impossible de mettre à jour l'Exécuteur
+runners.update_runner_failed=Impossible d'actualiser l'Exécuteur
 runners.delete_runner=Supprimer cet exécuteur
 runners.delete_runner_success=Exécuteur supprimé avec succès
 runners.delete_runner_failed=Impossible de supprimer l'Exécuteur