From d082a885c432687e88508ac2c9a9bb265ced466f Mon Sep 17 00:00:00 2001 From: Jimmy GALLAND Date: Fri, 29 Sep 2023 21:50:38 +0200 Subject: [PATCH] add french translate Co-authored-by: schlagmichdoch --- public/index.html | 1 + public/lang/fr.json | 160 ++++++++++++++++++ public/scripts/localization.js | 2 +- public_included_ws_fallback/index.html | 1 + public_included_ws_fallback/lang/fr.json | 160 ++++++++++++++++++ .../scripts/localization.js | 2 +- 6 files changed, 324 insertions(+), 2 deletions(-) create mode 100644 public/lang/fr.json create mode 100644 public_included_ws_fallback/lang/fr.json diff --git a/public/index.html b/public/index.html index f78fc13..6f20d48 100644 --- a/public/index.html +++ b/public/index.html @@ -150,6 +150,7 @@ + diff --git a/public/lang/fr.json b/public/lang/fr.json new file mode 100644 index 0000000..6fcc7dc --- /dev/null +++ b/public/lang/fr.json @@ -0,0 +1,160 @@ +{ + "header": { + "about_title": "A propos de", + "language-selector_title": "Choix de la langue", + "about_aria-label": "Ouvrir à propos de", + "theme-auto_title": "Adapter le thème au système", + "theme-light_title": "Toujours utiliser le thème clair", + "theme-dark_title": "Toujours utiliser le thème sombre", + "notification_title": "Activer les notifications", + "install_title": "Installer PairDrop", + "pair-device_title": "Associez vos appareils de manière permanente", + "edit-paired-devices_title": "Gérer les appareils couplés", + "join-public-room_title": "Rejoindre temporairement la salle publique", + "cancel-paste-mode": "Terminé" + }, + "instructions": { + "no-peers_data-drop-bg": "Déposer pour choisir le destinataire", + "no-peers-title": "Ouvrez PairDrop sur d'autres appareils pour envoyer des fichiers", + "no-peers-subtitle": "Associez des appareils ou entrez dans une salle publique pour être visible sur d'autres réseaux", + "x-instructions_desktop": "Cliquez pour envoyer des fichiers ou faites un clic droit pour envoyer un message", + "x-instructions_mobile": "Appuyez pour envoyer des fichiers ou appuyez longuement pour envoyer un message", + "x-instructions_data-drop-peer": "Déposer pour envoyer au destinataire", + "x-instructions_data-drop-bg": "Lâcher pour choisir le destinataire", + "click-to-send": "Cliquez pour envoyer", + "tap-to-send": "Appuyez pour envoyer", + "activate-paste-mode-base": "Ouvrez PairDrop sur d'autres appareils pour envoyer", + "activate-paste-mode-and-other-files": "et {{count}} autres fichiers", + "activate-paste-mode-shared-text": "texte partagé" + }, + "footer": { + "known-as": "Vous êtes connu sous le nom de:", + "display-name_data-placeholder": "Chargement…", + "display-name_title": "Modifiez le nom de votre appareil de manière permanente", + "discovery": "Vous pouvez être découvert:", + "on-this-network": "sur ce réseau", + "on-this-network_title": "Vous pouvez être découvert par tout le monde sur ce réseau.", + "paired-devices": "par les appareils couplés", + "paired-devices_title": "Vous pouvez être découvert par les appareils couplés à tout moment, indépendamment du réseau.", + "public-room-devices": "dans la salle {{roomId}}", + "public-room-devices_title": "Vous pouvez être découvert par les appareils de cette salle publique indépendamment du réseau.", + "traffic": "Le trafic est", + "routed": "routé via le serveur", + "webrtc": "si WebRTC n'est pas disponible.", + "display-name_placeholder": "Chargement…" + }, + "dialogs": { + "pair-devices-title": "Associer les appareils de manière permanente", + "input-key-on-this-device": "Saisissez cette clé sur un autre appareil", + "scan-qr-code": "ou scannez le QR-code.", + "enter-key-from-another-device": "Entrez ici la clé d'un autre appareil.", + "temporary-public-room-title": "Salle publique temporaire", + "input-room-id-on-another-device": "Saisissez cet ID de salle sur un autre appareil", + "enter-room-id-from-another-device": "Entrez l'ID de la salle depuis un autre appareil pour rejoindre la salle.", + "hr-or": "OU", + "pair": "associer", + "cancel": "Annuler", + "edit-paired-devices-title": "Modifier les appareils couplés", + "unpair": "Dissocier", + "paired-devices-wrapper_data-empty": "Aucun appareil couplé.", + "auto-accept-instructions-1": "Activer", + "auto-accept": "auto-accepter", + "auto-accept-instructions-2": "pour accepter automatiquement tous les fichiers envoyés depuis cet appareil.", + "close": "Fermer", + "join": "Rejoindre", + "leave": "Partir", + "would-like-to-share": "aimerait partager", + "accept": "Accepter", + "decline": "Refuser", + "has-sent": "a envoyé:", + "share": "Partage", + "download": "Télécharger", + "send-message-title": "Envoyer un message", + "send-message-to": "Envoyer un message à", + "send": "Envoyer", + "receive-text-title": "Message reçu", + "copy": "Copier", + "base64-processing": "Traitement…", + "base64-tap-to-paste": "Appuyez ici pour coller {{type}}", + "base64-paste-to-send": "Coller ici pour envoyer {{type}}", + "base64-text": "texte", + "base64-files": "fichiers", + "file-other-description-image": "et 1 autre image", + "file-other-description-file": "et 1 autre fichier", + "file-other-description-image-plural": "et {{count}} autres images", + "file-other-description-file-plural": "et {{count}} autres fichiers", + "title-image": "Image", + "title-file": "Fichier", + "title-image-plural": "Images", + "title-file-plural": "Fichiers", + "receive-title": "{{descriptor}} Reçu", + "download-again": "Télécharger à nouveau", + "language-selector-title": "Sélectionnez la langue", + "system-language": "Langue du système" + }, + "about": { + "close-about_aria-label": "Fermer à propos de PairDrop", + "claim": "Le moyen le plus simple de transférer des fichiers entre appareils", + "github_title": "PairDrop sur GitHub", + "buy-me-a-coffee_title": "Achete-moi un café!", + "tweet_title": "Tweet à propos de PairDrop", + "faq_title": "Questions fréquemment posées" + }, + "notifications": { + "display-name-changed-permanently": "Le nom d'affichage est modifié de manière permanente.", + "display-name-changed-temporarily": "Le nom d'affichage est modifié uniquement pour cette session.", + "display-name-random-again": "Le nom d'affichage est à nouveau généré aléatoirement.", + "download-successful": "{{descriptor}} téléchargé", + "pairing-tabs-error": "Le couplage de deux onglets de navigateur Web est impossible.", + "pairing-success": "Appareils couplés.", + "pairing-not-persistent": "Les appareils couplés ne sont pas persistants.", + "pairing-key-invalid": "Clé invalide", + "pairing-key-invalidated": "Clé {{key}} invalidée.", + "pairing-cleared": "Tous les appareils ne sont plus appairés.", + "public-room-id-invalid": "ID de salle non valide", + "public-room-left": "Salle publique {{publicRoomId}} quittée", + "copied-to-clipboard": "Copié dans le presse-papier", + "copied-to-clipboard-error": "Copie impossible. Copier manuellement.", + "text-content-incorrect": "Le contenu du texte est incorrect.", + "file-content-incorrect": "Le contenu du fichier est incorrect.", + "clipboard-content-incorrect": "Le contenu du presse-papiers est incorrect.", + "notifications-enabled": "Notifications activées.", + "link-received": "Lien reçu par {{name}} - Cliquez pour ouvrir", + "message-received": "Message reçu par {{name}} - Cliquez pour copier", + "click-to-download": "Cliquez pour télécharger", + "request-title": "{{name}} souhaite transférer {{count}} {{descriptor}}", + "click-to-show": "Cliquez pour afficher", + "copied-text": "Texte copié dans le presse-papiers", + "copied-text-error": "L'écriture dans le presse-papiers a échoué. Copiez manuellement!", + "offline": "Vous êtes hors ligne", + "online": "Vous êtes de nouveau en ligne", + "connected": "Connecté.", + "online-requirement-pairing": "Vous devez être en ligne pour coupler des appareils.", + "online-requirement-public-room": "Vous devez être en ligne pour créer une salle publique.", + "connecting": "Connexion…", + "files-incorrect": "Les fichiers sont incorrects.", + "file-transfer-completed": "Transfert de fichier terminé.", + "ios-memory-limit": "L'envoi de fichiers vers iOS n'est possible que jusqu'à 200 Mo à la fois", + "message-transfer-completed": "Transfert de message terminé.", + "unfinished-transfers-warning": "Il y a des transferts inachevés. Etes-vous sûr de vouloir fermer PairDrop?", + "rate-limit-join-key": "Limite de débit atteinte. Attendez 10 secondes et réessayez.", + "selected-peer-left": "Appareils selectionnés restants." + }, + "document-titles": { + "file-received": "Fichier reçu", + "file-received-plural": "{{count}} fichiers reçus", + "file-transfer-requested": "Transfert de fichier demandé", + "image-transfer-requested": "Transfert d'image demandé", + "message-received": "Message reçu", + "message-received-plural": "{{count}} Messages reçus" + }, + "peer-ui": { + "click-to-send-paste-mode": "Cliquez pour envoyer {{descriptor}}", + "click-to-send": "Cliquez pour envoyer des fichiers ou faites un clic droit pour envoyer un message", + "connection-hash": "Pour vérifier la sécurité du chiffrement de bout en bout, comparez ce numéro de sécurité sur les deux appareils", + "preparing": "Préparation…", + "waiting": "En attente…", + "processing": "En cours…", + "transferring": "Transfert en cours…" + } +} diff --git a/public/scripts/localization.js b/public/scripts/localization.js index cc6f87c..8d471cb 100644 --- a/public/scripts/localization.js +++ b/public/scripts/localization.js @@ -1,7 +1,7 @@ class Localization { constructor() { Localization.defaultLocale = "en"; - Localization.supportedLocales = ["en", "nb", "ru", "zh-CN", "de", "ro", "id"]; + Localization.supportedLocales = ["en", "nb", "ru", "zh-CN", "de", "ro", "id", "fr"]; Localization.translations = {}; Localization.defaultTranslations = {}; diff --git a/public_included_ws_fallback/index.html b/public_included_ws_fallback/index.html index b5d9694..f2819b6 100644 --- a/public_included_ws_fallback/index.html +++ b/public_included_ws_fallback/index.html @@ -155,6 +155,7 @@ + diff --git a/public_included_ws_fallback/lang/fr.json b/public_included_ws_fallback/lang/fr.json new file mode 100644 index 0000000..6fcc7dc --- /dev/null +++ b/public_included_ws_fallback/lang/fr.json @@ -0,0 +1,160 @@ +{ + "header": { + "about_title": "A propos de", + "language-selector_title": "Choix de la langue", + "about_aria-label": "Ouvrir à propos de", + "theme-auto_title": "Adapter le thème au système", + "theme-light_title": "Toujours utiliser le thème clair", + "theme-dark_title": "Toujours utiliser le thème sombre", + "notification_title": "Activer les notifications", + "install_title": "Installer PairDrop", + "pair-device_title": "Associez vos appareils de manière permanente", + "edit-paired-devices_title": "Gérer les appareils couplés", + "join-public-room_title": "Rejoindre temporairement la salle publique", + "cancel-paste-mode": "Terminé" + }, + "instructions": { + "no-peers_data-drop-bg": "Déposer pour choisir le destinataire", + "no-peers-title": "Ouvrez PairDrop sur d'autres appareils pour envoyer des fichiers", + "no-peers-subtitle": "Associez des appareils ou entrez dans une salle publique pour être visible sur d'autres réseaux", + "x-instructions_desktop": "Cliquez pour envoyer des fichiers ou faites un clic droit pour envoyer un message", + "x-instructions_mobile": "Appuyez pour envoyer des fichiers ou appuyez longuement pour envoyer un message", + "x-instructions_data-drop-peer": "Déposer pour envoyer au destinataire", + "x-instructions_data-drop-bg": "Lâcher pour choisir le destinataire", + "click-to-send": "Cliquez pour envoyer", + "tap-to-send": "Appuyez pour envoyer", + "activate-paste-mode-base": "Ouvrez PairDrop sur d'autres appareils pour envoyer", + "activate-paste-mode-and-other-files": "et {{count}} autres fichiers", + "activate-paste-mode-shared-text": "texte partagé" + }, + "footer": { + "known-as": "Vous êtes connu sous le nom de:", + "display-name_data-placeholder": "Chargement…", + "display-name_title": "Modifiez le nom de votre appareil de manière permanente", + "discovery": "Vous pouvez être découvert:", + "on-this-network": "sur ce réseau", + "on-this-network_title": "Vous pouvez être découvert par tout le monde sur ce réseau.", + "paired-devices": "par les appareils couplés", + "paired-devices_title": "Vous pouvez être découvert par les appareils couplés à tout moment, indépendamment du réseau.", + "public-room-devices": "dans la salle {{roomId}}", + "public-room-devices_title": "Vous pouvez être découvert par les appareils de cette salle publique indépendamment du réseau.", + "traffic": "Le trafic est", + "routed": "routé via le serveur", + "webrtc": "si WebRTC n'est pas disponible.", + "display-name_placeholder": "Chargement…" + }, + "dialogs": { + "pair-devices-title": "Associer les appareils de manière permanente", + "input-key-on-this-device": "Saisissez cette clé sur un autre appareil", + "scan-qr-code": "ou scannez le QR-code.", + "enter-key-from-another-device": "Entrez ici la clé d'un autre appareil.", + "temporary-public-room-title": "Salle publique temporaire", + "input-room-id-on-another-device": "Saisissez cet ID de salle sur un autre appareil", + "enter-room-id-from-another-device": "Entrez l'ID de la salle depuis un autre appareil pour rejoindre la salle.", + "hr-or": "OU", + "pair": "associer", + "cancel": "Annuler", + "edit-paired-devices-title": "Modifier les appareils couplés", + "unpair": "Dissocier", + "paired-devices-wrapper_data-empty": "Aucun appareil couplé.", + "auto-accept-instructions-1": "Activer", + "auto-accept": "auto-accepter", + "auto-accept-instructions-2": "pour accepter automatiquement tous les fichiers envoyés depuis cet appareil.", + "close": "Fermer", + "join": "Rejoindre", + "leave": "Partir", + "would-like-to-share": "aimerait partager", + "accept": "Accepter", + "decline": "Refuser", + "has-sent": "a envoyé:", + "share": "Partage", + "download": "Télécharger", + "send-message-title": "Envoyer un message", + "send-message-to": "Envoyer un message à", + "send": "Envoyer", + "receive-text-title": "Message reçu", + "copy": "Copier", + "base64-processing": "Traitement…", + "base64-tap-to-paste": "Appuyez ici pour coller {{type}}", + "base64-paste-to-send": "Coller ici pour envoyer {{type}}", + "base64-text": "texte", + "base64-files": "fichiers", + "file-other-description-image": "et 1 autre image", + "file-other-description-file": "et 1 autre fichier", + "file-other-description-image-plural": "et {{count}} autres images", + "file-other-description-file-plural": "et {{count}} autres fichiers", + "title-image": "Image", + "title-file": "Fichier", + "title-image-plural": "Images", + "title-file-plural": "Fichiers", + "receive-title": "{{descriptor}} Reçu", + "download-again": "Télécharger à nouveau", + "language-selector-title": "Sélectionnez la langue", + "system-language": "Langue du système" + }, + "about": { + "close-about_aria-label": "Fermer à propos de PairDrop", + "claim": "Le moyen le plus simple de transférer des fichiers entre appareils", + "github_title": "PairDrop sur GitHub", + "buy-me-a-coffee_title": "Achete-moi un café!", + "tweet_title": "Tweet à propos de PairDrop", + "faq_title": "Questions fréquemment posées" + }, + "notifications": { + "display-name-changed-permanently": "Le nom d'affichage est modifié de manière permanente.", + "display-name-changed-temporarily": "Le nom d'affichage est modifié uniquement pour cette session.", + "display-name-random-again": "Le nom d'affichage est à nouveau généré aléatoirement.", + "download-successful": "{{descriptor}} téléchargé", + "pairing-tabs-error": "Le couplage de deux onglets de navigateur Web est impossible.", + "pairing-success": "Appareils couplés.", + "pairing-not-persistent": "Les appareils couplés ne sont pas persistants.", + "pairing-key-invalid": "Clé invalide", + "pairing-key-invalidated": "Clé {{key}} invalidée.", + "pairing-cleared": "Tous les appareils ne sont plus appairés.", + "public-room-id-invalid": "ID de salle non valide", + "public-room-left": "Salle publique {{publicRoomId}} quittée", + "copied-to-clipboard": "Copié dans le presse-papier", + "copied-to-clipboard-error": "Copie impossible. Copier manuellement.", + "text-content-incorrect": "Le contenu du texte est incorrect.", + "file-content-incorrect": "Le contenu du fichier est incorrect.", + "clipboard-content-incorrect": "Le contenu du presse-papiers est incorrect.", + "notifications-enabled": "Notifications activées.", + "link-received": "Lien reçu par {{name}} - Cliquez pour ouvrir", + "message-received": "Message reçu par {{name}} - Cliquez pour copier", + "click-to-download": "Cliquez pour télécharger", + "request-title": "{{name}} souhaite transférer {{count}} {{descriptor}}", + "click-to-show": "Cliquez pour afficher", + "copied-text": "Texte copié dans le presse-papiers", + "copied-text-error": "L'écriture dans le presse-papiers a échoué. Copiez manuellement!", + "offline": "Vous êtes hors ligne", + "online": "Vous êtes de nouveau en ligne", + "connected": "Connecté.", + "online-requirement-pairing": "Vous devez être en ligne pour coupler des appareils.", + "online-requirement-public-room": "Vous devez être en ligne pour créer une salle publique.", + "connecting": "Connexion…", + "files-incorrect": "Les fichiers sont incorrects.", + "file-transfer-completed": "Transfert de fichier terminé.", + "ios-memory-limit": "L'envoi de fichiers vers iOS n'est possible que jusqu'à 200 Mo à la fois", + "message-transfer-completed": "Transfert de message terminé.", + "unfinished-transfers-warning": "Il y a des transferts inachevés. Etes-vous sûr de vouloir fermer PairDrop?", + "rate-limit-join-key": "Limite de débit atteinte. Attendez 10 secondes et réessayez.", + "selected-peer-left": "Appareils selectionnés restants." + }, + "document-titles": { + "file-received": "Fichier reçu", + "file-received-plural": "{{count}} fichiers reçus", + "file-transfer-requested": "Transfert de fichier demandé", + "image-transfer-requested": "Transfert d'image demandé", + "message-received": "Message reçu", + "message-received-plural": "{{count}} Messages reçus" + }, + "peer-ui": { + "click-to-send-paste-mode": "Cliquez pour envoyer {{descriptor}}", + "click-to-send": "Cliquez pour envoyer des fichiers ou faites un clic droit pour envoyer un message", + "connection-hash": "Pour vérifier la sécurité du chiffrement de bout en bout, comparez ce numéro de sécurité sur les deux appareils", + "preparing": "Préparation…", + "waiting": "En attente…", + "processing": "En cours…", + "transferring": "Transfert en cours…" + } +} diff --git a/public_included_ws_fallback/scripts/localization.js b/public_included_ws_fallback/scripts/localization.js index cc6f87c..8d471cb 100644 --- a/public_included_ws_fallback/scripts/localization.js +++ b/public_included_ws_fallback/scripts/localization.js @@ -1,7 +1,7 @@ class Localization { constructor() { Localization.defaultLocale = "en"; - Localization.supportedLocales = ["en", "nb", "ru", "zh-CN", "de", "ro", "id"]; + Localization.supportedLocales = ["en", "nb", "ru", "zh-CN", "de", "ro", "id", "fr"]; Localization.translations = {}; Localization.defaultTranslations = {};