diff --git a/data/locale/fr-FR.ini b/data/locale/fr-FR.ini
index 7b050800..51b9ac06 100644
--- a/data/locale/fr-FR.ini
+++ b/data/locale/fr-FR.ini
@@ -1,20 +1,181 @@
+Advanced="Options Avancées"
+Channel.Red="Rouge"
+Channel.Green="Vert"
+Channel.Blue="Bleu"
+Channel.Alpha="Alpha"
+FileType.Image="Image"
+FileType.Images="Images"
+FileType.Video="Vidéo"
+FileType.Videos="Vidéos"
+FileType.Sound="Son"
+FileType.Sounds="Sons"
+FileType.Effect="Effet"
+FileType.Effects="Effets"
+SourceType.Source="Source"
+SourceType.Scene="Scène"
+Alignment.Center="Centrer"
+Alignment.Left="Gauche"
+Alignment.Right="Droite"
+Alignment.Top="En haut"
+Alignment.Bottom="En bas"
+State.Disabled="Désactivé"
+State.Enabled="Activé"
+State.Manual="Manuel"
+State.Automatic="Automatique"
+State.Default="Défaut"
+
+UI.Menu="StreamFX"
+UI.Menu.Website="Visiter le site Web"
+UI.Menu.Discord="Rejoindre le Discord"
+UI.Menu.Github="Code Source sur Github"
+UI.Menu.ReportIssue="Signaler un Bug ou un Plantage"
+UI.Menu.RequestHelp="Demande d'Aide && Support"
+UI.Menu.About="À propos de StreamFX"
+UI.About.Title="À propos de StreamFX"
+UI.About.Text="
StreamFX est rendu possible par tous les supporteurs sur Patreon, sur Github Sponsors, et toute personne faisant un don via PayPal. Des remerciements supplémentaires vont à tous les traducteurs qui ont aidé à la traduction sur Crowdin. Vous êtes tous incroyables !
"
+UI.About.Role.Contributor="Contributeur"
+UI.About.Role.Translator="Traducteur"
+UI.About.Role.Family="Famille de %s"
+UI.About.Role.Friend="Ami de %s"
+UI.About.Role.Supporter.Github="Sponsor Github"
+UI.About.Role.Supporter.Patreon="Supporteur Patreon"
+UI.About.Role.Supporter.Twitch="Abonné Twitch"
+UI.About.Role.Creator="Créateur de contenu"
+UI.About.Version="Version :"
+
+UI.Updater.Dialog.Title="StreamFX Version %s est maintenant disponible !"
+UI.Updater.Dialog.Text="Une nouvelle version de StreamFX est disponible au téléchargement."
+UI.Updater.Dialog.Version.Current="Version Actuelle :"
+UI.Updater.Dialog.Version.Latest="Dernière Version :"
+UI.Updater.Dialog.Button.Ok="Ouvrir la Page de Téléchargement"
+UI.Updater.Dialog.Button.Cancel="Me rappeler plus tard"
+UI.Updater.GitHubPermission.Title="StreamFX nécessite votre autorisation pour se connecter à GitHub !"
+UI.Updater.GitHubPermission.Text="Afin de fournir une vérification manuelle ou automatique des mises à jour, StreamFX s'appuie sur l'API GitHub pour récupérer les dernières informations.
Veuillez lire la Déclaration de Confidentialité de Github, et cliquez sur « OK » si vous êtes d'accord, ou « Annuler » si vous n'êtes pas d'accord."
+UI.Updater.Menu.CheckForUpdates="Vérifier les Mises à jour"
+UI.Updater.Menu.CheckForUpdates.Automatically="Vérifier automatiquement les Mises à jour"
+UI.Updater.Menu.Channel="Canal de Mise à jour"
+UI.Updater.Menu.Channel.Release="Stable"
+
+Blur.Type.Gaussian="Gaussien"
+Blur.Type.GaussianLinear="Linéaire Gaussien"
+Blur.Type.DualFiltering="Filtrage Double"
+Blur.Type.DualFiltering.Description="La méthode de \"Filtrage Double\" est une approximation du flou \"Gaussien\", qui obtient une image identique à environ 95% du flou \"Gaussien\", mais dispose de moins de fonctionnalités. Son impact sur les performances devrait être minimal, ce qui le rend parfait pour des flous sur de grandes zone."
+Blur.Subtype.Area="Zone"
+Blur.Subtype.Area.Description="Le flou de zone est la méthode par défaut pour les flous, et floute à la fois horizontalement et verticalement.\nL'effet peut être comparé à un objet qui est hors de la mise au point d'une caméra."
+Blur.Subtype.Directional="Directionnel"
+Blur.Subtype.Directional.Description="Le flou directionnel permet de contrôler la direction exacte dans laquelle le flou devrait se produire.\nL'effet est similaire à une caméra en mouvement, ou à un objet en mouvement."
+Blur.Subtype.Rotational="Rotationnel"
+Blur.Subtype.Rotational.Description="Le flou rotatif floute dans un cercle autour d'un point central.\nL'effet est très similaire au fait de faire tourner une caméra autour du point central de son capteur."
+Blur.Subtype.Zoom="Zoom"
+Blur.Subtype.Zoom.Description="Le flou du zoom créée un flou dans une ligne vers un point central.\nL'effet est similaire à déplacer rapidement une caméra vers l'avant ou vers l'arrière d'un sujet."
+
+MipGenerator.Point="Point"
+MipGenerator.Linear="Linéaire"
+MipGenerator.Sharpen="Netteté"
+MipGenerator.Smoothen="Lissage"
+MipGenerator.Bicubic="Bicubique"
+MipGenerator.Lanczos="Lanczos"
+MipGenerator.Intensity="Intensité"
+MipGenerator.Intensity.Description="Intensité du générateur."
+
+Shader.Refresh="Rafraîchir les Options et les Paramètres"
+Shader.Shader.File="Fichier"
+Shader.Shader.Size.Width="Largeur"
+Shader.Shader.Size.Height="Hauteur"
+Shader.Shader.Seed="Graine de Randomisation"
+Shader.Shader.Seed.Description="Graine utilisée pour les valeurs aléatoires par instance, par activation et par image.\nLa même graine produira toujours des résultats identiques si le même nombre de passages a été effectué."
+
+Filter.Blur.Type="Type"
+Filter.Blur.Subtype="Sous-type"
+Filter.Blur.Angle="Angle (Degrés)"
+Filter.Blur.Center.X.Description="Le centre horizontal de l'effet de flou, en pourcentage."
+Filter.Blur.Center.Y="Centre (Y) (Pourcent)"
+Filter.Blur.Center.Y.Description="Le centre vertical de l'effet de flou, en pourcentage."
+Filter.Blur.Mask="Appliquer un Masque"
+Filter.Blur.Mask.Description="Appliquez un masque à la zone qui doit être floue, ce qui permet un contrôle plus important sur la zone floue."
+Filter.Blur.Mask.Type="Type de Masque"
+Filter.Blur.Mask.Type.Description="Quel type de masque voulez-vous appliquer ?"
+Filter.Blur.Mask.Type.Image="Image"
+Filter.Blur.Mask.Type.Source="Source"
+Filter.Blur.Mask.Region.Left="Bord Gauche"
+Filter.Blur.Mask.Region.Top="Bord Supérieur"
+Filter.Blur.Mask.Region.Right="Bord Droit"
+Filter.Blur.Mask.Region.Bottom="Bord Inférieur"
+Filter.Blur.Mask.Image="Masque d'Image"
+Filter.Blur.Mask.Image.Description="Image à utiliser pour le masque."
+Filter.Blur.Mask.Source="Masque Source"
+Filter.Blur.Mask.Source.Description="Source a utilisé comme masque."
+Filter.Blur.Mask.Color.Description="Filtrer le masque par cette couleur avant de l'appliquer."
+Filter.Blur.Mask.Multiplier="Multiplicateur du Masque"
+Filter.Blur.Mask.Multiplier.Description="Multiplie la valeur du masque final par cette valeur."
+
+Filter.ColorGrade.Gamma="Gamma"
+Filter.ColorGrade.Offset="Décalage"
+Filter.ColorGrade.Tint.Mode.Linear="Linéaire"
+
+Filter.Displacement.File="Fichier"
+
+Filter.DynamicMask.Channel.Multiplier="Multiplicateur"
+
+Filter.Nvidia.FaceTracking.ROI.Zoom="Zoom"
+Filter.NVidia.FaceTracking.ROI.Offset="Décalage"
+Filter.NVidia.FaceTracking.ROI.Offset.X="X"
+Filter.Nvidia.FaceTracking.ROI.Offset.Y="Y"
+Filter.Transform.Position="Position"
+Filter.Transform.Position.X="X"
+Filter.Transform.Position.Y="Y"
+Filter.Transform.Position.Z="Z"
+Filter.Transform.Scale.X="X"
+Filter.Transform.Scale.Y="Y"
+Filter.Transform.Shear.X="X"
+Filter.Transform.Shear.Y="Y"
+Filter.Transform.Rotation="Rotation"
+Source.Mirror.Source="Source"
+Codec.H264="H264"
+Codec.H264.Profile="Profil"
+Codec.H264.Level="Niveau"
+Codec.HEVC="HEVC"
+Codec.HEVC.Profile="Profil"
+Codec.HEVC.Level="Niveau"
+Codec.ProRes.Profile="Profil"
+FFmpegEncoder="Options FFmpeg"
+FFmpegEncoder.Suffix=" (via FFmpeg)"
+FFmpegEncoder.CustomSettings="Paramètres Personnalisés"
+FFmpegEncoder.KeyFrames.IntervalType.Frames="Images"
+FFmpegEncoder.KeyFrames.IntervalType.Seconds="Secondes"
+FFmpegEncoder.KeyFrames.Interval="Intervalle"
+FFmpegEncoder.AMF.Preset="Préréglage"
+FFmpegEncoder.AMF.Preset.Description="Le préréglage à utiliser pour l'encodage, qui définit les valeurs internes dans le pilote pour l'encodage.\nLes noms correspondent approximativement à la vitesse d'encodage attendue, mais la qualité varie.\nIl est entièrement possible d'obtenir une meilleure qualité avec Balanced qu'avec Qualité à bas débit."
+FFmpegEncoder.AMF.Preset.Speed="Vitesse"
+FFmpegEncoder.AMF.Preset.Balanced="Équilibré"
+FFmpegEncoder.AMF.Preset.Quality="Qualité"
+FFmpegEncoder.AMF.RateControl.Mode="Mode"
+FFmpegEncoder.AMF.RateControl.Mode.VBR_PEAK="Débit Variable (Pic Contraint)"
+FFmpegEncoder.AMF.RateControl.Mode.VBR_LATENCY="Débit Variable (Contrainte de Latence)"
+FFmpegEncoder.AMF.RateControl.FrameSkipping="Saut d'Image"
+FFmpegEncoder.AMF.RateControl.FrameSkipping.Description="Permet le saut d'image pour atteindre le débit cible/maximum."
+FFmpegEncoder.AMF.RateControl.Limits="Limites"
+FFmpegEncoder.AMF.Other="Autres Options"
-
-
-
-
-
-
-
-
-
-
+FFmpegEncoder.NVENC.Preset="Préréglage"
+FFmpegEncoder.NVENC.Preset.Default="Défaut"
+FFmpegEncoder.NVENC.Preset.Slow="Lent"
+FFmpegEncoder.NVENC.Preset.Medium="Moyen"
+FFmpegEncoder.NVENC.Preset.Fast="Rapide"
+FFmpegEncoder.NVENC.Preset.HighPerformance="Haute Performance"
+FFmpegEncoder.NVENC.Preset.HighQuality="Haute Qualité"
+FFmpegEncoder.NVENC.Preset.Lossless="Sans pertes (Lossless)"
+FFmpegEncoder.NVENC.Preset.LosslessHighPerformance="Sans perte (Lossless), Haute Performance"
+FFmpegEncoder.NVENC.RateControl.Mode="Mode"
+FFmpegEncoder.NVENC.RateControl.Limits="Limites"
+FFmpegEncoder.NVENC.Other="Autres Options"
+FFmpegEncoder.NVENC.Other.ZeroLatency="Zéro Latence"