From 15d2afd2cba1c48551af7b1e66c2f06cabeccb17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mah=C3=A9?= Date: Fri, 12 Jan 2024 21:14:02 +0100 Subject: [PATCH] Add French localization (#506) --- Sources/SecretAgent/Localizable.xcstrings | 54 +++ Sources/Secretive.xcodeproj/project.pbxproj | 1 + Sources/Secretive/Localizable.xcstrings | 398 +++++++++++++++++++- 3 files changed, 452 insertions(+), 1 deletion(-) diff --git a/Sources/SecretAgent/Localizable.xcstrings b/Sources/SecretAgent/Localizable.xcstrings index b0a61903..824e04c5 100644 --- a/Sources/SecretAgent/Localizable.xcstrings +++ b/Sources/SecretAgent/Localizable.xcstrings @@ -10,6 +10,12 @@ "state" : "translated", "value" : "Leave Unlocked" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laisser déverrouillé" + } } } }, @@ -22,6 +28,12 @@ "state" : "translated", "value" : "Do Not Unlock" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne pas déverrouiller" + } } } }, @@ -34,6 +46,12 @@ "state" : "translated", "value" : "Using secret %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisation du secret %1$@" + } } } }, @@ -46,6 +64,12 @@ "state" : "translated", "value" : "Signed Request from %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requête signée de %1$@" + } } } }, @@ -58,6 +82,12 @@ "state" : "translated", "value" : "Ignore" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignorer" + } } } }, @@ -70,6 +100,12 @@ "state" : "translated", "value" : "Update" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mettre à jour" + } } } }, @@ -82,6 +118,12 @@ "state" : "translated", "value" : "Critical Security Update - %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour critique de sécurité - %1$@" + } } } }, @@ -94,6 +136,12 @@ "state" : "translated", "value" : "Click to Update" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cliquer pour mettre à jour" + } } } }, @@ -106,6 +154,12 @@ "state" : "translated", "value" : "Update Available - %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour disponible - %1$@" + } } } } diff --git a/Sources/Secretive.xcodeproj/project.pbxproj b/Sources/Secretive.xcodeproj/project.pbxproj index b879f219..eadacb83 100644 --- a/Sources/Secretive.xcodeproj/project.pbxproj +++ b/Sources/Secretive.xcodeproj/project.pbxproj @@ -431,6 +431,7 @@ knownRegions = ( en, Base, + fr, ); mainGroup = 50617D7623FCE48D0099B055; productRefGroup = 50617D8023FCE48E0099B055 /* Products */; diff --git a/Sources/Secretive/Localizable.xcstrings b/Sources/Secretive/Localizable.xcstrings index 2d3b70ce..c273a200 100644 --- a/Sources/Secretive/Localizable.xcstrings +++ b/Sources/Secretive/Localizable.xcstrings @@ -14,6 +14,12 @@ "state" : "translated", "value" : "Secret Agent Is Not Running" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'agent n'est pas actif" + } } } }, @@ -24,6 +30,12 @@ "state" : "translated", "value" : "SecretAgent is a process that runs in the background to sign requests, so you don't need to keep Secretive open all the time.\n\n**You can close Secretive, and everything will still keep working.**" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "SecretAgent est un processus qui s'exécute en arrière-plan pour signer les demandes, de sorte que vous n'ayez pas besoin de garder Secretive ouvert en permanence.\n\n**Vous pouvez fermer Secretive, et tout continuera à fonctionner." + } } } }, @@ -34,6 +46,12 @@ "state" : "translated", "value" : "SecretAgent is Running" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "SecretAgent est actif" + } } } }, @@ -44,6 +62,12 @@ "state" : "translated", "value" : "Agent is Running" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'agent est actif" + } } } }, @@ -54,6 +78,12 @@ "state" : "translated", "value" : "Setup Secretive" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer Secretive" + } } } }, @@ -64,6 +94,12 @@ "state" : "translated", "value" : "Help" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aide" + } } } }, @@ -74,6 +110,12 @@ "state" : "translated", "value" : "New Secret" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nouveau Secret" + } } } }, @@ -84,6 +126,12 @@ "state" : "translated", "value" : "Setup Secretive" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer Secretive" + } } } }, @@ -94,6 +142,12 @@ "state" : "translated", "value" : "Secretive needs to be in your Applications folder to work properly. Please move it and relaunch." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive doit se trouver dans votre dossier Applications pour fonctionner correctement. Veuillez le déplacer et relancer." + } } } }, @@ -104,6 +158,12 @@ "state" : "translated", "value" : "Secretive Is Not in Applications Folder" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive n'est pas dans le dossier Applications" + } } } }, @@ -114,6 +174,12 @@ "state" : "translated", "value" : "Click to Copy" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cliquer pour copier" + } } } }, @@ -124,6 +190,12 @@ "state" : "translated", "value" : "Copied" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copié" + } } } }, @@ -134,6 +206,12 @@ "state" : "translated", "value" : "Cancel" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } } } }, @@ -144,6 +222,12 @@ "state" : "translated", "value" : "Create" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer" + } } } }, @@ -154,6 +238,12 @@ "state" : "translated", "value" : "Name:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nom :" + } } } }, @@ -164,6 +254,12 @@ "state" : "translated", "value" : "Shhhhh" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuuut" + } } } }, @@ -174,6 +270,12 @@ "state" : "translated", "value" : "No authentication is required while your Mac is unlocked, but you will be notified when a secret is used." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucune authentification n'est requise lorsque votre Mac est déverrouillé, mais vous serez averti lorsqu'un secret sera utilisé." + } } } }, @@ -184,6 +286,12 @@ "state" : "translated", "value" : "Notify" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifier" + } } } }, @@ -194,6 +302,12 @@ "state" : "translated", "value" : "You will be required to authenticate using Touch ID, Apple Watch, or password before each use." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous devrez vous authentifier à l'aide de Touch ID, de l'Apple Watch ou d'un mot de passe avant chaque utilisation." + } } } }, @@ -204,6 +318,12 @@ "state" : "translated", "value" : "Require Authentication" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exiger l'authentification" + } } } }, @@ -214,6 +334,12 @@ "state" : "translated", "value" : "Create a New Secret" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créer un nouveau secret" + } } } }, @@ -224,6 +350,12 @@ "state" : "translated", "value" : "Don't Delete" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne pas supprimer" + } } } }, @@ -234,6 +366,12 @@ "state" : "translated", "value" : "Confirm Name:" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Confirmer le nom :" + } } } }, @@ -244,6 +382,12 @@ "state" : "translated", "value" : "Delete" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } } } }, @@ -254,6 +398,12 @@ "state" : "translated", "value" : "If you delete %1$@, you will not be able to recover it. Type \"%2$@\" to confirm." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si vous effacez %1$@, vous ne pourrez pas le récupérer. Tapez \"%2$@\" pour confirmer." + } } } }, @@ -264,6 +414,12 @@ "state" : "translated", "value" : "Delete %1$@?" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer %1$@?" + } } } }, @@ -274,6 +430,12 @@ "state" : "translated", "value" : "Create a new one by clicking here." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Créez-en un nouveau en cliquant ici." + } } } }, @@ -284,6 +446,12 @@ "state" : "translated", "value" : "No Secrets" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun secret" + } } } }, @@ -294,6 +462,12 @@ "state" : "translated", "value" : "No Secrets" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun secret" + } } } }, @@ -304,6 +478,12 @@ "state" : "translated", "value" : "Use your Smart Card's management tool to create a secret." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisez l'outil de gestion de votre carte à puce pour créer un secret." + } } } }, @@ -314,6 +494,12 @@ "state" : "translated", "value" : "Secretive supports EC256, EC384, RSA1024, and RSA2048 keys." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive prend en charge les clés EC256, EC384, RSA1024 et RSA2048." + } } } }, @@ -324,6 +510,12 @@ "state" : "translated", "value" : "No Secrets" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aucun secret" + } } } }, @@ -334,6 +526,12 @@ "state" : "translated", "value" : "Your Mac doesn't have a Secure Enclave, and there's not a compatible Smart Card inserted." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre Mac n'est pas équipé d'une Secure Enclave et aucune carte à puce compatible n'est insérée." + } } } }, @@ -344,6 +542,12 @@ "state" : "translated", "value" : "No Secure Storage Available" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pas de stockage sécurisé disponible" + } } } }, @@ -354,6 +558,12 @@ "state" : "translated", "value" : "If you're looking to add one to your Mac, the YubiKey 5 Series are great." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si vous souhaitez en ajouter une à votre Mac, les YubiKey 5 Series sont parfaites." + } } } }, @@ -364,6 +574,12 @@ "state" : "translated", "value" : "Cancel" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } } } }, @@ -374,6 +590,12 @@ "state" : "translated", "value" : "Rename" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Renommer" + } } } }, @@ -384,6 +606,12 @@ "state" : "translated", "value" : "Type your new name for %1$@ below." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saisissez votre nouveau nom pour %1$@ ci-dessous." + } } } }, @@ -394,6 +622,12 @@ "state" : "translated", "value" : "MD5 Fingerprint" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Empreinte MD5" + } } } }, @@ -404,6 +638,12 @@ "state" : "translated", "value" : "Public Key" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clé publique" + } } } }, @@ -414,6 +654,12 @@ "state" : "translated", "value" : "Public Key Path" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chemin vers la clé publique" + } } } }, @@ -424,6 +670,12 @@ "state" : "translated", "value" : "SHA256 Fingerprint" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Empreinte SHA256" + } } } }, @@ -434,6 +686,12 @@ "state" : "translated", "value" : "Delete" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } } } }, @@ -444,6 +702,12 @@ "state" : "translated", "value" : "Rename" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Renommer" + } } } }, @@ -454,6 +718,12 @@ "state" : "translated", "value" : "This helper app is called **Secret Agent** and you may see it in Activity Manager from time to time." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cette application auxiliaire s'appelle **Secret Agent** et vous pouvez la voir dans le Gestionnaire d'activités de temps en temps." + } } } }, @@ -464,6 +734,12 @@ "state" : "translated", "value" : "Secretive needs to set up a helper app to work properly. It will sign requests from SSH clients in the background, so you don't need to keep the main Secretive app open." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive a besoin de mettre en place une application auxiliaire pour fonctionner correctement. Elle signera les requêtes des clients SSH en arrière-plan, de sorte que vous n'ayez pas besoin de garder l'application principale Secretive ouverte." + } } } }, @@ -474,6 +750,12 @@ "state" : "translated", "value" : "Install" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Installer" + } } } }, @@ -484,6 +766,12 @@ "state" : "translated", "value" : "Setup Secret Agent" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer Secret Agent" + } } } }, @@ -494,6 +782,12 @@ "state" : "translated", "value" : "Add it For Me" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajoutez-le pour moi" + } } } }, @@ -504,6 +798,12 @@ "state" : "translated", "value" : "Add to %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter à %1$@" + } } } }, @@ -514,6 +814,12 @@ "state" : "translated", "value" : "I Added it Manually" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je l'ai ajouté manuellement" + } } } }, @@ -524,6 +830,12 @@ "state" : "translated", "value" : "Add this line to your shell config telling SSH to talk to Secret Agent when it wants to authenticate. Secretive can either do this for you automatically, or you can copy and paste this into your config file." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajoutez cette ligne à votre configuration shell pour indiquer à SSH de communiquer à Secret Agent quand il veut s'authentifier. Secretive peut le faire automatiquement pour vous, ou vous pouvez copier et coller cette ligne dans votre fichier de configuration." + } } } }, @@ -534,6 +846,12 @@ "state" : "translated", "value" : "Configure your SSH Agent" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer votre Agent SSH" + } } } }, @@ -544,6 +862,12 @@ "state" : "translated", "value" : "✓" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "✓" + } } } }, @@ -554,6 +878,12 @@ "state" : "translated", "value" : "If you're trying to set up a third party app, check out the FAQ." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si vous essayez de configurer une application tierce, consultez la FAQ." + } } } }, @@ -564,6 +894,12 @@ "state" : "translated", "value" : "Secretive will periodically check with GitHub to see if there's a new release. If you see any network requests to GitHub, that's why." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive vérifie périodiquement sur GitHub s'il existe une nouvelle version. C'est pour cette raison que vous pouvez voir des requêtes réseau vers GitHub." + } } } }, @@ -574,6 +910,12 @@ "state" : "translated", "value" : "OK" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } } } }, @@ -584,6 +926,12 @@ "state" : "translated", "value" : "Read more about this here." } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour en savoir plus, cliquez ici." + } } } }, @@ -594,6 +942,12 @@ "state" : "translated", "value" : "Updates" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mises à jour" + } } } }, @@ -604,6 +958,12 @@ "state" : "translated", "value" : "Critical Security Update Required" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour de sécurité critique requise" + } } } }, @@ -614,6 +974,12 @@ "state" : "translated", "value" : "Ignore" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignorer" + } } } }, @@ -624,6 +990,12 @@ "state" : "translated", "value" : "Update Available" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mise à jour disponible" + } } } }, @@ -634,6 +1006,12 @@ "state" : "translated", "value" : "Release Notes" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notes de mise à jour" + } } } }, @@ -644,6 +1022,12 @@ "state" : "translated", "value" : "Test Build" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Test build" + } } } }, @@ -654,6 +1038,12 @@ "state" : "translated", "value" : "Update" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mettre à jour" + } } } }, @@ -664,9 +1054,15 @@ "state" : "translated", "value" : "Secretive %1$@" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secretive %1$@" + } } } } }, "version" : "1.0" -} +} \ No newline at end of file