diff options
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js | 225 |
1 files changed, 220 insertions, 5 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js index 0ee20e3..0d927ae 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js @@ -122,6 +122,7 @@ export default { 'welcome.docs_devel': 'Docs développeur', 'welcome.docs_design': 'Conception', 'welcome.docs_protocol': 'Protocole', + 'welcome.docs_api': 'API', 'welcome.download': 'Télécharger (bêta)', 'welcome.legal': 'Informations légales', 'register.err_mismatch': 'Les mots de passe ne correspondent pas', @@ -208,6 +209,11 @@ export default { 'group.mkdir_prompt': 'Nom du nouveau dossier', 'group.mkdir_offline': 'Non connecté au nœud.', 'group.download_offline': 'Pas de connexion au node — le téléchargement ne peut pas démarrer. La reconnexion est automatique, réessayez dans un instant.', + 'group.link_unknown': "Ce lien désigne un groupe dont vous n'êtes pas membre, ou qui ne porte plus ce nom.", + 'group.link_path_unknown': "Rien à l'emplacement {path} dans ce groupe — le fichier a peut-être été déplacé, renommé ou supprimé.", + 'link.copy': "Copier le lien", + 'link.copied': "Lien copié", + 'link.copy_failed': "Copie impossible — le lien est {url}", 'group.download_write_stalled': 'L\'écriture du fichier sur le disque s\'est arrêtée ({seconds} s sans progression). Le téléchargement a été interrompu plutôt que laissé en suspens ; réessayez.', 'device.add_title': 'Ce navigateur n’est pas encore lié à ce nœud', 'device.add_hint': 'Votre compte est connu ici, mais ce navigateur détient une autre clé. Approuvez-le depuis un appareil déjà lié — sans passer par l’opérateur.', @@ -276,6 +282,7 @@ export default { 'group.upload_indexing': 'indexation…', 'video.err_transport': 'Transport non connecté', 'video.err_mse': 'Codec non pris en charge pour la diffusion : {codec}', + 'video.err_no_mse': 'Ce navigateur ne sait pas diffuser de vidéo (un iPhone doit être en iOS 17.1 ou plus récent)', 'video.mode_poster': 'Affiches', 'video.mode_flat': 'Liste à plat', 'video.filter_all': 'Tous', @@ -372,10 +379,17 @@ export default { one: '{n} photo', other: '{n} photos', }, + 'photo.n_videos': { + one: "{n} vidéo", + other: "{n} vidéos", + }, + 'photo.play_video': "Lire la vidéo", 'photo.back': 'Retour', 'photo.prev': 'Précédent (←)', 'photo.next': 'Suivant (→)', 'photo.zip_album': "Télécharger l'album en zip", + 'photo.slideshow': 'Diaporama', + 'photo.slideshow_stop': 'Arrêter le diaporama', 'photo.zoom_in': 'Zoomer', 'photo.zoom_out': 'Dézoomer', 'photo.zoom_fit_title': 'Ajuster à la fenêtre', @@ -389,6 +403,13 @@ export default { 'cast.copied': 'URL copiée', 'cast.scanning': "Recherche d'appareils…", 'cast.no_devices': 'Aucun appareil trouvé', + 'cast.casting_to': 'Diffusion sur', + 'cast.seek': 'Position dans le film', + 'cast.waiting': 'En attente de la télévision…', + 'cast.back30': 'Reculer de 30 secondes', + 'cast.fwd30': 'Avancer de 30 secondes', + 'cast.play': 'Lecture', + 'cast.pause': 'Pause', // Settings 'settings.title': 'Paramètres', @@ -419,6 +440,15 @@ export default { 'settings.email_verified': 'Adresse e-mail modifiée avec succès.', 'settings.notif_global_disable': 'Désactiver toutes les notifications', 'settings.notif_global_hint': 'Quand activé, aucune notification n\x27est créée pour aucun groupe.', + 'settings.push_label': 'Notifications sur ce téléphone', + 'settings.push_off': 'Désactivées. Activez-les pour être prévenu des nouveaux messages et invitations quand MeshBay est fermé.', + 'settings.push_pending': 'En attente de la réponse du distributeur…', + 'settings.push_blocked': 'Android bloque les notifications de MeshBay : autorisez-les dans les paramètres du système.', + 'settings.push_ready': 'Activées. Les nouvelles notifications arrivent sur ce téléphone par le distributeur, chiffrées pour qu’il ne puisse pas les lire.', + 'settings.push_poll': 'Activées. Ce téléphone vérifie les nouvelles notifications environ toutes les quinze minutes. Pour les recevoir immédiatement, vous pouvez installer une application de distribution UnifiedPush comme ntfy (facultatif).', + 'settings.push_global_off': 'Rien n’est envoyé tant que toutes les notifications sont désactivées.', + 'push.channel_chat': 'Messages', + 'push.channel_other': 'Invitations et compte', 'settings.defaults': 'Valeurs par défaut', 'settings.default_tab': 'Onglet par défaut', 'settings.default_tab_hint': 'L\'onglet qui s\'ouvre en premier quand vous entrez dans un groupe.', @@ -493,12 +523,11 @@ export default { 'firstrun.hint': 'Un hub détient votre compte et vous met en relation avec les nœuds. Il ne voit ni vos fichiers, ni vos messages, ni vos clés.', 'firstrun.btn': 'Continuer', 'firstrun.checking': 'Vérification…', - 'firstrun.note': 'Il n’y a volontairement pas de valeur par défaut : cette application ne fait confiance à un hub que pour son API, jamais pour l’interface, qui est livrée avec l’application.', 'device.this_device': 'Cet appareil', 'settings.keys_heading': 'Clés sur cet appareil', 'settings.hub_heading': 'Hub', 'settings.hub_current': 'Actuellement', - 'settings.hub_hint': 'Changer cette adresse vous déconnecte et redémarre la fenêtre.', + 'settings.hub_hint': 'Le hub auquel cette application se connecte. En changer vous déconnecte : votre compte reste sur ce hub.', 'settings.hub_change': 'Changer', 'settings.keys_where': 'Protégées par', 'settings.keys_unprotected': 'Aucun trousseau système ne fonctionne : vos clés sont chiffrées avec une clé qui n’est pas secrète. Quiconque peut lire les fichiers de cette machine peut les lire. Démarrez un trousseau, ou considérez cet appareil comme non fiable.', @@ -516,6 +545,9 @@ export default { 'settings.node_key_placeholder': 'Collez la clé publique Ed25519 du node (base64)', 'settings.node_key_submit': 'Associer le node', 'settings.node_key_success': 'Node associé avec succès', + 'settings.node_key_unlink': "Délier", + 'settings.node_key_unlink_confirm': "Délier le node de votre compte ? Il cessera de servir vos groupes jusqu'à ce qu'un node soit lié de nouveau.", + 'settings.node_key_unlinked': "Node délié", 'settings.node_key_current': 'Clé du node associé', // Sidebar @@ -757,6 +789,7 @@ export default { 'transfers.eta_minutes': '{n} min restantes', 'transfers.eta_hours': '{n} h restantes', 'transfers.failed': 'Échec', + 'transfers.disk_full': 'Le disque du node est plein', 'group.select': 'Sélectionner', 'group.select_done': 'Terminé', 'group.actions': 'Actions ({n})', @@ -889,6 +922,8 @@ export default { 'lazy.reload': 'Recharger la page', // Sidebar + 'sidebar.phone': 'Téléphone', + 'androidsync.title': 'Android Sync', 'sidebar.node': 'Node', // Node admin @@ -914,6 +949,7 @@ export default { 'node.startup_mode_service': 'Comme service en arrière-plan (démarre au boot)', 'node.startup_mode_updating': 'Changement de mode — vérifiez une invite d\'administrateur…', 'node.startup_mode_service_unavailable_hint': 'Le mode service en arrière-plan nécessite une version installée. Pour un test local, exécutez "meshbay-node service install" depuis un PowerShell administrateur.', + 'node.startup_mode_service_store_hint': 'Démarrer au boot, avant toute ouverture de session, nécessite l\'installeur MeshBay (.exe) plutôt que la version du Microsoft Store.', 'node.not_operator': 'Impossible de joindre votre node. Vérifiez qu\'il est en cours d\'exécution.', 'node.offline': 'Node hors ligne', 'node.retry': 'Réessayer', @@ -921,6 +957,13 @@ export default { 'node.pair_code_placeholder': "Code d'appairage", 'node.pair_button': 'Appairer ce navigateur', 'node.pair_success': 'Appairage réussi.', + 'node.pair_pending': "Code d'appairage prêt : il sera utilisé à la prochaine ouverture d'un des groupes de ce node.", + 'node.link_other_node': "Votre compte est lié au node d'une autre machine : ce node-ci ne peut pas servir vos groupes.", + 'node.link_here': "Lier ce node à la place", + 'node.link_here_confirm': "Lier ce node à votre compte ? Le node lié actuellement, sur une autre machine, cessera de servir vos groupes jusqu'à ce qu'il soit lié de nouveau.", + 'node.link_other_account': "Ce node est configuré pour {account}, pas pour vous : il ne peut pas servir vos groupes.", + 'node.link_take_over': "Utiliser ce node pour mon compte", + 'node.link_linking': "Liaison…", 'node.reload': 'Recharger la configuration', 'node.reloaded': 'Configuration rechargée. Les modifications de répertoires sur les groupes existants sont maintenant actives.', 'node.restart_needed': 'Après l\'ajout : initialisez la clé de groupe (meshbay-node gek-init --group <name>).', @@ -959,8 +1002,6 @@ export default { 'node.root_no_signing_key': 'Aucune clé de signature disponible — appairez d\'abord cet appareil avec le nœud', 'node.root_no_route': 'Aucune route vers le nœud — connectez-vous à lui, ou utilisez l\'application sur la machine qui l\'héberge', 'node.root_remove_last': 'Un groupe a besoin d\'au moins un répertoire', - 'node.root_path_hint': 'Le chemin tel que le nœud le voit, sur la machine qui héberge ce groupe.', - 'node.root_path_placeholder': '/home/user/Media', 'node.root_path': 'Chemin', 'node.root_added': 'Répertoire ajouté.', 'node.root_remove_confirm': 'Retirer « {name} » de ce groupe ?', @@ -983,7 +1024,6 @@ export default { 'node.gek_init_hint': 'Aucune clé de groupe pour l\'instant. Lancez GEK init depuis la ligne de commande pour en créer une.', 'node.gek_public_hint': 'La rotation de clé n\'est pas disponible pour les groupes publics.', 'node.gek_rotate': 'Rotation de la clé de groupe', - 'node.gek_rotate_confirm': 'Effectuer la rotation de la clé de groupe ? Les membres connectés recevront la nouvelle clé automatiquement. Le contenu déjà téléchargé n\'est pas affecté.', 'node.gek_rotated': 'Clé de groupe renouvelée.', 'node.roster': 'Registre', 'node.roster_load': 'Charger le registre', @@ -1089,9 +1129,12 @@ export default { 'settings_app.chat_encrypted_always': 'La discussion de ce groupe est toujours chiffrée. Cela ne peut pas être désactivé.', 'settings_app.chat_rotate_epoch': 'Faire tourner la clé de discussion', 'settings_app.chat_rotate_epoch_hint': 'Les membres continuent de lire tout l\'historique. Quiconque a été retiré du groupe ne peut plus lire ce qui sera écrit. Retirer un membre ou un appareil le fait déjà tout seul.', + 'settings_app.chat_purge': 'Purger la discussion', + 'settings_app.chat_purge_hint': 'Supprime tous les messages de la discussion de ce groupe sur ce nœud, pour tous les membres. Les pièces jointes restent dans leur dossier. C\'est irréversible.', 'settings_app.tmdb_token_prompt': 'Créez un compte TMDB pour générer votre propre clé d\'API.', 'settings_app.tmdb_token_link': 'Obtenir une clé', 'settings_node.roots_offline_hint': 'Non connecté au nœud — les changements passent par le nœud local et prennent effet à son prochain rechargement.', + 'settings_node.roots_local_only_hint': 'L\'ajout d\'un dossier et le passage en lecture-écriture ou amovible se font sur la machine du nœud — dans l\'application de bureau, ou avec meshbay-node root.', 'settings_node.directories_title': 'Répertoires des applications', 'settings_node.directories_hint': 'Quel(s) dossier(s) partagés les applications Vidéos, Musique et Photos utilisent comme leur(s) propre(s) point(s) d\'entrée.', @@ -1203,4 +1246,176 @@ export default { // In-page confirm/alert (ask.js) 'dialog.ok': 'OK', 'dialog.cancel': 'Annuler', + + // Content reports (report.js, admin-page.js) + 'report.action': "Signaler", + 'report.title': "Signaler ce fichier", + 'report.hint': "Un administrateur de ce hub l’examinera.", + 'report.reason_illegal': "Contenu illégal", + 'report.reason_spam': "Spam", + 'report.reason_copyright': "Atteinte au droit d’auteur", + 'report.reason_other': "Autre", + 'report.detail_placeholder': "Précisions (facultatif)", + 'report.send': "Envoyer le signalement", + 'report.sent': "Merci. Votre signalement a été enregistré.", + 'admin.tab_reports': "Signalements", + 'admin.no_reports': "Rien n’attend de décision", + 'admin.col_reporters': "Signalements reçus", + 'admin.btn_dismiss': "Écarter", + 'admin.report_block_confirm': "Bloquer ce fichier ? Chaque nœud qui héberge un groupe public cessera de le servir.", + 'admin.reports_heading': "Signalement de contenu", + 'admin.reports_hint': "Qui peut signaler un fichier dans un groupe public, à quelle fréquence, et ce qui se passe quand assez de membres l’ont fait.", + 'admin.reports_min_account_age_hours': "Âge minimal du compte (heures)", + 'admin.reports_daily_per_account': "Signalements par compte et par jour", + 'admin.reports_review_threshold': "Membres avant examen", + 'admin.reports_auto_block': "Bloquer sans examen (1 = oui, 0 = non)", + 'admin.reports_save': "Enregistrer les réglages de signalement", + + // Names made writable everywhere when saved (portable-name.js) + 'transfers.renamed': "Renommé : « {name} » n’est pas un nom valide sur tous les systèmes", + 'transfers.renamed_n': "Noms modifiés pour être valides sur tous les systèmes : {n}", + + // Invitations waiting for an answer, and the nodes a group owner approves + 'home.invitations': "Invitations", + 'home.invitation_hint': "Quelqu'un vous a ajouté à ces groupes. N'acceptez que ceux que vous attendez : un groupe que vous rejoignez voit votre adresse quand vous l'ouvrez.", + 'home.invited_by': "invité par {name}", + 'home.accept': "Accepter", + 'home.decline': "Refuser", + 'members.invited': "invité", + 'members.awaiting_code': "en attente du code", + 'hosts.title': "Hôtes", + 'hosts.hint': "Vos propres nodes servent ce groupe sans rien demander. Un autre node ne le sert qu'une fois approuvé ici ; un node qui le demande apparaît ci-dessous.", + 'hosts.none': "Aucun autre node n'a demandé à héberger ce groupe.", + 'hosts.from': "Un node de {name}", + 'hosts.status_pending': "en attente de votre réponse", + 'hosts.status_approved': "approuvé", + 'hosts.status_refused': "refusé", + 'hosts.approve': "Approuver", + 'hosts.refuse': "Refuser", + 'hosts.online': "en ligne", + + 'group.bundle_format_retired': 'Ce node détient votre identité dans un format que cette version ne lit plus. Demandez à son opérateur d\'exécuter « meshbay-node member unpin » pour votre compte et de vous envoyer un nouveau code d\'invitation.', + + 'settings.browser_access': 'Accès depuis un navigateur', + 'settings.browser_access_on_hint': 'Un navigateur peut ouvrir vos groupes avec votre phrase secrète : cette application dépose votre identité sur chaque node, scellée de sorte que seule votre phrase secrète, avec votre compte sur le hub, puisse l\'ouvrir.', + 'settings.browser_access_off_hint': 'Vos identités restent sur cet appareil. Rien d\'elles n\'est déposé sur aucun node, et un navigateur ne peut pas ouvrir vos groupes avec votre seule phrase secrète. Un navigateur que vous approuvez depuis cette application reçoit ses propres identités.', + 'settings.browser_access_turn_on': 'Autoriser les navigateurs', + 'settings.browser_access_turn_off': 'Garder les identités sur cet appareil seulement', + 'settings.browser_access_next_open': 'Appliqué à chaque groupe la prochaine fois qu\'il s\'ouvre.', + 'settings.browser_access_off_in_browser': 'L\'accès depuis un navigateur est désactivé pour ce compte. Il s\'active dans l\'application de bureau MeshBay, qui peut aussi approuver ce navigateur pour lui-même.', + 'group.browser_access_off': 'L\'accès depuis un navigateur est désactivé pour ce compte. Activez-le dans l\'application de bureau MeshBay (Profil), ou approuvez ce navigateur depuis celle-ci.', + // Worded by the desktop main process for its own dialogs (main.js). + 'native.node_account_confirm': 'Le node de cet ordinateur est configuré pour {current}. Le configurer pour {next} à la place ? Il cessera de servir les groupes qu\'il héberge pour {current}.', + 'native.browser_access_confirm': 'Autoriser la connexion depuis un navigateur ? L\'application déposera votre identité sur chaque node que vous utilisez, scellée de sorte que seule votre phrase secrète, avec votre compte sur le hub, puisse l\'ouvrir.', + 'native.declined': 'Annulé — rien n\'a été modifié.', + + // Photo backup, Android only (photo-sync.js, photo-sync-settings.js). + 'photosync.heading': "Sauvegarde des photos", + 'photosync.intro': "Envoyer les photos prises avec ce téléphone dans un dossier d'un de vos groupes, une fois par jour, en Wi-Fi. Les photos supprimées du téléphone restent dans le groupe.", + 'photosync.setup': "Configurer", + 'photosync.change': "Modifier", + 'photosync.turn_off': "Désactiver", + 'photosync.now': "Sauvegarder maintenant", + 'photosync.permission_needed': "MeshBay a besoin d'accéder aux photos de ce téléphone.", + 'photosync.permission_allow': "Autoriser l'accès", + 'photosync.permission_partial': "L'accès est limité aux photos que vous avez sélectionnées : les nouvelles photos ne seront pas sauvegardées tant que vous n'autorisez pas l'accès à toutes.", + 'photosync.group': "Groupe", + 'photosync.choose_group': "Choisir un groupe", + 'photosync.checking_group': "Lecture des dossiers du groupe…", + 'photosync.group_offline': "Aucun node hébergeant ce groupe n'est en ligne pour le moment. Réessayez quand il le sera.", + 'photosync.folder': "Dossier", + 'photosync.albums': "Albums de ce téléphone", + 'photosync.album_camera': "Appareil photo", + 'photosync.album_count': "{n} photos · {size}", + 'photosync.videos_not_included': "Les vidéos ne sont pas sauvegardées : « Modifier » pour les ajouter.", + 'photosync.videos_included': "Les vidéos sont sauvegardées aussi.", + 'photosync.include_videos': "Les vidéos aussi", + 'photosync.include_videos_hint': "Les vidéos sont lourdes : elles partent en Wi-Fi comme les photos, et la première sauvegarde peut être longue.", + 'photosync.album_count_videos': "{n} photos, {v} vidéos · {size}", + 'photosync.confirm_videos': "{count} photos et vidéos ({size}), dont {videos} vidéos ({videoSize}), seront envoyées dans {dir}, puis les nouvelles une fois par jour.", + 'photosync.video_permission_needed': "MeshBay a aussi besoin d'accéder aux vidéos de ce téléphone.", + 'photosync.scope_existing': "Les photos déjà sur ce téléphone, puis les nouvelles", + 'photosync.scope_new': "Seulement les photos prises à partir de maintenant", + 'photosync.start': "Lancer la sauvegarde", + 'photosync.confirm': "{count} photos ({size}) seront envoyées dans {dir}, puis les nouvelles une fois par jour.", + 'photosync.confirm_new': "Les nouvelles photos seront envoyées dans {dir} une fois par jour.", + 'photosync.metered_confirm': "Vous êtes en données mobiles — {count} photos, {size}. Les envoyer quand même ?", + 'photosync.other_account': "Configurée pour @{account}. Connectez-vous en tant que @{account} pour la poursuivre, ou configurez-la à nouveau ici.", + 'photosync.sent_total': "Photos envoyées : {n}", + 'photosync.last_run': "Dernière sauvegarde : {when}", + 'photosync.never': "Pas encore sauvegardé", + 'photosync.state_waiting_wifi': "En attente du Wi-Fi", + 'photosync.state_connecting': "Connexion au groupe…", + 'photosync.state_sending': "Envoi {done} / {total}", + 'photosync.state_offline': "Aucun node hébergeant le groupe n'est en ligne ; nouvel essai plus tard", + 'photosync.state_interrupted': "Interrompue — elle reprendra à la prochaine occasion", + 'photosync.state_up_to_date': "À jour", + 'photosync.notif_progress': "Sauvegarde des photos — {done} / {total}", + 'photosync.fail_disk_full': "Sauvegarde des photos arrêtée : le disque du node est plein.", + 'photosync.fail_read_only': "Sauvegarde des photos arrêtée : le dossier n'accepte plus les dépôts.", + 'photosync.fail_no_folder': "Sauvegarde des photos arrêtée : le dossier n'existe plus dans le groupe.", + 'photosync.fail_unavailable': "Sauvegarde des photos arrêtée : le disque du dossier n'est pas branché sur le node.", + 'photosync.fail_not_member': "Sauvegarde des photos arrêtée : vous n'êtes plus membre de ce groupe.", + 'photosync.fail_permission': "Sauvegarde des photos arrêtée : MeshBay n'a plus accès aux photos.", + 'photosync.fail_other': "Sauvegarde des photos arrêtée.", + 'contactsync.heading': "Sauvegarde des contacts", + 'contactsync.intro': "Envoyer une copie des contacts de ce téléphone une fois par jour s'ils ont changé. Chaque copie est un fichier .vcf que tout téléphone sait importer.", + 'contactsync.permission_needed': "MeshBay a besoin d'accéder aux contacts de ce téléphone.", + 'calendarsync.heading': "Sauvegarde de l'agenda", + 'calendarsync.intro': "Envoyer une copie des agendas de ce téléphone une fois par jour s'ils ont changé : ceux que vous pouvez modifier, pas ceux auxquels vous êtes seulement abonné. Chaque copie est un fichier .ics que tout agenda sait importer.", + 'calendarsync.permission_needed': "MeshBay a besoin d'accéder aux agendas de ce téléphone.", + 'messagesync.heading': "Sauvegarde des SMS", + 'messagesync.intro': "Envoyer les SMS de ce téléphone une fois par jour : la première copie les contient tous, les suivantes seulement les nouveaux. Les fichiers sont au format XML que les applis de sauvegarde SMS savent restaurer. Les MMS ne sont pas inclus.", + 'messagesync.permission_needed': "MeshBay a besoin d'accéder aux SMS de ce téléphone.", + 'messagesync.restricted_hint': "Si Android parle d'un paramètre restreint : ouvrez les réglages de l'appli, touchez ⋮ en haut, « Autoriser les paramètres restreints », puis revenez l'activer. Android l'exige des applis installées hors d'un store.", + 'phonesync.state_sending': "Envoi…", + 'phonesync.summary': "{group} → {dir}", + 'phonesync.copies_sent': "Copies envoyées : {n}", + 'phonesync.last_file': "Dernière copie : {name}", + 'phonesync.checking_groups': "Recherche des groupes dont vous êtes le propriétaire et le seul membre…", + 'phonesync.no_private_group': "Vous n'avez aucun groupe dont vous êtes le propriétaire et le seul membre. Créez-en un rien que pour vous, puis revenez ici.", + 'phonesync.no_folder': "Ce groupe n'a aucun dossier où vous pouvez ajouter des fichiers.", + 'phonesync.notice': "{what}. {reason}", + 'phonesync.fail_disk_full': "Arrêtée : le disque du node est plein.", + 'phonesync.fail_read_only': "Arrêtée : le dossier n'accepte plus d'envois.", + 'phonesync.fail_no_folder': "Arrêtée : le dossier n'existe plus dans le groupe.", + 'phonesync.fail_unavailable': "Arrêtée : le disque du dossier n'est pas branché au node.", + 'phonesync.fail_not_member': "Arrêtée : vous n'êtes plus membre de ce groupe.", + 'phonesync.fail_not_private': "Arrêtée : quelqu'un d'autre a rejoint le groupe.", + 'phonesync.fail_permission': "Arrêtée : MeshBay n'y a plus accès.", + 'phonesync.fail_other': "Arrêtée.", + 'phonesync.open_settings': "Ouvrir les réglages de l'appli", + 'drivesync.heading': "Sauvegarde des fichiers", + 'drivesync.intro': "Envoyer les fichiers des dossiers que vous choisissez sur ce téléphone, une fois par jour, en Wi-Fi. Un fichier modifié sur le téléphone est renvoyé à côté de la copie précédente ; rien n'est jamais remplacé.", + 'drivesync.folders': "Dossiers sauvegardés", + 'drivesync.no_folders': "Aucun dossier choisi pour l'instant.", + 'drivesync.folders_hint': "Les photos et vidéos relèvent de la sauvegarde des photos : DCIM, Pictures et Movies ne peuvent pas être choisis. Android ne laisse pas une appli prendre tout Download, seulement des dossiers à l'intérieur.", + 'drivesync.add_folder': "Ajouter un dossier", + 'drivesync.remove': "Retirer", + 'drivesync.refused_media': "Ce dossier contient des photos et vidéos, que la sauvegarde des photos envoie : choisissez-en un autre.", + 'drivesync.refused_root': "Android ne permet pas de choisir un stockage entier : choisissez un dossier à l'intérieur.", + 'drivesync.notif_progress': "Sauvegarde des fichiers : {done} / {total}", + 'drivesync.metered_confirm': "Vous êtes en données mobiles. Envoyer les fichiers quand même ?", + 'drivesync.sent_total': "Fichiers envoyés : {n}", + 'whatsappsync.heading': "WhatsApp", + 'whatsappsync.intro': "Copier les sauvegardes de conversations que fait WhatsApp, une fois par jour en Wi-Fi, pour pouvoir les restaurer sur un nouveau téléphone. Elles restent chiffrées par WhatsApp : on ne peut pas les lire ici, seulement les restaurer.", + 'whatsappsync.folder_needed': "Le dossier de WhatsApp n'est pas encore choisi.", + 'whatsappsync.folder_chosen': "Le dossier de WhatsApp est choisi.", + 'whatsappsync.folder_choose': "Choisir le dossier de WhatsApp", + 'whatsappsync.folder_hint': "Le sélecteur s'ouvre dessus : Android/media/com.whatsapp/WhatsApp. Appuyez sur « Utiliser ce dossier ».", + 'whatsappsync.media': "Les médias aussi", + 'whatsappsync.media_hint': "Photos, vidéos, messages vocaux et documents reçus et envoyés : souvent plusieurs gigaoctets. Ceux que la sauvegarde des photos envoie déjà ne partent pas deux fois.", + 'whatsappsync.refused': "Ce n'est pas le dossier de WhatsApp : choisissez Android/media/com.whatsapp/WhatsApp.", + 'whatsappsync.restore_hint': "Pour restaurer sur un nouveau téléphone : copiez les dossiers Databases et Backups de la dernière copie dans Android/media/com.whatsapp/WhatsApp avant d'installer WhatsApp, puis restaurez avec le même numéro (et le mot de passe ou la clé de 64 chiffres si la sauvegarde chiffrée de bout en bout est activée).", + 'whatsappsync.notif_progress': "Sauvegarde de WhatsApp : {done} / {total}", + 'androidsync.dest_heading': "Destination des sauvegardes", + 'androidsync.dest_intro': "Les sauvegardes vont dans un dossier d'un groupe dont vous êtes le propriétaire et le seul membre. Chaque type de sauvegarde y a son propre dossier.", + 'androidsync.dest_summary': "{group} → {folder}", + 'androidsync.dest_dirs': "Dossiers utilisés : {dirs}", + 'androidsync.dest_change_confirm': "Toutes les sauvegardes recommenceront dans {folder} de {group}. Ce qui a déjà été envoyé reste où il est.", + 'androidsync.dest_not_in_photos': "L'onglet Photos du groupe n'affiche pas {dir} : les photos seront sauvegardées mais pas affichées tant que ce dossier ne fait pas partie de ceux de l'onglet (paramètres du groupe).", + 'androidsync.dest_needed': "Choisissez d'abord la destination des sauvegardes, en haut de cette page.", + 'androidsync.dest_save': "Enregistrer", + 'phonesync.turn_on': "Activer", + 'photosync.fail_not_private': "Sauvegarde des photos arrêtée : quelqu'un d'autre a rejoint le groupe.", }; |