From 23783ae411651aec8255986197406d71a9b8b82e Mon Sep 17 00:00:00 2001 From: Achraf BenBamoula <30707191+FrancXPT@users.noreply.github.com> Date: Fri, 29 Dec 2023 16:41:43 +0100 Subject: [PATCH 1/3] add french file --- lib/l10n/app_fr.arb | 259 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 lib/l10n/app_fr.arb diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb new file mode 100644 index 00000000..53b51eff --- /dev/null +++ b/lib/l10n/app_fr.arb @@ -0,0 +1,259 @@ +{ + "@@locale": "fr", + "about": "About", + "aboutThanks": "Thanks to the following people who participated in.", + "add": "Add", + "addAServer": "add a server", + "addPrivateKey": "Add private key", + "addSystemPrivateKeyTip": "Currently don't have any private key, do you add the one that comes with the system (~/.ssh/id_rsa)?", + "added2List": "Added to task list", + "all": "All", + "alreadyLastDir": "Already in last directory.", + "alterUrl": "Alter url", + "askContinue": "{msg}, continue?", + "attention": "Attention", + "authRequired": "Auth required", + "auto": "Auto", + "autoBackupConflict": "Only one automatic backup can be turned on at the same time.", + "autoCheckUpdate": "Auto check update", + "autoConnect": "Auto connect", + "autoUpdateHomeWidget": "Auto update home widget", + "backup": "Backup", + "backupAndRestore": "Backup and Restore", + "backupTip": "The exported data is simply encrypted. \nPlease keep it safe.", + "backupVersionNotMatch": "Backup version is not match.", + "battery": "Battery", + "bgRun": "Run in backgroud", + "bioAuth": "Biometric auth", + "canPullRefresh": "You can pull to refresh.", + "cancel": "Cancel", + "choose": "Choose", + "chooseFontFile": "Choose a font file", + "choosePrivateKey": "Choose private key", + "clear": "Clear", + "close": "Close", + "cmd": "Command", + "conn": "Connection", + "connected": "Connected", + "containerName": "Container name", + "containerStatus": "Container status", + "convert": "Convert", + "copy": "Copy", + "copyPath": "Copy path", + "createFile": "Create file", + "createFolder": "Create folder", + "dark": "Dark", + "debug": "Debug", + "decode": "Decode", + "decompress": "Decompress", + "delete": "Delete", + "deleteScripts": "Delete server scripts at the same time", + "deleteServers": "Batch delete servers", + "dirEmpty": "Make sure dir is empty.", + "disabled": "Disabled", + "disconnected": "Disconnected", + "disk": "Disk", + "diskIgnorePath": "Ignore path for disk", + "displayName": "Display name", + "dl2Local": "Download {fileName} to local?", + "dockerEditHost": "Edit DOCKER_HOST", + "dockerEmptyRunningItems": "No running container. \nIt may be that the env DOCKER_HOST is not read correctly. You can found it by running `echo $DOCKER_HOST` in terminal.", + "dockerImagesFmt": "{count} images", + "dockerNotInstalled": "Docker not installed", + "dockerStatusRunningAndStoppedFmt": "{runningCount} running, {stoppedCount} container stopped.", + "dockerStatusRunningFmt": "{count} container running.", + "doubleColumnMode": "Double column mode", + "download": "Download", + "edit": "Edit", + "editVirtKeys": "Edit virtual keys", + "editor": "Editor", + "editorHighlightTip": "The current code highlighting performance is worse and can be optionally turned off to improve.", + "encode": "Encode", + "error": "Error", + "exampleName": "Example name", + "experimentalFeature": "Experimental feature", + "export": "Export", + "extraArgs": "Extra args", + "failed": "Failed", + "feedback": "Feedback", + "feedbackOnGithub": "If you have any questions, please feedback on Github.", + "fieldMustNotEmpty": "These fields must not be empty.", + "fileNotExist": "{file} not exist", + "fileTooLarge": "File '{file}' too large {size}, max {sizeMax}", + "files": "Files", + "finished": "Finished", + "followSystem": "Follow system", + "font": "Font", + "fontSize": "Font size", + "force": "Force", + "foundNUpdate": "Found {count} update", + "fullScreen": "Full screen mode", + "fullScreenJitter": "Full screen jitter", + "fullScreenJitterHelp": "To avoid screen burn-in", + "getPushTokenFailed": "Can't fetch push token", + "gettingToken": "Getting token...", + "goBackQ": "Go back?", + "goto": "Go to", + "highlight": "Code highlight", + "homeWidgetUrlConfig": "Config home widget url", + "host": "Host", + "httpFailedWithCode": "request failed, status code: {code}", + "icloudSynced": "iCloud wird synchronisiert und einige Einstellungen erfordern möglicherweise einen Neustart der App, um wirksam zu werden.", + "image": "Image", + "imagesList": "Images list", + "import": "Import", + "inner": "Inner", + "inputDomainHere": "Input Domain here", + "install": "install", + "installDockerWithUrl": "Please https://docs.docker.com/engine/install docker first.", + "invalidJson": "Invalid JSON", + "invalidVersion": "Invalid version", + "invalidVersionHelp": "Please make sure that docker is installed correctly, or that you are using a non-self-compiled version. If you don't have the above issues, please submit an issue on {url}.", + "isBusy": "Is busy now", + "jumpServer": "Jump server", + "keepForeground": "Keep app foreground!", + "keyAuth": "Key Auth", + "keyboardCompatibility": "Possible to improve input method compatibility", + "keyboardType": "Keyborad type", + "language": "Language", + "languageName": "English", + "lastTry": "Last try", + "launchPage": "Launch page", + "license": "License", + "light": "Light", + "loadingFiles": "Loading files...", + "location": "Location", + "log": "Log", + "loss": "loss", + "madeWithLove": "Made with ❤️ by {myGithub}", + "manual": "Manual", + "max": "max", + "maxRetryCount": "Number of server reconnection", + "maxRetryCountEqual0": "Will retry again and again.", + "min": "min", + "mission": "Mission", + "moveOutServerFuncBtnsHelp": "On: can be displayed below each card on the Server Tab page. Off: can be displayed at the top of the Server Details page.", + "ms": "ms", + "name": "Name", + "needRestart": "Need to restart app", + "net": "Net", + "netViewType": "Net view type", + "newContainer": "New container", + "noClient": "No client", + "noInterface": "No interface", + "noOptions": "No options", + "noResult": "No result", + "noSavedPrivateKey": "No saved private keys.", + "noSavedSnippet": "No saved snippets.", + "noServerAvailable": "No server available.", + "noTask": "No task", + "noUpdateAvailable": "No update available", + "notSelected": "Not selected", + "note": "Note", + "nullToken": "Null token", + "ok": "OK", + "onServerDetailPage": "On server detail page", + "open": "Open", + "openLastPath": "Open the last path", + "openLastPathTip": "Different servers will have different logs, and the log is the path to the exit", + "paste": "Paste", + "path": "Path", + "percentOfSize": "{percent}% of {size}", + "pickFile": "Pick file", + "pingAvg": "Avg:", + "pingInputIP": "Please input a target IP / domain.", + "pingNoServer": "No server to ping.\nPlease add a server in server tab.", + "pkg": "Pkg", + "platformNotSupportUpdate": "Current platform does not support in app update.\nPlease build from source and install it.", + "plzEnterHost": "Please enter host.", + "plzSelectKey": "Please select a key.", + "port": "Port", + "preview": "Preview", + "primaryColorSeed": "Primary color seed", + "privateKey": "Private Key", + "process": "Process", + "pushToken": "Push token", + "pwd": "Password", + "read": "Read", + "reboot": "Reboot", + "remotePath": "Remote path", + "rename": "Rename", + "reportBugsOnGithubIssue": "Please report bugs on {url}", + "restart": "Restart", + "restore": "Restore", + "restoreSuccess": "Restore success. Restart app to apply.", + "result": "Result", + "rotateAngel": "Rotation angle", + "run": "Run", + "save": "Save", + "saved": "Saved", + "second": "s", + "sequence": "Sequence", + "server": "Server", + "serverDetailOrder": "Detail page widget order", + "serverFuncBtns": "Server func buttons", + "serverOrder": "Server order", + "serverTabConnecting": "Connecting...", + "serverTabEmpty": "There is no server.\nClick the fab to add one.", + "serverTabFailed": "Failed", + "serverTabLoading": "Loading...", + "serverTabPlzSave": "Please 'save' this private key again.", + "serverTabUnkown": "Unknown state", + "setting": "Settings", + "sftpDlPrepare": "Preparing to connect...", + "sftpRmrDirSummary": "Use `rm -r` to delete a folder in SFTP.", + "sftpSSHConnected": "SFTP Connected", + "showDistLogo": "Show distribution logo", + "shutdown": "Shutdown", + "snippet": "Snippet", + "speed": "Speed", + "spentTime": "Spent time: {time}", + "sshTip": "This function is now in the experimental stage.\n\nPlease report bugs on {url} or join our development.", + "sshVirtualKeyAutoOff": "Auto switching of virtual keys", + "start": "Start", + "stats": "Stats", + "stop": "Stop", + "success": "Success", + "suspend": "Suspend", + "suspendTip": "The suspend function requires root privileges and systemd support.", + "syncTip": "A restart may be required for some changes to take effect.", + "system": "System", + "tag": "Tags", + "temperature": "Temperature", + "terminal": "Terminal", + "test": "Test", + "textScaler": "Text scaler", + "textScalerTip": "1.0 => 100% (original size), only works on server page part of the font, not recommended to change.", + "theme": "Theme", + "themeMode": "Theme mode", + "times": "Times", + "traffic": "Traffic", + "ttl": "ttl", + "unknown": "Unknown", + "unknownError": "Unknown error", + "unkownConvertMode": "Unknown convert mode", + "update": "Update", + "updateAll": "Update all", + "updateIntervalEqual0": "You set to 0, will not update automatically.\nCan't calculate CPU status.", + "updateServerStatusInterval": "Server status update interval", + "updateTip": "Update: v1.0.{newest}", + "updateTipTooLow": "Current version is too low, please update to v1.0.{newest}", + "upload": "Upload", + "upsideDown": "Upside Down", + "uptime": "Uptime", + "urlOrJson": "URL or JSON", + "useNoPwd": "No password will be used.", + "user": "User", + "versionHaveUpdate": "Found: v1.0.{build}, click to update", + "versionUnknownUpdate": "Current: v1.0.{build}, click to check updates", + "versionUpdated": "Current: v1.0.{build}, is up to date", + "viewErr": "See error", + "virtKeyHelpClipboard": "Copy to the clipboard if terminal selected is not empty, otherwise paste the contents of the clipboard to the terminal.", + "virtKeyHelpSFTP": "Open current directory in SFTP.", + "waitConnection": "Please wait for the connection to be established.", + "watchNotPaired": "No paired Apple Watch", + "webdavSettingEmpty": "Webdav setting is empty", + "whenOpenApp": "When opening the app", + "willTakEeffectImmediately": "Will take effect immediately", + "write": "Write" +} \ No newline at end of file From cca3a352296a4fa049710d9cbf555026a3f9069e Mon Sep 17 00:00:00 2001 From: Achraf BenBamoula <30707191+FrancXPT@users.noreply.github.com> Date: Fri, 29 Dec 2023 16:48:39 +0100 Subject: [PATCH 2/3] Added French translation --- lib/l10n/app_fr.arb | 482 ++++++++++++++++++++++---------------------- 1 file changed, 241 insertions(+), 241 deletions(-) diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 53b51eff..26f89cf9 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1,259 +1,259 @@ { "@@locale": "fr", - "about": "About", - "aboutThanks": "Thanks to the following people who participated in.", - "add": "Add", - "addAServer": "add a server", - "addPrivateKey": "Add private key", - "addSystemPrivateKeyTip": "Currently don't have any private key, do you add the one that comes with the system (~/.ssh/id_rsa)?", - "added2List": "Added to task list", - "all": "All", - "alreadyLastDir": "Already in last directory.", - "alterUrl": "Alter url", - "askContinue": "{msg}, continue?", + "about": "À propos", + "aboutThanks": "Merci aux personnes suivantes qui ont participé à.", + "add": "Ajouter", + "addAServer": "ajouter un serveur", + "addPrivateKey": "Ajouter une clé privée", + "addSystemPrivateKeyTip": "Actuellement, vous n'avez aucune clé privée. Voulez-vous ajouter celle qui accompagne le système (~/.ssh/id_rsa)?", + "added2List": "Ajouté à la liste des tâches", + "all": "Tous", + "alreadyLastDir": "Déjà dans le dernier répertoire.", + "alterUrl": "Modifier l'URL", + "askContinue": "{msg}, continuer?", "attention": "Attention", - "authRequired": "Auth required", + "authRequired": "Authentification requise", "auto": "Auto", - "autoBackupConflict": "Only one automatic backup can be turned on at the same time.", - "autoCheckUpdate": "Auto check update", - "autoConnect": "Auto connect", - "autoUpdateHomeWidget": "Auto update home widget", - "backup": "Backup", - "backupAndRestore": "Backup and Restore", - "backupTip": "The exported data is simply encrypted. \nPlease keep it safe.", - "backupVersionNotMatch": "Backup version is not match.", - "battery": "Battery", - "bgRun": "Run in backgroud", - "bioAuth": "Biometric auth", - "canPullRefresh": "You can pull to refresh.", - "cancel": "Cancel", - "choose": "Choose", - "chooseFontFile": "Choose a font file", - "choosePrivateKey": "Choose private key", - "clear": "Clear", - "close": "Close", - "cmd": "Command", - "conn": "Connection", - "connected": "Connected", - "containerName": "Container name", - "containerStatus": "Container status", - "convert": "Convert", - "copy": "Copy", - "copyPath": "Copy path", - "createFile": "Create file", - "createFolder": "Create folder", - "dark": "Dark", - "debug": "Debug", - "decode": "Decode", - "decompress": "Decompress", - "delete": "Delete", - "deleteScripts": "Delete server scripts at the same time", - "deleteServers": "Batch delete servers", - "dirEmpty": "Make sure dir is empty.", - "disabled": "Disabled", - "disconnected": "Disconnected", - "disk": "Disk", - "diskIgnorePath": "Ignore path for disk", - "displayName": "Display name", - "dl2Local": "Download {fileName} to local?", - "dockerEditHost": "Edit DOCKER_HOST", - "dockerEmptyRunningItems": "No running container. \nIt may be that the env DOCKER_HOST is not read correctly. You can found it by running `echo $DOCKER_HOST` in terminal.", + "autoBackupConflict": "Une seule sauvegarde automatique peut être activée à la fois.", + "autoCheckUpdate": "Vérification automatique des mises à jour", + "autoConnect": "Connexion automatique", + "autoUpdateHomeWidget": "Mise à jour automatique du widget d'accueil", + "backup": "Sauvegarder", + "backupAndRestore": "Sauvegarde et restauration", + "backupTip": "Les données exportées sont simplement chiffrées. \nVeuillez les conserver en lieu sûr.", + "backupVersionNotMatch": "La version de sauvegarde ne correspond pas.", + "battery": "Batterie", + "bgRun": "Exécuter en arrière-plan", + "bioAuth": "Authentification biométrique", + "canPullRefresh": "Vous pouvez tirer pour actualiser.", + "cancel": "Annuler", + "choose": "Choisir", + "chooseFontFile": "Choisir un fichier de police", + "choosePrivateKey": "Choisir la clé privée", + "clear": "Effacer", + "close": "Fermer", + "cmd": "Commande", + "conn": "Connexion", + "connected": "Connecté", + "containerName": "Nom du conteneur", + "containerStatus": "Statut du conteneur", + "convert": "Convertir", + "copy": "Copier", + "copyPath": "Copier le chemin", + "createFile": "Créer un fichier", + "createFolder": "Créer un dossier", + "dark": "Sombre", + "debug": "Déboguer", + "decode": "Décoder", + "decompress": "Décompresser", + "delete": "Supprimer", + "deleteScripts": "Supprimer également les scripts du serveur", + "deleteServers": "Suppression par lot de serveurs", + "dirEmpty": "Assurez-vous que le répertoire est vide.", + "disabled": "Désactivé", + "disconnected": "Déconnecté", + "disk": "Disque", + "diskIgnorePath": "Ignorer le chemin pour le disque", + "displayName": "Nom affiché", + "dl2Local": "Télécharger {fileName} en local?", + "dockerEditHost": "Modifier DOCKER_HOST", + "dockerEmptyRunningItems": "Aucun conteneur en cours d'exécution. \nIl se peut que l'environnement DOCKER_HOST ne soit pas lu correctement. Vous pouvez le trouver en exécutant `echo $DOCKER_HOST` dans le terminal.", "dockerImagesFmt": "{count} images", - "dockerNotInstalled": "Docker not installed", - "dockerStatusRunningAndStoppedFmt": "{runningCount} running, {stoppedCount} container stopped.", - "dockerStatusRunningFmt": "{count} container running.", - "doubleColumnMode": "Double column mode", - "download": "Download", - "edit": "Edit", - "editVirtKeys": "Edit virtual keys", - "editor": "Editor", - "editorHighlightTip": "The current code highlighting performance is worse and can be optionally turned off to improve.", - "encode": "Encode", - "error": "Error", - "exampleName": "Example name", - "experimentalFeature": "Experimental feature", - "export": "Export", - "extraArgs": "Extra args", - "failed": "Failed", - "feedback": "Feedback", - "feedbackOnGithub": "If you have any questions, please feedback on Github.", - "fieldMustNotEmpty": "These fields must not be empty.", - "fileNotExist": "{file} not exist", - "fileTooLarge": "File '{file}' too large {size}, max {sizeMax}", - "files": "Files", - "finished": "Finished", - "followSystem": "Follow system", - "font": "Font", - "fontSize": "Font size", - "force": "Force", - "foundNUpdate": "Found {count} update", - "fullScreen": "Full screen mode", - "fullScreenJitter": "Full screen jitter", - "fullScreenJitterHelp": "To avoid screen burn-in", - "getPushTokenFailed": "Can't fetch push token", - "gettingToken": "Getting token...", - "goBackQ": "Go back?", - "goto": "Go to", - "highlight": "Code highlight", - "homeWidgetUrlConfig": "Config home widget url", - "host": "Host", - "httpFailedWithCode": "request failed, status code: {code}", - "icloudSynced": "iCloud wird synchronisiert und einige Einstellungen erfordern möglicherweise einen Neustart der App, um wirksam zu werden.", + "dockerNotInstalled": "Docker n'est pas installé", + "dockerStatusRunningAndStoppedFmt": "{runningCount} en cours d'exécution, {stoppedCount} conteneurs arrêtés.", + "dockerStatusRunningFmt": "{count} conteneurs en cours d'exécution.", + "doubleColumnMode": "Mode double colonne", + "download": "Télécharger", + "edit": "Modifier", + "editVirtKeys": "Modifier les touches virtuelles", + "editor": "Éditeur", + "editorHighlightTip": "Les performances actuelles de la coloration syntaxique du code sont médiocres et peuvent être désactivées pour améliorer les performances.", + "encode": "Encoder", + "error": "Erreur", + "exampleName": "Nom d'exemple", + "experimentalFeature": "Fonctionnalité expérimentale", + "export": "Exporter", + "extraArgs": "Arg supplémentaires", + "failed": "Échoué", + "feedback": "Commentaires", + "feedbackOnGithub": "Si vous avez des questions, merci de les poster sur Github.", + "fieldMustNotEmpty": "Ces champs ne doivent pas être vides.", + "fileNotExist": "{file} n'existe pas", + "fileTooLarge": "Le fichier '{file}' est trop volumineux {size}, max {sizeMax}", + "files": "Fichiers", + "finished": "Terminé", + "followSystem": "Suivre le système", + "font": "Police", + "fontSize": "Taille de police", + "force": "Forcer", + "foundNUpdate": "{count} mise(s) à jour trouvée(s)", + "fullScreen": "Mode plein écran", + "fullScreenJitter": "Tremblement plein écran", + "fullScreenJitterHelp": "Pour éviter la rémanence d'écran", + "getPushTokenFailed": "Impossible de récupérer le jeton d'identification", + "gettingToken": "Récupération du jeton...", + "goBackQ": "Revenir en arrière ?", + "goto": "Aller à", + "highlight": "Coloration syntaxique", + "homeWidgetUrlConfig": "Configurer l'URL du widget d'accueil", + "host": "Hôte", + "httpFailedWithCode": "requête échouée, code d'état : {code}", + "icloudSynced": "iCloud est synchronisé et certaines options peuvent nécessiter un redémarrage de l'application pour être effectives.", "image": "Image", - "imagesList": "Images list", - "import": "Import", - "inner": "Inner", - "inputDomainHere": "Input Domain here", - "install": "install", - "installDockerWithUrl": "Please https://docs.docker.com/engine/install docker first.", - "invalidJson": "Invalid JSON", - "invalidVersion": "Invalid version", - "invalidVersionHelp": "Please make sure that docker is installed correctly, or that you are using a non-self-compiled version. If you don't have the above issues, please submit an issue on {url}.", - "isBusy": "Is busy now", - "jumpServer": "Jump server", - "keepForeground": "Keep app foreground!", - "keyAuth": "Key Auth", - "keyboardCompatibility": "Possible to improve input method compatibility", - "keyboardType": "Keyborad type", - "language": "Language", - "languageName": "English", - "lastTry": "Last try", - "launchPage": "Launch page", - "license": "License", - "light": "Light", - "loadingFiles": "Loading files...", - "location": "Location", - "log": "Log", - "loss": "loss", - "madeWithLove": "Made with ❤️ by {myGithub}", - "manual": "Manual", + "imagesList": "Liste d'images", + "import": "Importer", + "inner": "Interne", + "inputDomainHere": "Saisissez le domaine ici", + "install": "installer", + "installDockerWithUrl": "Veuillez d'abord installer https://docs.docker.com/engine/install docker.", + "invalidJson": "JSON invalide", + "invalidVersion": "Version invalide", + "invalidVersionHelp": "Veuillez vous assurer que docker est installé correctement, ou que vous n'utilisez pas une version auto-compilée. Si vous n'avez pas les problèmes ci-dessus, veuillez soumettre un problème sur {url}.", + "isBusy": "Est occupé maintenant", + "jumpServer": "Serveur de saut", + "keepForeground": "Laisser l'application au premier plan !", + "keyAuth": "Authentification par clé", + "keyboardCompatibility": "Possibilité d'améliorer la compatibilité avec les méthodes de saisie", + "keyboardType": "Type de clavier", + "language": "Langue", + "languageName": "Français", + "lastTry": "Dernier essai", + "launchPage": "Page de lancement", + "license": "Licence", + "light": "Clair", + "loadingFiles": "Chargement des fichiers...", + "location": "Emplacement", + "log": "Journal", + "loss": "perte", + "madeWithLove": "Fait avec ❤️ par {myGithub}", + "manual": "Manuel", "max": "max", - "maxRetryCount": "Number of server reconnection", - "maxRetryCountEqual0": "Will retry again and again.", + "maxRetryCount": "Nombre de reconnexions du serveur", + "maxRetryCountEqual0": "Réessayera encore et encore.", "min": "min", "mission": "Mission", - "moveOutServerFuncBtnsHelp": "On: can be displayed below each card on the Server Tab page. Off: can be displayed at the top of the Server Details page.", + "moveOutServerFuncBtnsHelp": "Activé : peut être affiché sous chaque carte sur la page de l'onglet Serveur. Désactivé : peut être affiché en haut de la page Détails du serveur.", "ms": "ms", - "name": "Name", - "needRestart": "Need to restart app", - "net": "Net", - "netViewType": "Net view type", - "newContainer": "New container", - "noClient": "No client", - "noInterface": "No interface", - "noOptions": "No options", - "noResult": "No result", - "noSavedPrivateKey": "No saved private keys.", - "noSavedSnippet": "No saved snippets.", - "noServerAvailable": "No server available.", - "noTask": "No task", - "noUpdateAvailable": "No update available", - "notSelected": "Not selected", + "name": "Nom", + "needRestart": "Redémarrage de l'application nécessaire", + "net": "Réseau", + "netViewType": "Type de vue réseau", + "newContainer": "Nouveau conteneur", + "noClient": "Aucun client", + "noInterface": "Aucune interface", + "noOptions": "Aucune option", + "noResult": "Aucun résultat", + "noSavedPrivateKey": "Aucune clé privée enregistrée.", + "noSavedSnippet": "Aucun extrait enregistré.", + "noServerAvailable": "Aucun serveur disponible.", + "noTask": "Aucune tâche", + "noUpdateAvailable": "Aucune mise à jour disponible", + "notSelected": "Non sélectionné", "note": "Note", - "nullToken": "Null token", + "nullToken": "Jeton nul", "ok": "OK", - "onServerDetailPage": "On server detail page", - "open": "Open", - "openLastPath": "Open the last path", - "openLastPathTip": "Different servers will have different logs, and the log is the path to the exit", - "paste": "Paste", - "path": "Path", - "percentOfSize": "{percent}% of {size}", - "pickFile": "Pick file", - "pingAvg": "Avg:", - "pingInputIP": "Please input a target IP / domain.", - "pingNoServer": "No server to ping.\nPlease add a server in server tab.", + "onServerDetailPage": "Sur la page de détails du serveur", + "open": "Ouvrir", + "openLastPath": "Ouvrir le dernier chemin", + "openLastPathTip": "Les serveurs différents auront des journaux différents, et le journal est le chemin de sortie", + "paste": "Coller", + "path": "Chemin", + "percentOfSize": "{percent}% de {size}", + "pickFile": "Choisir un fichier", + "pingAvg": "Moy.:", + "pingInputIP": "Veuillez saisir une adresse IP / un domaine cible.", + "pingNoServer": "Aucun serveur pour ping.\nVeuillez ajouter un serveur dans l'onglet serveur.", "pkg": "Pkg", - "platformNotSupportUpdate": "Current platform does not support in app update.\nPlease build from source and install it.", - "plzEnterHost": "Please enter host.", - "plzSelectKey": "Please select a key.", + "platformNotSupportUpdate": "La plateforme actuelle ne prend pas en charge la mise à jour dans l'application. \nVeuillez le compiler à partir de la source et l'installer.", + "plzEnterHost": "Veuillez saisir l'hôte.", + "plzSelectKey": "Veuillez sélectionner une clé.", "port": "Port", - "preview": "Preview", - "primaryColorSeed": "Primary color seed", - "privateKey": "Private Key", - "process": "Process", - "pushToken": "Push token", - "pwd": "Password", - "read": "Read", - "reboot": "Reboot", - "remotePath": "Remote path", - "rename": "Rename", - "reportBugsOnGithubIssue": "Please report bugs on {url}", - "restart": "Restart", - "restore": "Restore", - "restoreSuccess": "Restore success. Restart app to apply.", - "result": "Result", - "rotateAngel": "Rotation angle", - "run": "Run", - "save": "Save", - "saved": "Saved", + "preview": "Aperçu", + "primaryColorSeed": "Graine de couleur primaire", + "privateKey": "Clé privée", + "process": "Processus", + "pushToken": "Jeton d'identification", + "pwd": "Mot de passe", + "read": "Lire", + "reboot": "Redémarrer", + "remotePath": "Chemin distant", + "rename": "Renommer", + "reportBugsOnGithubIssue": "Veuillez signaler les bogues sur {url}", + "restart": "Redémarrer", + "restore": "Restaurer", + "restoreSuccess": "Restauration réussie. Redémarrez l'application pour l'appliquer.", + "result": "Résultat", + "rotateAngel": "Angle de rotation", + "run": "Exécuter", + "save": "Enregistrer", + "saved": "Enregistré", "second": "s", - "sequence": "Sequence", - "server": "Server", - "serverDetailOrder": "Detail page widget order", - "serverFuncBtns": "Server func buttons", - "serverOrder": "Server order", - "serverTabConnecting": "Connecting...", - "serverTabEmpty": "There is no server.\nClick the fab to add one.", - "serverTabFailed": "Failed", - "serverTabLoading": "Loading...", - "serverTabPlzSave": "Please 'save' this private key again.", - "serverTabUnkown": "Unknown state", - "setting": "Settings", - "sftpDlPrepare": "Preparing to connect...", - "sftpRmrDirSummary": "Use `rm -r` to delete a folder in SFTP.", - "sftpSSHConnected": "SFTP Connected", - "showDistLogo": "Show distribution logo", - "shutdown": "Shutdown", - "snippet": "Snippet", - "speed": "Speed", - "spentTime": "Spent time: {time}", - "sshTip": "This function is now in the experimental stage.\n\nPlease report bugs on {url} or join our development.", - "sshVirtualKeyAutoOff": "Auto switching of virtual keys", - "start": "Start", - "stats": "Stats", - "stop": "Stop", - "success": "Success", - "suspend": "Suspend", - "suspendTip": "The suspend function requires root privileges and systemd support.", - "syncTip": "A restart may be required for some changes to take effect.", - "system": "System", - "tag": "Tags", - "temperature": "Temperature", + "sequence": "Séquence", + "server": "Serveur", + "serverDetailOrder": "Ordre des widgets de la page de détails", + "serverFuncBtns": "Boutons de fonction du serveur", + "serverOrder": "Ordre des serveurs", + "serverTabConnecting": "Connexion...", + "serverTabEmpty": "Il n'y a aucun serveur.\nCliquez sur le bouton pour en ajouter un.", + "serverTabFailed": "Échec", + "serverTabLoading": "Chargement...", + "serverTabPlzSave": "Veuillez 'enregistrer' à nouveau cette clé privée.", + "serverTabUnkown": "État inconnu", + "setting": "Paramètres", + "sftpDlPrepare": "Préparation de la connexion...", + "sftpRmrDirSummary": "Utilisez `rm -r` pour supprimer un dossier dans SFTP.", + "sftpSSHConnected": "SFTP connecté", + "showDistLogo": "Afficher le logo de la distribution", + "shutdown": "Éteindre", + "snippet": "Extrait", + "speed": "Vitesse", + "spentTime": "Temps écoulé : {time}", + "sshTip": "Cette fonction est actuellement au stade expérimental.\n\n Veuillez signaler les bogues sur {url} ou rejoignez notre développement.", + "sshVirtualKeyAutoOff": "Basculement automatique des touches virtuelles", + "start": "Démarrer", + "stats": "Statistiques", + "stop": "Arrêter", + "success": "Succès", + "suspend": "Suspendre", + "suspendTip": "La fonction de suspension nécessite des privilèges root et la prise en charge de systemd.", + "syncTip": "Un redémarrage peut être nécessaire pour que certains changements prennent effet.", + "system": "Système", + "tag": "Étiquettes", + "temperature": "Température", "terminal": "Terminal", - "test": "Test", - "textScaler": "Text scaler", - "textScalerTip": "1.0 => 100% (original size), only works on server page part of the font, not recommended to change.", - "theme": "Theme", - "themeMode": "Theme mode", - "times": "Times", - "traffic": "Traffic", + "test": "Tester", + "textScaler": "Mise à l'échelle du texte", + "textScalerTip": "1.0 => 100% (taille d'origine), fonctionne uniquement sur la partie police de caractères de la page du serveur, il n'est pas recommandé de la modifier.", + "theme": "Thème", + "themeMode": "Mode du thème", + "times": "Fois", + "traffic": "Trafic", "ttl": "ttl", - "unknown": "Unknown", - "unknownError": "Unknown error", - "unkownConvertMode": "Unknown convert mode", - "update": "Update", - "updateAll": "Update all", - "updateIntervalEqual0": "You set to 0, will not update automatically.\nCan't calculate CPU status.", - "updateServerStatusInterval": "Server status update interval", - "updateTip": "Update: v1.0.{newest}", - "updateTipTooLow": "Current version is too low, please update to v1.0.{newest}", - "upload": "Upload", - "upsideDown": "Upside Down", - "uptime": "Uptime", - "urlOrJson": "URL or JSON", - "useNoPwd": "No password will be used.", - "user": "User", - "versionHaveUpdate": "Found: v1.0.{build}, click to update", - "versionUnknownUpdate": "Current: v1.0.{build}, click to check updates", - "versionUpdated": "Current: v1.0.{build}, is up to date", - "viewErr": "See error", - "virtKeyHelpClipboard": "Copy to the clipboard if terminal selected is not empty, otherwise paste the contents of the clipboard to the terminal.", - "virtKeyHelpSFTP": "Open current directory in SFTP.", - "waitConnection": "Please wait for the connection to be established.", - "watchNotPaired": "No paired Apple Watch", - "webdavSettingEmpty": "Webdav setting is empty", - "whenOpenApp": "When opening the app", - "willTakEeffectImmediately": "Will take effect immediately", - "write": "Write" + "unknown": "Inconnu", + "unknownError": "Erreur inconnue", + "unkownConvertMode": "Mode de conversion inconnu", + "update": "Mettre à jour", + "updateAll": "Tout mettre à jour", + "updateIntervalEqual0": "Vous avez défini 0, ne mettra pas à jour automatiquement.\nImpossible de calculer l'état du processeur.", + "updateServerStatusInterval": "Intervalle de mise à jour de l'état du serveur", + "updateTip": "Mise à jour : v1.0.{newest}", + "updateTipTooLow": "La version actuelle est trop basse, veuillez mettre à jour vers v1.0.{newest}", + "upload": "Téléverser", + "upsideDown": "À l'envers", + "uptime": "Temps de disponibilité", + "urlOrJson": "URL ou JSON", + "useNoPwd": "Aucun mot de passe ne sera utilisé.", + "user": "Utilisateur", + "versionHaveUpdate": "Trouvé : v1.0.{build}, cliquez pour mettre à jour", + "versionUnknownUpdate": "Actuel : v1.0.{build}, cliquez pour vérifier les mises à jour", + "versionUpdated": "Actuel : v1.0.{build}, à jour", + "viewErr": "Voir l'erreur", + "virtKeyHelpClipboard": "Copier dans le presse-papiers si le terminal sélectionné n'est pas vide, sinon coller le contenu du presse-papiers dans le terminal.", + "virtKeyHelpSFTP": "Ouvrir le répertoire actuel dans SFTP.", + "waitConnection": "Veuillez attendre l'établissement de la connexion.", + "watchNotPaired": "Aucune Apple Watch appairée", + "webdavSettingEmpty": "La configuration Webdav est vide", + "whenOpenApp": "À l'ouverture de l'application", + "willTakEeffectImmediately": "Prendra effet immédiatement", + "write": "Écrire" } \ No newline at end of file From aa0f941624fd42c1ba6ed455db6952de95a137ca Mon Sep 17 00:00:00 2001 From: FrancXPT Date: Fri, 29 Dec 2023 17:23:03 +0100 Subject: [PATCH 3/3] generate --- .dart_tool/flutter_gen/gen_l10n/l10n.dart | 5 +- .dart_tool/flutter_gen/gen_l10n/l10n_fr.dart | 814 +++++++++++++++++++ 2 files changed, 818 insertions(+), 1 deletion(-) create mode 100644 .dart_tool/flutter_gen/gen_l10n/l10n_fr.dart diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n.dart b/.dart_tool/flutter_gen/gen_l10n/l10n.dart index 010b2d7b..a3ecfbc4 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n.dart @@ -7,6 +7,7 @@ import 'package:intl/intl.dart' as intl; import 'l10n_de.dart'; import 'l10n_en.dart'; +import 'l10n_fr.dart'; import 'l10n_id.dart'; import 'l10n_zh.dart'; @@ -93,6 +94,7 @@ abstract class S { static const List supportedLocales = [ Locale('de'), Locale('en'), + Locale('fr'), Locale('id'), Locale('zh'), Locale('zh', 'TW') @@ -1644,7 +1646,7 @@ class _SDelegate extends LocalizationsDelegate { } @override - bool isSupported(Locale locale) => ['de', 'en', 'id', 'zh'].contains(locale.languageCode); + bool isSupported(Locale locale) => ['de', 'en', 'fr', 'id', 'zh'].contains(locale.languageCode); @override bool shouldReload(_SDelegate old) => false; @@ -1666,6 +1668,7 @@ S lookupS(Locale locale) { switch (locale.languageCode) { case 'de': return SDe(); case 'en': return SEn(); + case 'fr': return SFr(); case 'id': return SId(); case 'zh': return SZh(); } diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart new file mode 100644 index 00000000..975ae9b1 --- /dev/null +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart @@ -0,0 +1,814 @@ +import 'l10n.dart'; + +/// The translations for French (`fr`). +class SFr extends S { + SFr([String locale = 'fr']) : super(locale); + + @override + String get about => 'À propos'; + + @override + String get aboutThanks => 'Merci aux personnes suivantes qui ont participé à.'; + + @override + String get add => 'Ajouter'; + + @override + String get addAServer => 'ajouter un serveur'; + + @override + String get addPrivateKey => 'Ajouter une clé privée'; + + @override + String get addSystemPrivateKeyTip => 'Actuellement, vous n\'avez aucune clé privée. Voulez-vous ajouter celle qui accompagne le système (~/.ssh/id_rsa)?'; + + @override + String get added2List => 'Ajouté à la liste des tâches'; + + @override + String get all => 'Tous'; + + @override + String get alreadyLastDir => 'Déjà dans le dernier répertoire.'; + + @override + String get alterUrl => 'Modifier l\'URL'; + + @override + String askContinue(Object msg) { + return '$msg, continuer?'; + } + + @override + String get attention => 'Attention'; + + @override + String get authRequired => 'Authentification requise'; + + @override + String get auto => 'Auto'; + + @override + String get autoBackupConflict => 'Une seule sauvegarde automatique peut être activée à la fois.'; + + @override + String get autoCheckUpdate => 'Vérification automatique des mises à jour'; + + @override + String get autoConnect => 'Connexion automatique'; + + @override + String get autoUpdateHomeWidget => 'Mise à jour automatique du widget d\'accueil'; + + @override + String get backup => 'Sauvegarder'; + + @override + String get backupAndRestore => 'Sauvegarde et restauration'; + + @override + String get backupTip => 'Les données exportées sont simplement chiffrées. \nVeuillez les conserver en lieu sûr.'; + + @override + String get backupVersionNotMatch => 'La version de sauvegarde ne correspond pas.'; + + @override + String get battery => 'Batterie'; + + @override + String get bgRun => 'Exécuter en arrière-plan'; + + @override + String get bioAuth => 'Authentification biométrique'; + + @override + String get canPullRefresh => 'Vous pouvez tirer pour actualiser.'; + + @override + String get cancel => 'Annuler'; + + @override + String get choose => 'Choisir'; + + @override + String get chooseFontFile => 'Choisir un fichier de police'; + + @override + String get choosePrivateKey => 'Choisir la clé privée'; + + @override + String get clear => 'Effacer'; + + @override + String get close => 'Fermer'; + + @override + String get cmd => 'Commande'; + + @override + String get conn => 'Connexion'; + + @override + String get connected => 'Connecté'; + + @override + String get containerName => 'Nom du conteneur'; + + @override + String get containerStatus => 'Statut du conteneur'; + + @override + String get convert => 'Convertir'; + + @override + String get copy => 'Copier'; + + @override + String get copyPath => 'Copier le chemin'; + + @override + String get createFile => 'Créer un fichier'; + + @override + String get createFolder => 'Créer un dossier'; + + @override + String get dark => 'Sombre'; + + @override + String get debug => 'Déboguer'; + + @override + String get decode => 'Décoder'; + + @override + String get decompress => 'Décompresser'; + + @override + String get delete => 'Supprimer'; + + @override + String get deleteScripts => 'Supprimer également les scripts du serveur'; + + @override + String get deleteServers => 'Suppression par lot de serveurs'; + + @override + String get dirEmpty => 'Assurez-vous que le répertoire est vide.'; + + @override + String get disabled => 'Désactivé'; + + @override + String get disconnected => 'Déconnecté'; + + @override + String get disk => 'Disque'; + + @override + String get diskIgnorePath => 'Ignorer le chemin pour le disque'; + + @override + String get displayName => 'Nom affiché'; + + @override + String dl2Local(Object fileName) { + return 'Télécharger $fileName en local?'; + } + + @override + String get dockerEditHost => 'Modifier DOCKER_HOST'; + + @override + String get dockerEmptyRunningItems => 'Aucun conteneur en cours d\'exécution. \nIl se peut que l\'environnement DOCKER_HOST ne soit pas lu correctement. Vous pouvez le trouver en exécutant `echo \$DOCKER_HOST` dans le terminal.'; + + @override + String dockerImagesFmt(Object count) { + return '$count images'; + } + + @override + String get dockerNotInstalled => 'Docker n\'est pas installé'; + + @override + String dockerStatusRunningAndStoppedFmt(Object runningCount, Object stoppedCount) { + return '$runningCount en cours d\'exécution, $stoppedCount conteneurs arrêtés.'; + } + + @override + String dockerStatusRunningFmt(Object count) { + return '$count conteneurs en cours d\'exécution.'; + } + + @override + String get doubleColumnMode => 'Mode double colonne'; + + @override + String get download => 'Télécharger'; + + @override + String get edit => 'Modifier'; + + @override + String get editVirtKeys => 'Modifier les touches virtuelles'; + + @override + String get editor => 'Éditeur'; + + @override + String get editorHighlightTip => 'Les performances actuelles de la coloration syntaxique du code sont médiocres et peuvent être désactivées pour améliorer les performances.'; + + @override + String get encode => 'Encoder'; + + @override + String get error => 'Erreur'; + + @override + String get exampleName => 'Nom d\'exemple'; + + @override + String get experimentalFeature => 'Fonctionnalité expérimentale'; + + @override + String get export => 'Exporter'; + + @override + String get extraArgs => 'Arg supplémentaires'; + + @override + String get failed => 'Échoué'; + + @override + String get feedback => 'Commentaires'; + + @override + String get feedbackOnGithub => 'Si vous avez des questions, merci de les poster sur Github.'; + + @override + String get fieldMustNotEmpty => 'Ces champs ne doivent pas être vides.'; + + @override + String fileNotExist(Object file) { + return '$file n\'existe pas'; + } + + @override + String fileTooLarge(Object file, Object size, Object sizeMax) { + return 'Le fichier \'$file\' est trop volumineux $size, max $sizeMax'; + } + + @override + String get files => 'Fichiers'; + + @override + String get finished => 'Terminé'; + + @override + String get followSystem => 'Suivre le système'; + + @override + String get font => 'Police'; + + @override + String get fontSize => 'Taille de police'; + + @override + String get force => 'Forcer'; + + @override + String foundNUpdate(Object count) { + return '$count mise(s) à jour trouvée(s)'; + } + + @override + String get fullScreen => 'Mode plein écran'; + + @override + String get fullScreenJitter => 'Tremblement plein écran'; + + @override + String get fullScreenJitterHelp => 'Pour éviter la rémanence d\'écran'; + + @override + String get getPushTokenFailed => 'Impossible de récupérer le jeton d\'identification'; + + @override + String get gettingToken => 'Récupération du jeton...'; + + @override + String get goBackQ => 'Revenir en arrière ?'; + + @override + String get goto => 'Aller à'; + + @override + String get highlight => 'Coloration syntaxique'; + + @override + String get homeWidgetUrlConfig => 'Configurer l\'URL du widget d\'accueil'; + + @override + String get host => 'Hôte'; + + @override + String httpFailedWithCode(Object code) { + return 'requête échouée, code d\'état : $code'; + } + + @override + String get icloudSynced => 'iCloud est synchronisé et certaines options peuvent nécessiter un redémarrage de l\'application pour être effectives.'; + + @override + String get image => 'Image'; + + @override + String get imagesList => 'Liste d\'images'; + + @override + String get import => 'Importer'; + + @override + String get inner => 'Interne'; + + @override + String get inputDomainHere => 'Saisissez le domaine ici'; + + @override + String get install => 'installer'; + + @override + String get installDockerWithUrl => 'Veuillez d\'abord installer https://docs.docker.com/engine/install docker.'; + + @override + String get invalidJson => 'JSON invalide'; + + @override + String get invalidVersion => 'Version invalide'; + + @override + String invalidVersionHelp(Object url) { + return 'Veuillez vous assurer que docker est installé correctement, ou que vous n\'utilisez pas une version auto-compilée. Si vous n\'avez pas les problèmes ci-dessus, veuillez soumettre un problème sur $url.'; + } + + @override + String get isBusy => 'Est occupé maintenant'; + + @override + String get jumpServer => 'Serveur de saut'; + + @override + String get keepForeground => 'Laisser l\'application au premier plan !'; + + @override + String get keyAuth => 'Authentification par clé'; + + @override + String get keyboardCompatibility => 'Possibilité d\'améliorer la compatibilité avec les méthodes de saisie'; + + @override + String get keyboardType => 'Type de clavier'; + + @override + String get language => 'Langue'; + + @override + String get languageName => 'Français'; + + @override + String get lastTry => 'Dernier essai'; + + @override + String get launchPage => 'Page de lancement'; + + @override + String get license => 'Licence'; + + @override + String get light => 'Clair'; + + @override + String get loadingFiles => 'Chargement des fichiers...'; + + @override + String get location => 'Emplacement'; + + @override + String get log => 'Journal'; + + @override + String get loss => 'perte'; + + @override + String madeWithLove(Object myGithub) { + return 'Fait avec ❤️ par $myGithub'; + } + + @override + String get manual => 'Manuel'; + + @override + String get max => 'max'; + + @override + String get maxRetryCount => 'Nombre de reconnexions du serveur'; + + @override + String get maxRetryCountEqual0 => 'Réessayera encore et encore.'; + + @override + String get min => 'min'; + + @override + String get mission => 'Mission'; + + @override + String get moveOutServerFuncBtnsHelp => 'Activé : peut être affiché sous chaque carte sur la page de l\'onglet Serveur. Désactivé : peut être affiché en haut de la page Détails du serveur.'; + + @override + String get ms => 'ms'; + + @override + String get name => 'Nom'; + + @override + String get needRestart => 'Redémarrage de l\'application nécessaire'; + + @override + String get net => 'Réseau'; + + @override + String get netViewType => 'Type de vue réseau'; + + @override + String get newContainer => 'Nouveau conteneur'; + + @override + String get noClient => 'Aucun client'; + + @override + String get noInterface => 'Aucune interface'; + + @override + String get noOptions => 'Aucune option'; + + @override + String get noResult => 'Aucun résultat'; + + @override + String get noSavedPrivateKey => 'Aucune clé privée enregistrée.'; + + @override + String get noSavedSnippet => 'Aucun extrait enregistré.'; + + @override + String get noServerAvailable => 'Aucun serveur disponible.'; + + @override + String get noTask => 'Aucune tâche'; + + @override + String get noUpdateAvailable => 'Aucune mise à jour disponible'; + + @override + String get notSelected => 'Non sélectionné'; + + @override + String get note => 'Note'; + + @override + String get nullToken => 'Jeton nul'; + + @override + String get ok => 'OK'; + + @override + String get onServerDetailPage => 'Sur la page de détails du serveur'; + + @override + String get open => 'Ouvrir'; + + @override + String get openLastPath => 'Ouvrir le dernier chemin'; + + @override + String get openLastPathTip => 'Les serveurs différents auront des journaux différents, et le journal est le chemin de sortie'; + + @override + String get paste => 'Coller'; + + @override + String get path => 'Chemin'; + + @override + String percentOfSize(Object percent, Object size) { + return '$percent% de $size'; + } + + @override + String get pickFile => 'Choisir un fichier'; + + @override + String get pingAvg => 'Moy.:'; + + @override + String get pingInputIP => 'Veuillez saisir une adresse IP / un domaine cible.'; + + @override + String get pingNoServer => 'Aucun serveur pour ping.\nVeuillez ajouter un serveur dans l\'onglet serveur.'; + + @override + String get pkg => 'Pkg'; + + @override + String get platformNotSupportUpdate => 'La plateforme actuelle ne prend pas en charge la mise à jour dans l\'application. \nVeuillez le compiler à partir de la source et l\'installer.'; + + @override + String get plzEnterHost => 'Veuillez saisir l\'hôte.'; + + @override + String get plzSelectKey => 'Veuillez sélectionner une clé.'; + + @override + String get port => 'Port'; + + @override + String get preview => 'Aperçu'; + + @override + String get primaryColorSeed => 'Graine de couleur primaire'; + + @override + String get privateKey => 'Clé privée'; + + @override + String get process => 'Processus'; + + @override + String get pushToken => 'Jeton d\'identification'; + + @override + String get pwd => 'Mot de passe'; + + @override + String get read => 'Lire'; + + @override + String get reboot => 'Redémarrer'; + + @override + String get remotePath => 'Chemin distant'; + + @override + String get rename => 'Renommer'; + + @override + String reportBugsOnGithubIssue(Object url) { + return 'Veuillez signaler les bogues sur $url'; + } + + @override + String get restart => 'Redémarrer'; + + @override + String get restore => 'Restaurer'; + + @override + String get restoreSuccess => 'Restauration réussie. Redémarrez l\'application pour l\'appliquer.'; + + @override + String get result => 'Résultat'; + + @override + String get rotateAngel => 'Angle de rotation'; + + @override + String get run => 'Exécuter'; + + @override + String get save => 'Enregistrer'; + + @override + String get saved => 'Enregistré'; + + @override + String get second => 's'; + + @override + String get sequence => 'Séquence'; + + @override + String get server => 'Serveur'; + + @override + String get serverDetailOrder => 'Ordre des widgets de la page de détails'; + + @override + String get serverFuncBtns => 'Boutons de fonction du serveur'; + + @override + String get serverOrder => 'Ordre des serveurs'; + + @override + String get serverTabConnecting => 'Connexion...'; + + @override + String get serverTabEmpty => 'Il n\'y a aucun serveur.\nCliquez sur le bouton pour en ajouter un.'; + + @override + String get serverTabFailed => 'Échec'; + + @override + String get serverTabLoading => 'Chargement...'; + + @override + String get serverTabPlzSave => 'Veuillez \'enregistrer\' à nouveau cette clé privée.'; + + @override + String get serverTabUnkown => 'État inconnu'; + + @override + String get setting => 'Paramètres'; + + @override + String get sftpDlPrepare => 'Préparation de la connexion...'; + + @override + String get sftpRmrDirSummary => 'Utilisez `rm -r` pour supprimer un dossier dans SFTP.'; + + @override + String get sftpSSHConnected => 'SFTP connecté'; + + @override + String get showDistLogo => 'Afficher le logo de la distribution'; + + @override + String get shutdown => 'Éteindre'; + + @override + String get snippet => 'Extrait'; + + @override + String get speed => 'Vitesse'; + + @override + String spentTime(Object time) { + return 'Temps écoulé : $time'; + } + + @override + String sshTip(Object url) { + return 'Cette fonction est actuellement au stade expérimental.\n\n Veuillez signaler les bogues sur $url ou rejoignez notre développement.'; + } + + @override + String get sshVirtualKeyAutoOff => 'Basculement automatique des touches virtuelles'; + + @override + String get start => 'Démarrer'; + + @override + String get stats => 'Statistiques'; + + @override + String get stop => 'Arrêter'; + + @override + String get success => 'Succès'; + + @override + String get suspend => 'Suspendre'; + + @override + String get suspendTip => 'La fonction de suspension nécessite des privilèges root et la prise en charge de systemd.'; + + @override + String get syncTip => 'Un redémarrage peut être nécessaire pour que certains changements prennent effet.'; + + @override + String get system => 'Système'; + + @override + String get tag => 'Étiquettes'; + + @override + String get temperature => 'Température'; + + @override + String get terminal => 'Terminal'; + + @override + String get test => 'Tester'; + + @override + String get textScaler => 'Mise à l\'échelle du texte'; + + @override + String get textScalerTip => '1.0 => 100% (taille d\'origine), fonctionne uniquement sur la partie police de caractères de la page du serveur, il n\'est pas recommandé de la modifier.'; + + @override + String get theme => 'Thème'; + + @override + String get themeMode => 'Mode du thème'; + + @override + String get times => 'Fois'; + + @override + String get traffic => 'Trafic'; + + @override + String get ttl => 'ttl'; + + @override + String get unknown => 'Inconnu'; + + @override + String get unknownError => 'Erreur inconnue'; + + @override + String get unkownConvertMode => 'Mode de conversion inconnu'; + + @override + String get update => 'Mettre à jour'; + + @override + String get updateAll => 'Tout mettre à jour'; + + @override + String get updateIntervalEqual0 => 'Vous avez défini 0, ne mettra pas à jour automatiquement.\nImpossible de calculer l\'état du processeur.'; + + @override + String get updateServerStatusInterval => 'Intervalle de mise à jour de l\'état du serveur'; + + @override + String updateTip(Object newest) { + return 'Mise à jour : v1.0.$newest'; + } + + @override + String updateTipTooLow(Object newest) { + return 'La version actuelle est trop basse, veuillez mettre à jour vers v1.0.$newest'; + } + + @override + String get upload => 'Téléverser'; + + @override + String get upsideDown => 'À l\'envers'; + + @override + String get uptime => 'Temps de disponibilité'; + + @override + String get urlOrJson => 'URL ou JSON'; + + @override + String get useNoPwd => 'Aucun mot de passe ne sera utilisé.'; + + @override + String get user => 'Utilisateur'; + + @override + String versionHaveUpdate(Object build) { + return 'Trouvé : v1.0.$build, cliquez pour mettre à jour'; + } + + @override + String versionUnknownUpdate(Object build) { + return 'Actuel : v1.0.$build, cliquez pour vérifier les mises à jour'; + } + + @override + String versionUpdated(Object build) { + return 'Actuel : v1.0.$build, à jour'; + } + + @override + String get viewErr => 'Voir l\'erreur'; + + @override + String get virtKeyHelpClipboard => 'Copier dans le presse-papiers si le terminal sélectionné n\'est pas vide, sinon coller le contenu du presse-papiers dans le terminal.'; + + @override + String get virtKeyHelpSFTP => 'Ouvrir le répertoire actuel dans SFTP.'; + + @override + String get waitConnection => 'Veuillez attendre l\'établissement de la connexion.'; + + @override + String get watchNotPaired => 'Aucune Apple Watch appairée'; + + @override + String get webdavSettingEmpty => 'La configuration Webdav est vide'; + + @override + String get whenOpenApp => 'À l\'ouverture de l\'application'; + + @override + String get willTakEeffectImmediately => 'Prendra effet immédiatement'; + + @override + String get write => 'Écrire'; +}