diff --git a/src/nginxconfig/i18n/fr/templates/callouts/contribute.js b/src/nginxconfig/i18n/fr/templates/callouts/contribute.js
index 75a9e75..a1e0bfb 100644
--- a/src/nginxconfig/i18n/fr/templates/callouts/contribute.js
+++ b/src/nginxconfig/i18n/fr/templates/callouts/contribute.js
@@ -25,6 +25,6 @@ THE SOFTWARE.
 */
 
 export default {
-    wantToContributeChanges: '👋 Want to request new features, contribute changes, or translate the tool into a new language?', // TODO: translate
-    getInvolvedOnGitHub: 'Get involved on GitHub', // TODO: translate
+    wantToContributeChanges: '👋 Vous souhaitez demander de nouvelles fonctionnalités, apporter des modifications, ou traduire l\'outil dans une nouvelle langue?',
+    getInvolvedOnGitHub: 'Participez sur GitHub',
 };
diff --git a/src/nginxconfig/i18n/fr/templates/callouts/droplet.js b/src/nginxconfig/i18n/fr/templates/callouts/droplet.js
index 676e584..cd12389 100644
--- a/src/nginxconfig/i18n/fr/templates/callouts/droplet.js
+++ b/src/nginxconfig/i18n/fr/templates/callouts/droplet.js
@@ -25,6 +25,6 @@ THE SOFTWARE.
 */
 
 export default {
-    lookingForAPlaceToDeploy: '👋 Looking for a place to deploy your new configuration?', // TODO: translate
-    tryOutDigitalOceansDroplet: 'Try out DigitalOcean\'s LEMP Droplet with NGINX', // TODO: translate
+    lookingForAPlaceToDeploy: '👋 Vous cherchez à déployer votre nouvelle configuration?',
+    tryOutDigitalOceansDroplet: 'Essayez les Droplets LEMP de DigitalOcean avec NGINX',
 };
diff --git a/src/nginxconfig/i18n/fr/templates/domain_sections/https.js b/src/nginxconfig/i18n/fr/templates/domain_sections/https.js
index 9c6cb6e..76c55e9 100644
--- a/src/nginxconfig/i18n/fr/templates/domain_sections/https.js
+++ b/src/nginxconfig/i18n/fr/templates/domain_sections/https.js
@@ -40,9 +40,9 @@ export default {
     certificationType: 'Type de certification',
     customCertificate: 'Certificat personnalisé',
     letsEncryptEmail: `E-mail ${common.letsEncrypt}`,
-    http3IsANonStandardModule: 'HTTP/3 isn\'t a standard NGINX module, check the ', // TODO: translate
-    http3NginxQuicReadme: 'NGINX QUIC readme', // TODO: translate
-    http3OrThe: ' or the ', // TODO: translate
-    http3CloudflareQuicheProject: 'Cloudflare quiche project', // TODO: translate
-    http3ForBuildingNginxWithHttp3: ' for how to build NGINX with HTTP/3!', // TODO: translate
+    http3IsANonStandardModule: 'HTTP/3 n\'est pas un module standard de NGINX, veuillez lire ',
+    http3NginxQuicReadme: 'le Readme de NGINX QUIC',
+    http3OrThe: ' ou le ',
+    http3CloudflareQuicheProject: 'projet Cloudflare quiche',
+    http3ForBuildingNginxWithHttp3: ' pour compiler NGINX avec le support HTTP/3!',
 };
diff --git a/src/nginxconfig/i18n/fr/templates/domain_sections/php.js b/src/nginxconfig/i18n/fr/templates/domain_sections/php.js
index 7bf0f51..8c9ea20 100644
--- a/src/nginxconfig/i18n/fr/templates/domain_sections/php.js
+++ b/src/nginxconfig/i18n/fr/templates/domain_sections/php.js
@@ -51,6 +51,6 @@ export default {
     php74Socket: 'Socket 7.4',
     php80Socket: 'Socket 8.0',
     phpSocket: 'Socket PHP',
-    custom: 'Custom', // TODO: translate
+    custom: 'Custom',
     disabled: 'Désactivé',
 };
