i18n: update all languages

This commit is contained in:
Edouard Vanbelle
2026-08-08 21:19:40 +02:00
parent 779005055c
commit 2be2928ddc
16 changed files with 8668 additions and 2309 deletions
+597 -169
View File
@@ -65,7 +65,11 @@
"sharedwithme": "Partages avec moi",
"profile": "Profil",
"shared_with_me": "Partages avec moi",
"groups": "Groupes"
"groups": "Groupes",
"primary": "Primaire",
"admin_sections": "Sections d'administration",
"back_to_app": "Retour à OxiCloud",
"toggle": "Basculer le menu de navigation"
},
"photos": {
"empty_state": "Pas encore de photos",
@@ -76,7 +80,21 @@
"view_daily": "Jour",
"view_monthly": "Mois",
"view_yearly": "Année",
"group_by": "Grouper par"
"group_by": "Grouper par",
"confirm_delete": "Déplacer {{n}} photos vers la corbeille ?",
"confirm_delete_one": "Supprimer {{name}} ?",
"delete": "Supprimer des photos",
"empty": "Pas encore de photos.",
"full_resolution": "Pleine résolution",
"trash_partial": "{{ok}} sur {{total}} déplacé vers la corbeille.",
"trashed": "{{n}} déplacé vers la corbeille.",
"layout_square": "Grille",
"layout_justified": "Justifié",
"tab_moments": "Instants",
"tab_places": "Lieux",
"tab_people": "Personnes",
"map_loading": "Chargement de la carte…",
"map_error": "Impossible de charger la carte"
},
"music": {
"create_playlist": "Créer une Playlist",
@@ -127,24 +145,43 @@
"loading": "Chargement…",
"search_error": "Impossible de charger les fichiers audio",
"adding": "Ajout en cours…",
"can_write": "Can edit",
"cover_updated": "Cover updated",
"empty_hint": "Create your first playlist to start organizing your music",
"make_private": "Make private",
"make_public": "Make public",
"manage_shares": "Manage Shares",
"no_shares": "No shares yet",
"playback_error": "Playback failed",
"can_write": "Peut modifier",
"cover_updated": "Couverture mise à jour",
"empty_hint": "Créez votre première playlist pour commencer à organiser votre musique",
"make_private": "Rendre privé",
"make_public": "Rendre public",
"manage_shares": "Gérer les partages",
"no_shares": "Pas de partage pour l'instant",
"playback_error": "La lecture a échoué",
"private": "Private",
"public": "Public",
"read_only": "Read only",
"read_only": "Lecture seule",
"remove": "Remove",
"remove_share": "Remove share",
"set_cover": "Set cover",
"share_with_user": "User ID or email",
"remove_share": "Supprimer le partage",
"set_cover": "Définir la couverture",
"share_with_user": "Identifiant d'utilisateur ou email",
"toggle_public": "Visibility",
"track_removed": "Track removed",
"prev": "Précédent"
"track_removed": "Piste supprimée",
"prev": "Précédent",
"add_selected": "Ajouter la sélection",
"create_playlist_hint": "Tapez un nom de liste de lecture pour en créer une.",
"created": "Créé « {{name}} ».",
"delete_playlist": "Supprimer la liste de lecture",
"deleted": "« {{name}} » supprimé.",
"edit_description": "Modifier la description",
"empty_playlist": "Cette playlist ne contient pas encore de titres.",
"new_playlist": "Nouvelle liste de lecture",
"no_audio": "Aucun fichier audio trouvé.",
"now_private": "La playlist est désormais privée.",
"now_public": "La playlist est désormais publique.",
"pick_or_create": "Existant : {{list}}. Tapez un nom à ajouter ou à créer.",
"rename_playlist": "Renommer la liste de lecture",
"reordered": "Playlist réorganisée.",
"seek": "Chercher",
"selected_count": "{{n}} sélectionné",
"share_added": "Commun.",
"track_count": "{{n}} pistes",
"tracks_added": "Ajout de {{n}} pistes."
},
"actions": {
"search": "Rechercher des fichiers...",
@@ -195,7 +232,9 @@
"auto": "Comme le système"
},
"manage_groups": "Gérer les groupes",
"admin": "Admin"
"admin": "Admin",
"mit_license": "Licence MIT",
"title": "Menu utilisateur"
},
"share": {
"dialogTitle": "Lien de partage",
@@ -222,33 +261,66 @@
"shareUpdated": "Paramètres de partage mis à jour",
"shareRemoved": "Partage supprimé avec succès",
"inviteByEmail": "Inviter par e-mail — une invitation sera envoyée",
"directoryUnavailable": "User directory unavailable",
"linkNamePlaceholder": "Link name (optional)",
"newLink": "New link",
"noExpiry": "No expiry",
"directoryUnavailable": "Annuaire des utilisateurs indisponible",
"linkNamePlaceholder": "Nom du lien (facultatif)",
"newLink": "Nouveau lien",
"noExpiry": "Pas d'expiration",
"pending": "Pending",
"people": "People",
"publicLinks": "Public links",
"publicLinks": "Liens publics",
"role": {
"canEdit": "Can edit",
"canManage": "Can manage",
"canView": "Can view"
"canEdit": "Peut modifier",
"canManage": "Peut gérer",
"canView": "Peut voir"
},
"searchPlaceholder": "Search people…",
"shareOf": "Share of:",
"sharedLink": "Shared link",
"copied": "Link copied",
"searchPlaceholder": "Rechercher des personnes…",
"shareOf": "Part de :",
"sharedLink": "Lien partagé",
"copied": "Lien copié",
"copy": "Copier",
"copy_failed": "Could not copy link",
"copy_failed": "Impossible de copier le lien",
"download": "Télécharger",
"files": "Fichiers",
"folders": "Dossiers",
"link_name": "Link name (optional)",
"link_name": "Nom du lien (facultatif)",
"notifyByEmail": "Notifier par e-mail",
"revoke": "Remove",
"role_label": "Rôle",
"col_shared_by": "Partagé par",
"col_shared": "Partagé"
"col_shared": "Partagé",
"addPassword": "Ajouter un mot de passe",
"add_people": "Ajoutez des personnes, des groupes ou un e-mail…",
"bad_password": "Mot de passe incorrect. Veuillez réessayer.",
"changePassword": "Changer le mot de passe",
"create_link": "Créer un lien",
"created": "Lien public créé",
"dialog_title": "Partager « {{name}} »",
"download_zip": "Télécharger le fichier ZIP",
"empty_folder": "Ce dossier est vide.",
"error": "Quelque chose s'est mal passé. Veuillez réessayer.",
"expired": "Ce lien de partage n'est plus disponible.",
"expires_optional": "Expire (facultatif)",
"expiry": "Expiration",
"invalid": "Ce lien de partage n'est pas valide.",
"link": "Lien",
"no_people": "Pas encore partagé avec qui que ce soit.",
"none": "Pas encore de liens publics.",
"notify": {
"coalesced": "{{n}} déjà notifié récemment.",
"rateLimited": "{{n}} atteint la limite de débit – réessayez plus tard.",
"sent": "{{n}} averti par email.",
"skipped": "{{n}} skipped (no email / opted out)."
},
"passwordPrompt": "Définir un mot de passe :",
"passwordPrompt_clear": "Nouveau mot de passe (vide à supprimer) :",
"password_cleared": "Mot de passe supprimé",
"password_optional": "Mot de passe (facultatif)",
"password_set": "Mot de passe mis à jour",
"password_title": "Mot de passe requis",
"public_link": "Lien public",
"set_expiry": "Définir l'expiration",
"title": "Commun",
"unlock": "Ouvrir"
},
"share_dialogTitle": "Lien de partage",
"share_linkLabel": "Lien partagé :",
@@ -402,7 +474,47 @@
"favorite": "Ajouter aux favoris",
"unfavorite": "Retirer des favoris",
"open": "Ouvrir",
"download_zip": "Télécharger en ZIP"
"download_zip": "Télécharger en ZIP",
"already_favorites": "Tous les éléments sélectionnés sont déjà favoris",
"batch_delete": "Supprimer la sélection",
"breadcrumb": "Fil d'Ariane",
"cancel_selection": "Annuler la sélection",
"confirm_batch_delete": "Déplacer {{n}} éléments vers la corbeille ?",
"confirm_delete": "Déplacer \"{{name}}\" vers la corbeille ?",
"confirm_delete_n": "Supprimer {{count}} élément(s) ?",
"copied": "Copié",
"copy_here": "Copiez ici",
"copy_n": "Copier {{n}} éléments",
"copy_title": "Copiez « {{name}} »",
"edit_new_tab": "Modifier dans un nouvel onglet",
"editor": "Éditeur de documents",
"empty_title": "Ce dossier est vide",
"favorited": "Préféré",
"grid": "Grille",
"list": "Liste",
"more_actions": "Plus de propositions",
"move_here": "Déplacez-vous ici",
"move_n": "Déplacer {{n}} éléments",
"move_title": "Déplacer « {{name}} »",
"moved": "Déplacé",
"new_folder_prompt": "Nouveau nom de dossier",
"no_home": "Aucun dossier personnel disponible.",
"no_preview": "Aucun aperçu disponible pour ce type de fichier.",
"no_subfolders": "Aucun sous-dossier ici.",
"owner_me": "Moi",
"preview_failed": "Impossible de charger l'aperçu.",
"select_all": "Tout sélectionner",
"selected_count": "{{count}} sélectionné",
"selection": "Sélection",
"shared": "Commun",
"uploaded": "Téléchargement terminé",
"uploaded_saved": "Téléchargement terminé — {{mb}} Mo dédupliqués",
"uploaded_partial": "{{ok}} téléchargé, {{failed}} a échoué",
"uploaded_skipped": "{{ok}} téléchargé · {{skipped}} ignoré (pas de fichiers normaux)",
"upload_failed": "Échec du téléchargement",
"uploading": "Téléchargement…",
"uploading_file": "Téléchargement {{name}}…",
"uploading_n": "Uploading {{done}}/{{total}} files…"
},
"dialogs": {
"rename_folder": "Renommer le dossier",
@@ -439,9 +551,9 @@
"notify": "Envoyer une notification",
"recipient": "Destinataire",
"message": "Message",
"go_to_parent": ".. (parent folder)",
"no_subfolders": "No subfolders",
"select_this_folder": "Select this folder",
"go_to_parent": ".. (dossier parent)",
"no_subfolders": "Aucun sous-dossier",
"select_this_folder": "Sélectionnez ce dossier",
"move_to_home": "Déplacer vers le dossier personnel"
},
"dropzone": {
@@ -468,7 +580,8 @@
"group_depth_exceeded": "Cette profondeur d'imbrication dépasse le maximum autorisé (8).",
"group_virtual_immutable": "Le groupe « Internal » est géré par le système et ne peut pas être modifié.",
"group_not_found": "Groupe introuvable.",
"group_name_taken": "Un groupe portant ce nom existe déjà."
"group_name_taken": "Un groupe portant ce nom existe déjà.",
"forbidden": "Impossible de charger les fichiers"
},
"breadcrumb": {
"home": "Accueil",
@@ -496,7 +609,10 @@
},
"delete": "Supprimer définitivement",
"empty_action": "Vider la corbeille",
"expires_at": "Expiration"
"expires_at": "Expiration",
"confirm_delete": "Supprimer définitivement cet élément ? Cela ne peut pas être annulé.",
"confirm_empty": "Vider la poubelle ? Cela ne peut pas être annulé.",
"restored": "Restauré"
},
"daysRemaining": {
"expired": "Expiré",
@@ -570,9 +686,22 @@
"login_error_auto_link_disabled": "Ce serveur ne relie pas automatiquement les comptes SSO. Connectez-vous avec vos identifiants existants, puis reliez SSO depuis votre profil.",
"login_error_auto_link_email_not_verified": "Votre fournisseur SSO n'a pas confirmé votre adresse e-mail. Vérifiez votre e-mail chez votre fournisseur d'identité, puis réessayez.",
"login_error_already_linked_elsewhere": "Un compte local avec cette adresse e-mail existe déjà et est relié à une autre identité SSO. Contactez votre administrateur.",
"login_error_email_ambiguous": "Plusieurs comptes locaux correspondent à cette adresse e-mail. Contactez votre administrateur pour résoudre.",
"login_error_callback_denied": "Votre lien de connexion a expiré ou a déjà été utilisé. Veuillez réessayer.",
"login_error_callback_failed": "La connexion SSO n'a pas pu se terminer. Veuillez réessayer.",
"login_error_generic": "La connexion SSO a été refusée. Veuillez réessayer.",
"password_or_link_hint": "Mot de passe (laisser vide pour un lien de connexion)",
"cookie_rejected": "La connexion a réussi mais le navigateur a rejeté le cookie de session. Si vous êtes sur HTTP, définissez OXICLOUD_COOKIE_SECURE=false ou utilisez HTTPS.",
"login_error": "Erreur de connexion",
"magic_error": "Quelque chose s'est mal passé. Essayer à nouveau.",
"magic_prompt": "Pas de mot de passe ? Connectez-vous avec un lien e-mail",
"magic_send": "Envoyer le lien",
"magic_sent": "Si un compte existe, un lien de connexion a été envoyé. Vérifiez votre boîte de réception.",
"register_error": "L'inscription a échoué",
"session_expired": "Votre session a expiré. Veuillez vous reconnecter.",
"signing_in": "Connexion…",
"sending": "Envoi…",
"toggle_password": "Afficher le mot de passe",
"logged_out": "Vous êtes déconnecté."
},
"storage": {
@@ -585,7 +714,8 @@
"download_file": "Télécharger le fichier",
"zoom_in": "Zoom avant",
"zoom_out": "Zoom arrière",
"zoom_reset": "Réinitialiser le zoom"
"zoom_reset": "Réinitialiser le zoom",
"zoom": "Zoom"
},
"language_selector": {
"title": "Bienvenue !",
@@ -627,7 +757,8 @@
"empty_hidden_state": "{{n}} élément(s) récent(s) masqué(s) par votre préférence",
"empty_hidden_hint": "Désactivez \"Masquer les fichiers\" dans votre profil pour les voir.",
"loadMore": "Charger plus",
"remove_item": "Retirer des récents"
"remove_item": "Retirer des récents",
"confirm_clear": "Effacer vos éléments récents ?"
},
"notifications": {
"file_renamed": "Fichier renommé",
@@ -639,12 +770,13 @@
"folder_deleted": "Dossier déplacé vers la corbeille",
"item_deleted_permanently": "Élément supprimé définitivement",
"trash_emptied": "Corbeille vidée avec succès",
"empty": "No notifications",
"empty": "Aucune notification",
"title": "Notifications",
"link_created": "Lien créé",
"share_success": "Lien de partage créé avec succès",
"upload_files_section_title": "Dépôt non disponible ici",
"upload_files_section_body": "Accédez à la section Fichiers pour déposer des fichiers"
"upload_files_section_body": "Accédez à la section Fichiers pour déposer des fichiers",
"clear": "Tout effacer"
},
"batch": {
"one_selected": "1 élément sélectionné",
@@ -720,8 +852,8 @@
"issuer_url_hint": "URL de l'émetteur OpenID Connect",
"auto_discover": "Auto-découverte",
"discovering": "Découverte…",
"client_id": "Client ID",
"client_secret": "Client Secret",
"client_id": "Identifiant client",
"client_secret": "Secret client",
"client_secret_placeholder": "Laisser vide pour conserver la valeur",
"secret_configured": "Un client secret est déjà configuré",
"callback_url": "URL de rappel",
@@ -846,7 +978,7 @@
"mig_verifying": "Vérification en cours...",
"oidc_auto_provision": "Provisionner automatiquement les utilisateurs",
"oidc_callback": "URL de rappel",
"oidc_client_id": "Client ID",
"oidc_client_id": "Identifiant client",
"oidc_disable_pw": "Désactiver la connexion par mot de passe (OIDC uniquement)",
"oidc_issuer": "URL de l'émetteur",
"oidc_scopes": "Scopes",
@@ -854,38 +986,6 @@
"quotas": "Quotas",
"reset_pw_for": "Nouveau mot de passe pour",
"role": "Rôle",
"sessions": {
"filter_user": "Utilisateur (UUID)",
"include_revoked": "Inclure les révoquées / expirées",
"refresh": "Actualiser",
"col_user": "Utilisateur",
"col_origin": "Origine",
"col_created": "Créée",
"col_expires": "Expire",
"col_ip": "IP",
"col_user_agent": "Agent utilisateur",
"col_bound": "Liée",
"col_status": "Statut",
"current_tooltip": "Il s'agit de la session que vous utilisez actuellement — la révoquer vous déconnectera.",
"bound_tooltip": "Liée par DPoP (jkt {{prefix}}…)",
"unbound": "non liée",
"revoked": "révoquée",
"expired": "expirée",
"active": "active",
"revoke": "Révoquer",
"empty": "Aucune session ne correspond au filtre actuel.",
"revoke_self_confirm": "⚠️ Il s'agit de VOTRE session actuelle. La révoquer vous déconnectera immédiatement et vous devrez vous reconnecter. Continuer ?",
"revoke_confirm": "Révoquer cette session ? La prochaine requête depuis ce navigateur renverra 401.",
"revoke_lag_notice": "La révocation d'une session coupe immédiatement son chemin de rafraîchissement, mais tout JWT déjà présent dans le navigateur reste valide pendant jusqu'à {{secs}} secondes, jusqu'à la prochaine tentative de rafraîchissement.",
"origin": {
"password": "Mot de passe",
"opaque": "OPAQUE",
"magic_link": "Lien magique",
"oidc": "SSO",
"device": "Appareil",
"unknown": "Inconnu"
}
},
"smtp_fail": "Échec de l'envoi.",
"smtp_send": "Envoyer",
"smtp_test": "Envoyer l'e-mail de test",
@@ -961,7 +1061,227 @@
"deleting": "Suppression…",
"auth": "Authentification",
"quota": "Utilisation du stockage",
"last_login": "Dernière connexion"
"last_login": "Dernière connexion",
"tab_plugins": "Plugins",
"plugins_title": "Plugins",
"plugins_disabled": "Les plugins sont désactivés sur ce serveur. Définissez OXICLOUD_ENABLE_PLUGINS=true (et construisez avec la fonctionnalité \"plugins\") pour gérer les plugins WASM ici.",
"plugins_install_title": "Installer un plugin",
"plugins_install_intro": "Téléchargez un bundle de plugins (.zip) contenant plugin.toml et son module WebAssembly compilé (.wasm). Le manifeste est validé et le module est sondé avant l'installation.",
"plugins_bundle_label": "Ensemble de plugins (.zip)",
"plugins_install": "Installer le plug-in",
"plugins_installed_title": "Plugins installés",
"plugins_col_name": "Nom",
"plugins_col_id": "IDENTIFIANT",
"plugins_col_version": "Version",
"plugins_col_events": "Événements",
"plugins_col_status": "Statut",
"plugins_col_actions": "Actes",
"plugins_loading": "Chargement des plugins…",
"plugins_none": "Aucun plugin installé.",
"plugins_enabled": "Activé",
"plugins_disabled_badge": "Désactivé",
"plugins_enable": "Activer",
"plugins_disable": "Désactiver",
"plugins_delete": "Supprimer",
"plugins_confirm_delete": "Supprimer le plugin \"{{name}}\" ? Ses fichiers seront supprimés du serveur.",
"plugins_installing": "Installation…",
"plugins_installed": "Installé {{name}}.",
"plugins_install_missing_bundle": "Sélectionnez un bundle de plugins (.zip).",
"plugins_details": "Journaux et détails",
"plugins_back": "Retour aux plugins",
"plugins_retention_title": "Conservation des journaux",
"plugins_retention_intro": "Les segments de journaux pivotés plus anciens que la fenêtre de rétention ou au-delà de la taille maximale sont élagués selon un calendrier.",
"plugins_retention_days": "Rétention (jours)",
"plugins_retention_max_mb": "Taille maximale du journal (Mo)",
"plugins_retention_save": "Enregistrer la rétention",
"plugins_retention_saved": "Rétention enregistrée.",
"plugins_retention_invalid": "Entrez des nombres non négatifs.",
"plugins_logs_title": "Journaux",
"plugins_logs_level_all": "Tous niveaux",
"plugins_logs_search": "Rechercher des messages…",
"plugins_logs_live": "En direct",
"plugins_logs_clear": "Clair",
"plugins_logs_confirm_clear": "Effacer tous les journaux de ce plugin ?",
"plugins_logs_none": "Aucune entrée de journal.",
"plugins_logs_col_time": "Temps",
"plugins_logs_col_level": "Niveau",
"plugins_logs_col_kind": "Gentil",
"plugins_logs_col_invocation": "Invocation",
"plugins_logs_col_message": "Message",
"plugins_logs_showing": "Affichage {{from}}–{{to}} de {{total}}",
"available": "disponible",
"confirm_delete_plugin": "Supprimer le plugin {{name}} ?",
"disable": "Désactiver",
"email_auto": "Généré automatiquement si laissé vide",
"enable": "Activer",
"env_locked": "Défini par une variable d'environnement",
"logs_all": "Tous niveaux",
"logs_empty": "Aucune entrée de journal.",
"logs_invocation": "Invocation",
"logs_kind": "Gentil",
"logs_level": "Niveau",
"logs_live": "En direct",
"logs_message": "Message",
"logs_search": "Rechercher…",
"logs_showing": "Affichage {{from}}–{{to}} de {{total}}",
"logs_time": "Temps",
"mig_eta": "~{{min}} minutes restantes",
"mig_failed": "{{n}} blobs échoués",
"mig_start": "Commencer",
"mig_verify": "Vérifier l'intégrité",
"mig_verify_mismatch": "{{n}} incohérences de taille",
"mig_verify_missing": "{{n}} manquant",
"mig_verify_summary": "{{checked}} blobs vérifiés, {{total}} total dans la base de données",
"migration": "Migration du stockage",
"new_password": "Nouveau mot de passe",
"no_plugins": "Aucun plugin installé.",
"oidc_admin_groups": "Groupes d'administrateurs",
"oidc_auth_endpoint": "Point de terminaison d'authentification",
"oidc_client_secret": "Secret client",
"oidc_enabled": "Activer la connexion OIDC",
"oidc_provider_name": "Nom du fournisseur",
"oidc_secret_set": "Un secret client est déjà configuré.",
"over_80": "{{n}} utilisateurs dépassant le quota de 80 %",
"over_quota": "{{n}} utilisateurs dépassant le quota",
"password_reset": "Réinitialisation du mot de passe",
"plugin": "Plugin",
"plugin_logs": "Journaux des plugins",
"plugins": "Plugins",
"plugins_clear_logs": "Effacer les journaux",
"plugins_install_hint": "Téléchargez un bundle de plugins (.zip).",
"plugins_retention": "Conservation des journaux",
"plugins_retention_max": "Taille maximale (Mo)",
"plugins_upload": "Téléchargez le fichier .zip",
"quota_for": "Quota pour",
"registration": "Inscription",
"registration_disabled_warning": "L'inscription publique est désactivée. Seuls les administrateurs peuvent créer de nouveaux comptes.",
"settings_saved_ok": "Paramètres enregistrés.",
"smtp": "Courriel (SMTP)",
"smtp_from": "Depuis",
"smtp_host": "Hôte",
"smtp_port": "Port",
"smtp_status": "Statut SMTP",
"smtp_to": "destinataire@exemple.com",
"storage_blobs": "Objets blobs",
"storage_current": "Back-end actuel",
"storage_dedup": "Taux de déduplication",
"storage_preset": "Préréglage",
"storage_size": "Stocké",
"time_day_ago": "il y a {{n}} j",
"time_hour_ago": "il y a {{n}} h",
"time_just_now": "tout à l' heure",
"unchanged": "Laisser vide pour rester à jour",
"running": "En cours d'exécution…",
"maintenance": "Entretien",
"maintenance_hint": "Analysez à nouveau les fichiers existants pour remplir les métadonnées. Réexécution en toute sécurité ; traite toute la bibliothèque et peut prendre un certain temps.",
"reextract_audio": "Réextraire les métadonnées audio",
"reextract_photos": "Réextraire les dates de capture photo et vidéo",
"encryption": "Cryptage",
"encryption_hint": "Générez une clé AES-256 pour le chiffrement des objets blob au repos, puis définissez-la sur OXICLOUD_STORAGE_ENCRYPTION_KEY dans votre environnement de serveur.",
"gen_key": "Générer une clé",
"gen_key_warning": "Conservez cette clé en toute sécurité. En cas de perte, les données cryptées sont irrémédiablement perdues.",
"jobs": {
"tab": "Emplois",
"title": "Emplois",
"hint": "Cette section concerne les jobs internes : jobs périodiques + à la demande. Les contrôles de cohérence peuvent être exécutés en toute sécurité à tout moment : ils sont en lecture seule.",
"run_all_consistency": "Exécutez tous les contrôles de cohérence",
"run_deep": "Courir en profondeur",
"run_deep_hint": "Exécute également des variantes lentes (re-hachage de blob, détection bitrot).",
"col_name": "Nom",
"col_cadence": "Cadence",
"col_last_run": "Dernière course",
"col_outcome": "Résultat",
"col_state": "État",
"col_actions": "Actes",
"col_started_at": "Commencé",
"col_status": "Statut",
"col_duration": "Durée",
"col_scanned": "Numérisé",
"col_progress": "Progrès",
"col_findings": "Résultats",
"progress_scanned_only": "{{n}} scanné",
"progress_scanned_only_tooltip": "Aucun total disponible pour cette exécution (déploiement préalable de la barre de progression ou le locataire ne signale pas de sujet dénombrable).",
"findings_present_tooltip": "Développez cette analyse pour voir les détails par résultat.",
"col_error": "Erreur",
"col_kind": "Gentil",
"col_severity": "Gravité",
"col_resource": "Ressource",
"col_detail": "Détail",
"run": "Courir",
"cancel": "Annuler",
"refresh": "Rafraîchir",
"runs_title": "Courses récentes",
"run_json": "Résumé de l'exécution (JSON)",
"findings_title": "Résultats",
"no_runs": "Aucune course pour l'instant.",
"no_findings": "Aucun résultat – exécution propre.",
"none_registered": "Aucun emploi enregistré.",
"on_demand": "sur demande",
"every_h": "every {{n}} h",
"every_min": "toutes les {{n}} minutes",
"every_sec": "every {{n}} s",
"outcome_ok": "d'accord",
"outcome_err": "se tromper",
"outcome_issues": "problèmes",
"outcome_notices": "avis",
"n_findings": "{{n}} conclusions",
"n_notices": "{{n}} remarques",
"notices_present_tooltip": "Résultats informatifs – aucune action requise. Développez pour plus de détails.",
"purge": "Purger les anciennes exécutions",
"purge_hint": "Supprimez l’historique des exécutions terminées et échouées plus ancienne que la fenêtre de conservation choisie. Les résultats tombent avec leurs exécutions parentes. Les parcours non terminaux sont toujours préservés.",
"purge_title": "Purger l'ancien historique des tâches",
"purge_body": "Supprimez l’historique des exécutions terminées et échouées plus ancienne que le nombre de jours choisi. Les résultats tombent avec leurs exécutions parentes. Les exécutions non terminales (en cours d’exécution, en pause, demandées en annulation) sont toujours conservées.",
"purge_days_label": "Rétention (jours)",
"purge_confirm": "Purge",
"purge_done": "{{n}} anciennes exécutions purgées (rétention {{days}} jours)",
"state_running": "en cours d'exécution",
"never": "jamais",
"just_now": "tout à l' heure",
"n_min_ago": "il y a {{n}} min",
"n_h_ago": "il y a {{n}} h",
"n_d_ago": "il y a {{n}} j",
"triggered_ok": "{{name}} déclenché avec succès",
"triggered_err": "{{name}} a échoué : {{message}}",
"cancel_requested": "Annulation demandée — {{name}} fera une pause à la prochaine limite de sécurité",
"cancel_noop": "Rien à annuler — {{name}} ne fonctionne pas",
"progress_exact_tooltip": "{{pct}} ({{scanned}} / {{total}})",
"progress_approx_tooltip": "{{pct}} ({{scanned}} / {{total}} — approximate, backend proxy)"
},
"oidc": "OIDC / SSO",
"oidc_discover": "Test / discover",
"reextract_done": "{{processed}}/{{total}} processed · {{failed}} failed",
"sessions": {
"filter_user": "Utilisateur (UUID)",
"include_revoked": "Inclure les révoquées / expirées",
"refresh": "Actualiser",
"col_user": "Utilisateur",
"col_origin": "Origine",
"col_created": "Créée",
"col_expires": "Expire",
"col_ip": "IP",
"col_user_agent": "Agent utilisateur",
"col_bound": "Liée",
"col_status": "Statut",
"current_tooltip": "Il s'agit de la session que vous utilisez actuellement — la révoquer vous déconnectera.",
"bound_tooltip": "Liée par DPoP (jkt {{prefix}}…)",
"unbound": "non liée",
"revoked": "révoquée",
"expired": "expirée",
"active": "active",
"revoke": "Révoquer",
"empty": "Aucune session ne correspond au filtre actuel.",
"revoke_self_confirm": "⚠️ Il s'agit de VOTRE session actuelle. La révoquer vous déconnectera immédiatement et vous devrez vous reconnecter. Continuer ?",
"revoke_confirm": "Révoquer cette session ? La prochaine requête depuis ce navigateur renverra 401.",
"revoke_lag_notice": "La révocation d'une session coupe immédiatement son chemin de rafraîchissement, mais tout JWT déjà présent dans le navigateur reste valide pendant jusqu'à {{secs}} secondes, jusqu'à la prochaine tentative de rafraîchissement.",
"origin": {
"password": "Mot de passe",
"opaque": "OPAQUE",
"magic_link": "Lien magique",
"oidc": "SSO",
"device": "Appareil",
"unknown": "Inconnu"
}
}
},
"profile": {
"page_title": "Profil",
@@ -1037,19 +1357,19 @@
"error_create_pw": "Impossible de créer le mot de passe",
"confirm_revoke": "Révoquer le mot de passe \"{{label}}\" ? Les clients l'utilisant ne fonctionneront plus.",
"error_revoke": "Échec de la révocation",
"edit_photo": "Edit photo",
"edit_photo": "Modifier la photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_choose_file": "Choisissez une photo (PNG, JPEG, WebP)",
"photo_resize_note": "Les images supérieures à 512 × 512 px sont automatiquement redimensionnées.",
"photo_save": "Enregistrer la photo",
"photo_remove": "Supprimer la photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider.",
"photo_save_failed": "Échec de l'enregistrement de la photo",
"photo_no_file": "Veuillez d'abord sélectionner un fichier",
"photo_managed_by_oidc": "Photo gérée par votre fournisseur d'identité.",
"password_mismatch": "Les mots de passe ne correspondent pas",
"sso_connect_title": "Connecter l'authentification unique",
"sso_connect_description": "Reliez votre compte à {{provider}} pour vous connecter via SSO au lieu du mot de passe.",
@@ -1061,12 +1381,20 @@
"sso_disconnect_confirm_message": "Vous ne pourrez plus vous connecter qu'avec votre mot de passe ou vos identifiants OPAQUE.",
"sso_disconnect_confirm_button": "Déconnecter",
"sso_unlinked_success": "Authentification unique déconnectée.",
"sso_unlink_no_alt_auth": "Définissez d'abord un mot de passe — sinon vous seriez verrouillé hors de votre compte."
"sso_unlink_no_alt_auth": "Définissez d'abord un mot de passe — sinon vous seriez verrouillé hors de votre compte.",
"app_pw_revoke": "Révoquer le mot de passe de l'application",
"avatar": "Avatar",
"copied": "Copié",
"copy_failed": "Impossible de copier",
"language": "Langue",
"language_auto": "Automatique",
"saved": "Profil enregistré"
},
"upload": {
"uploading": "Téléchargement en cours...",
"files": "fichiers",
"complete": "{{count}} / {{total}} téléchargés"
"complete": "{{count}} / {{total}} téléchargés",
"files_counter": "{{completed}} / {{total}} files"
},
"storage_quota_exceeded": "Quota de stockage dépassé",
"sharedwithme": {
@@ -1094,8 +1422,8 @@
"modifiedAt": "Date de modification",
"createdAt": "Date de création",
"size": "Taille",
"byFiles": "By files",
"sharedWith": "Shared with",
"byFiles": "Par fichiers",
"sharedWith": "Partagé avec",
"justAdded": "Nouveau",
"folders": "Dossiers"
},
@@ -1135,7 +1463,9 @@
"virtual_internal_explanation": "Tous les utilisateurs internes de ce serveur",
"create": "Créer un groupe",
"empty": "Aucun groupe pour le moment.",
"members": "Membres"
"members": "Membres",
"add_member_search": "Rechercher des utilisateurs ou des groupes à ajouter…",
"nested": "Groupe"
},
"myshares": {
"copyLink": "Copier le lien",
@@ -1146,7 +1476,7 @@
"notifyRateLimited": "Trop de notifications pour ce destinataire — réessayez plus tard.",
"removeAccess": "Retirer l'accès",
"resendInvitation": "Renvoyer l'e-mail d'invitation",
"publicLinks": "Public links",
"publicLinks": "Liens publics",
"filter": {
"button": "Types",
"title": "Filtrer par type",
@@ -1156,85 +1486,100 @@
"emptyTitle": "Aucun partage ne correspond au filtre actuel",
"emptyHint": "Ajustez le filtre de type ou réinitialisez-le à sa valeur par défaut (Fichiers + Dossiers).",
"reset": "Réinitialiser le filtre"
}
},
"editSharing": "Modifier le partage",
"emptyStateDesc": "Les éléments que vous partagez avec d'autres apparaîtront ici",
"emptyStateTitle": "Vous n'avez encore rien partagé",
"manageAccess": "Gérer l'accès",
"notifySent": "Notification envoyée.",
"passwordLinks": "Liens protégés par mot de passe"
},
"sort": {
"asc": "croissant",
"desc": "décroissant"
"desc": "décroissant",
"direction": "Sens de tri"
},
"notif": {
"errorTitle": "Error",
"searchError": "Error performing search",
"cleanupCompleted": "Cleanup completed",
"cleanupCompletedBody": "Recent files history has been cleared",
"batchCopy": "Batch copy",
"batchCopyBody": "{{success}} copied, {{errors}} failed",
"itemsCopied": "Items copied",
"itemsCopiedBody": "{{count}} items copied successfully",
"batchMove": "Batch move",
"batchMoveBody": "{{success}} moved, {{errors}} failed",
"itemsMoved": "Items moved",
"itemsMovedBody": "{{count}} items moved successfully",
"batchDelete": "Batch delete",
"batchDeleteBody": "{{success}} moved to trash, {{errors}} failed",
"movedToTrash": "Moved to trash",
"movedToTrashBody": "{{count}} items moved to trash",
"trashItemsError": "Could not move items to trash",
"preparingDownload": "Preparing download",
"preparingDownloadBody": "Preparing your download…",
"downloadItemsError": "Could not download selected items",
"favoritesAddError": "Could not add items to favorites",
"invalidEmail": "Please enter a valid email address",
"notificationSendError": "Could not send notification",
"folderCreated": "Folder created",
"folderCreatedBody": "\"{{name}}\" created successfully",
"fileMoved": "File moved",
"fileMovedBody": "File moved successfully",
"fileMoveError": "Error moving the file: {{error}}",
"fileMoveErrorGeneric": "Error moving the file",
"folderMoved": "Folder moved",
"folderMovedBody": "Folder moved successfully",
"folderMoveError": "Error moving the folder: {{error}}",
"folderMoveErrorGeneric": "Error moving the folder",
"fileCopied": "File copied",
"fileCopiedBody": "File copied successfully",
"fileCopyError": "Error copying the file: {{error}}",
"fileCopyErrorGeneric": "Error copying the file",
"folderRenamed": "Folder renamed",
"folderRenamedBody": "Folder renamed to \"{{name}}\"",
"fileTrashed": "File moved to trash",
"fileTrashedBody": "\"{{name}}\" moved to trash",
"fileDeleted": "File deleted",
"fileDeletedBody": "\"{{name}}\" deleted successfully",
"fileDeleteError": "Error deleting the file",
"folderTrashed": "Folder moved to trash",
"folderTrashedBody": "\"{{name}}\" moved to trash",
"folderDeleted": "Folder deleted",
"folderDeletedBody": "\"{{name}}\" deleted successfully",
"folderDeleteError": "Error deleting the folder",
"itemRestored": "Item restored",
"itemRestoredBody": "Item restored successfully",
"itemRestoreError": "Error restoring the item",
"itemDeleted": "Item deleted",
"itemDeletedBody": "Item permanently deleted",
"itemDeleteError": "Error deleting the item",
"trashEmptied": "Trash emptied",
"trashEmptiedBody": "The trash has been emptied successfully",
"trashEmptyError": "Error emptying the trash",
"cacheCleared": "Cache cleared",
"cacheClearedBody": "Search cache cleared successfully",
"cacheClearError": "Error clearing search cache",
"wopiOpenError": "Could not open the document editor.",
"linkCopied": "Link copied",
"linkCopiedBody": "Link copied to clipboard",
"linkCopyError": "Could not copy link",
"notificationSent": "Notification sent",
"notificationSentBody": "Notification sent to {{email}}"
"searchError": "Erreur lors de la recherche",
"cleanupCompleted": "Nettoyage terminé",
"cleanupCompletedBody": "L'historique des fichiers récents a été effacé",
"batchCopy": "Copie par lots",
"batchCopyBody": "{{success}} copié, {{errors}} échoué",
"itemsCopied": "Éléments copiés",
"itemsCopiedBody": "{{count}} éléments copiés avec succès",
"batchMove": "Déplacement par lots",
"batchMoveBody": "{{success}} déplacé, {{errors}} a échoué",
"itemsMoved": "Éléments déplacés",
"itemsMovedBody": "{{count}} éléments déplacés avec succès",
"batchDelete": "Suppression par lots",
"batchDeleteBody": "{{success}} déplacé vers la corbeille, {{errors}} a échoué",
"movedToTrash": "Déplacé vers la corbeille",
"movedToTrashBody": "{{count}} éléments déplacés vers la corbeille",
"trashItemsError": "Impossible de déplacer les éléments vers la corbeille",
"preparingDownload": "Préparation du téléchargement",
"preparingDownloadBody": "Préparation de votre téléchargement…",
"downloadItemsError": "Impossible de télécharger les éléments sélectionnés",
"favoritesAddError": "Impossible d'ajouter des éléments aux favoris",
"invalidEmail": "S'il vous plaît, mettez une adresse email valide",
"notificationSendError": "Impossible d'envoyer une notification",
"folderCreated": "Dossier créé",
"folderCreatedBody": "\"{{name}}\" créé avec succès",
"fileMoved": "Fichier déplacé",
"fileMovedBody": "Fichier déplacé avec succès",
"fileMoveError": "Erreur lors du déplacement du fichier : {{error}}",
"fileMoveErrorGeneric": "Erreur lors du déplacement du fichier",
"folderMoved": "Dossier déplacé",
"folderMovedBody": "Dossier déplacé avec succès",
"folderMoveError": "Erreur lors du déplacement du dossier : {{error}}",
"folderMoveErrorGeneric": "Erreur lors du déplacement du dossier",
"fileCopied": "Fichier copié",
"fileCopiedBody": "Fichier copié avec succès",
"fileCopyError": "Erreur lors de la copie du fichier : {{error}}",
"fileCopyErrorGeneric": "Erreur lors de la copie du fichier",
"folderRenamed": "Dossier renommé",
"folderRenamedBody": "Dossier renommé \"{{name}}\"",
"fileTrashed": "Fichier déplacé vers la corbeille",
"fileTrashedBody": "\"{{name}}\" déplacé vers la corbeille",
"fileDeleted": "Fichier supprimé",
"fileDeletedBody": "\"{{name}}\" supprimé avec succès",
"fileDeleteError": "Erreur lors de la suppression du fichier",
"folderTrashed": "Dossier déplacé vers la corbeille",
"folderTrashedBody": "\"{{name}}\" déplacé vers la corbeille",
"folderDeleted": "Dossier supprimé",
"folderDeletedBody": "\"{{name}}\" supprimé avec succès",
"folderDeleteError": "Erreur lors de la suppression du dossier",
"itemRestored": "Objet restauré",
"itemRestoredBody": "Objet restauré avec succès",
"itemRestoreError": "Erreur lors de la restauration de l'élément",
"itemDeleted": "Élément supprimé",
"itemDeletedBody": "Élément définitivement supprimé",
"itemDeleteError": "Erreur lors de la suppression de l'élément",
"trashEmptied": "Poubelle vidée",
"trashEmptiedBody": "La poubelle a été vidée avec succès",
"trashEmptyError": "Erreur en vidant la corbeille",
"cacheCleared": "Cache vidé",
"cacheClearedBody": "Le cache de recherche a été vidé avec succès",
"cacheClearError": "Erreur lors de la suppression du cache de recherche",
"wopiOpenError": "Impossible d'ouvrir l'éditeur de documents.",
"linkCopied": "Lien copié",
"linkCopiedBody": "Lien copié dans le presse-papier",
"linkCopyError": "Impossible de copier le lien",
"notificationSent": "Notification envoyée",
"notificationSentBody": "Notification envoyée à {{email}}"
},
"category": {
"audio": "Audio",
"code": "Code",
"text": "Texte"
"text": "Texte",
"archives": "Archives",
"documents": "Documents",
"images": "Images",
"installers": "Installateurs",
"markdown": "Réduction",
"presentations": "Présentations",
"spreadsheets": "Feuilles de calcul",
"videos": "Vidéos"
},
"common": {
"add": "Ajouter",
@@ -1257,21 +1602,60 @@
"search": "Rechercher",
"yes": "Oui",
"saving": "Enregistrement…",
"deleting": "Suppression…"
"deleting": "Suppression…",
"copied": "Copié dans le presse-papiers",
"copy_failed": "Échec de la copie",
"empty": "Rien ici encore.",
"error": "erreur inconnue",
"favorite": "Préféré",
"ok": "D'ACCORD",
"optional": "facultatif",
"retry": "Essayer à nouveau",
"select": "Sélectionner",
"select_all": "Tout sélectionner",
"dismiss": "Rejeter"
},
"device": {
"continue": "Continuer",
"unknown": "Inconnu"
"unknown": "Inconnu",
"approve": "Approuver",
"approved": "Appareil approuvé. Vous pouvez revenir à votre appareil.",
"client": "Application",
"denied": "Accès à l'appareil refusé.",
"deny": "Refuser",
"enter_code": "Entrez le code affiché sur votre appareil",
"lookup_failed": "Échec de la vérification du code. Veuillez réessayer.",
"not_found": "Code introuvable ou expiré. Veuillez vérifier et réessayer.",
"scopes": "Accéder",
"title": "Vérification de l'appareil",
"unauthorized": "Vous devez être connecté pour autoriser un appareil. Veuillez d'abord vous connecter."
},
"expiryBucket": {
"expired": "Expiré",
"noExpiry": "Sans expiration",
"today": "Aujourd'hui",
"tomorrow": "Demain"
"tomorrow": "Demain",
"later": "Plus tard",
"month": "En moins de 30 jours",
"week": "En moins de 7 jours"
},
"nextcloud": {
"error_title": "Erreur",
"sign_in_with": "Se connecter avec {{provider}}"
"sign_in_with": "Se connecter avec {{provider}}",
"close_window": "Fermer la fenêtre",
"error_expired_body": "Votre session a expiré. Veuillez réessayer.",
"error_expired_title": "Session expirée",
"error_generic_body": "Une erreur inattendue s'est produite. Veuillez réessayer.",
"error_invalid_body": "Nom d'utilisateur ou mot de passe invalide. Veuillez vérifier vos informations d'identification et réessayer.",
"error_invalid_title": "La connexion a échoué",
"error_notfound_body": "La page demandée n'a pas été trouvée.",
"error_notfound_title": "Introuvable",
"grant": "Accorder l'accès",
"grant_subtitle": "Un client Nextcloud demande l'accès à votre compte.",
"grant_title": "Accorder l'accès",
"invalid_token": "Jeton de session invalide.",
"success_body": "Vous pouvez maintenant revenir à votre application : elle est connectée.",
"success_title": "Accès accordé"
},
"search": {
"size_label": "Taille",
@@ -1286,7 +1670,13 @@
},
"type_label": "Type",
"sort": {
"relevance": "Pertinence"
"relevance": "Pertinence",
"largest": "Le plus grand",
"name_asc": "Nom A-Z",
"name_desc": "Nom Z-A",
"newest": "Le plus récent",
"oldest": "Le plus ancien",
"smallest": "Le plus petit"
},
"results_for": "Résultats pour « {{q}} »",
"results_summary": "Résultats pour « {{q}} » · {{n}} résultats en {{ms}} ms",
@@ -1313,14 +1703,24 @@
"week": "Semaine dernière",
"month": "Mois dernier",
"year": "Année dernière"
}
},
"see_all": "Voir tous les résultats"
},
"sizeBucket": {
"folders": "Dossiers"
"folders": "Dossiers",
"empty": "Vide (0B)",
"huge": "> 5 Go",
"large": "1 à 5 Go",
"medium": "100 Mo – 1 Go",
"small": "1 – 100 Mo",
"tiny": "< 1 Mo"
},
"view": {
"grid": "Vue en grille",
"list": "Vue en liste"
"list": "Vue en liste",
"label": "Afficher les options",
"hide_dotfiles": "Masquer les fichiers cachés",
"show_dotfiles": "Afficher les fichiers cachés"
},
"preferences": {
"save_failed": "Impossible d'enregistrer votre préférence. Veuillez réessayer."
@@ -1395,5 +1795,33 @@
"location": "Emplacement",
"wrong_drop_zone_msg": "Les envois ne fonctionnent que dans Fichiers — ouvrez la section Fichiers et déposez-y vos éléments.",
"wrong_drop_zone_action": "Aller aux Fichiers"
},
"people": {
"unnamed": "Anonyme",
"empty": "Personne pour l'instant",
"disabled": "La reconnaissance faciale est désactivée",
"rename_title": "Nommez cette personne",
"name_label": "Nom",
"back": "Dos"
},
"about": {
"description": "OxiCloud — un serveur de stockage et de synchronisation de fichiers rapide et auto-hébergé."
},
"cmdk": {
"no_results": "Aucune commande correspondante",
"placeholder": "Tapez une commande ou recherchez…",
"title": "Palette de commandes",
"toggle_theme": "Changer de thème"
},
"errors_loadFailed": "Échec du chargement des éléments",
"settings": {
"language": "Langue"
},
"shared_with_me": {
"empty": "Rien n'a encore été partagé avec vous.",
"from": "Partagé par {{who}}"
},
"sortdir": {
"title": "Sens de tri"
}
}