diff --git a/src/nginxconfig/i18n/fr/templates/global_sections/https.js b/src/nginxconfig/i18n/fr/templates/global_sections/https.js
index 03841e7..2357623 100644
--- a/src/nginxconfig/i18n/fr/templates/global_sections/https.js
+++ b/src/nginxconfig/i18n/fr/templates/global_sections/https.js
@@ -33,8 +33,8 @@ const ipv6 = 'IPv6';
 export default {
     sslProfile: `Profil ${common.ssl}`,
     httpsMustBeEnabledOnOneSite: `${common.https} doit être activé sur au moins un site pour configurer les paramètres ${common.https} globaux.`,
-    portReuse: 'Reuseport', // TODO: translate
-    enableReuseOfPort: `${common.enable} reuseport to generate a listening socket per worker`, // TODO: translate
+    portReuse: 'Reuseport',
+    enableReuseOfPort: `${common.enable} reuseport pour générer un socket passif par worker`,
     ocspDnsResolvers: 'Résolveur DNS OCSP',
     cloudflareResolver: 'Résolveur Cloudflare',
     googlePublicDns: 'Google Public DNS',
diff --git a/src/nginxconfig/i18n/fr/templates/global_sections/performance.js b/src/nginxconfig/i18n/fr/templates/global_sections/performance.js
index aeb51ec..cffe6ae 100644
--- a/src/nginxconfig/i18n/fr/templates/global_sections/performance.js
+++ b/src/nginxconfig/i18n/fr/templates/global_sections/performance.js
@@ -31,9 +31,9 @@ export default {
     enableGzipCompression: `${common.enable} la compression gzip`,
     brotliCompression: 'Compression Brotli',
     enableBrotliCompression: `${common.enable} la compression brotli`,
-    brotliIsANonStandardModule: 'Brotli isn\'t a standard NGINX module, check the ', // TODO: translate
-    brotliGoogleNgxBrotliProject: 'Google ngx_brotli project', // TODO: translate
-    brotliForBuildingNginxWithBrotli: ' for how to build NGINX with Brotli!', // TODO: translate
+    brotliIsANonStandardModule: 'Brotli n\'est pas un module standard de NGINX, veuillez lire le ',
+    brotliGoogleNgxBrotliProject: 'projet Google ngx_brotli',
+    brotliForBuildingNginxWithBrotli: ' pour compiler NGINX avec le support Brotli!',
     expirationForAssets: 'Expiration des assets',
     expirationForMedia: 'Expiration des medias',
     expirationForSvgs: 'Expiration des SVGs',
diff --git a/src/nginxconfig/i18n/fr/templates/global_sections/reverse_proxy.js b/src/nginxconfig/i18n/fr/templates/global_sections/reverse_proxy.js
index e249207..f0ac2aa 100644
--- a/src/nginxconfig/i18n/fr/templates/global_sections/reverse_proxy.js
+++ b/src/nginxconfig/i18n/fr/templates/global_sections/reverse_proxy.js
@@ -26,11 +26,11 @@ THE SOFTWARE.
 
 import common from '../../common';
 
-const legacyXForwarded = 'Legacy X-Forwarded-* headers'; // TODO: translate
+const legacyXForwarded = 'En-têtes dépréciés X-Forwarded-*';
 
 export default {
     reverseProxyMustBeEnabledOnOneSite: `Le ${common.reverseProxyLower} doit être activé sur au moins un site pour configurer les paramètres globaux du ${common.reverseProxyLower}.`,
     seconds: 'secondes',
-    passOn: `${legacyXForwarded} passed on`, // TODO: translate
-    remove: `${legacyXForwarded} actively removed`, // TODO: translate
+    passOn: `${legacyXForwarded} transmis`,
+    remove: `${legacyXForwarded} supprimés`,
 };