Spaces:
Sleeping
Sleeping
File size: 23,701 Bytes
98fbc6d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | import type { TranslationStrings } from '../types';
const admin: TranslationStrings = {
'admin.notifications.title': 'Notifications',
'admin.notifications.hint':
'Choisissez un canal de notification. Un seul peut être actif à la fois.',
'admin.notifications.none': 'Désactivé',
'admin.notifications.email': 'E-mail (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.save': 'Enregistrer les paramètres de notification',
'admin.notifications.saved': 'Paramètres de notification enregistrés',
'admin.notifications.testWebhook': 'Envoyer un webhook de test',
'admin.notifications.testWebhookSuccess':
'Webhook de test envoyé avec succès',
'admin.notifications.testWebhookFailed': 'Échec du webhook de test',
'admin.smtp.title': 'E-mail et notifications',
'admin.smtp.hint':
"Configuration SMTP pour l'envoi des notifications par e-mail.",
'admin.smtp.testButton': 'Envoyer un e-mail de test',
'admin.webhook.hint':
'Envoyer des notifications vers un webhook externe (Discord, Slack, etc.).',
'admin.smtp.testSuccess': 'E-mail de test envoyé avec succès',
'admin.smtp.testFailed': "Échec de l'e-mail de test",
'admin.title': 'Administration',
'admin.subtitle': 'Gestion des utilisateurs et paramètres système',
'admin.tabs.users': 'Utilisateurs',
'admin.tabs.categories': 'Catégories',
'admin.tabs.backup': 'Sauvegarde',
'admin.stats.users': 'Utilisateurs',
'admin.stats.trips': 'Voyages',
'admin.stats.places': 'Lieux',
'admin.stats.photos': 'Photos',
'admin.stats.files': 'Fichiers',
'admin.table.user': 'Utilisateur',
'admin.table.email': 'E-mail',
'admin.table.role': 'Rôle',
'admin.table.created': 'Créé le',
'admin.table.lastLogin': 'Dernière connexion',
'admin.table.actions': 'Actions',
'admin.you': '(Vous)',
'admin.editUser': "Modifier l'utilisateur",
'admin.newPassword': 'Nouveau mot de passe',
'admin.newPasswordHint': 'Laissez vide pour conserver le mot de passe actuel',
'admin.deleteUser':
"Supprimer l'utilisateur « {name} » ? Tous les voyages seront définitivement supprimés.",
'admin.deleteUserTitle': "Supprimer l'utilisateur",
'admin.newPasswordPlaceholder': 'Saisir le nouveau mot de passe…',
'admin.toast.loadError': "Impossible de charger les données d'administration",
'admin.toast.userUpdated': 'Utilisateur mis à jour',
'admin.toast.updateError': 'Échec de la mise à jour',
'admin.toast.userDeleted': 'Utilisateur supprimé',
'admin.toast.deleteError': 'Échec de la suppression',
'admin.toast.cannotDeleteSelf': 'Impossible de supprimer votre propre compte',
'admin.toast.userCreated': 'Utilisateur créé',
'admin.toast.createError': "Échec de la création de l'utilisateur",
'admin.toast.fieldsRequired':
"Le nom d'utilisateur, l'e-mail et le mot de passe sont requis",
'admin.createUser': 'Créer un utilisateur',
'admin.invite.title': "Liens d'invitation",
'admin.invite.subtitle': "Créer des liens d'inscription à usage unique",
'admin.invite.create': 'Créer un lien',
'admin.invite.createAndCopy': 'Créer et copier',
'admin.invite.empty': "Aucun lien d'invitation créé",
'admin.invite.maxUses': 'Utilisations max.',
'admin.invite.expiry': 'Expire après',
'admin.invite.uses': 'utilisé(s)',
'admin.invite.expiresAt': 'expire le',
'admin.invite.createdBy': 'par',
'admin.invite.active': 'Actif',
'admin.invite.expired': 'Expiré',
'admin.invite.usedUp': 'Épuisé',
'admin.invite.copied': "Lien d'invitation copié",
'admin.invite.copyLink': 'Copier le lien',
'admin.invite.deleted': "Lien d'invitation supprimé",
'admin.invite.createError': 'Erreur lors de la création du lien',
'admin.invite.deleteError': 'Erreur lors de la suppression du lien',
'admin.tabs.settings': 'Paramètres',
'admin.allowRegistration': 'Autoriser les inscriptions',
'admin.allowRegistrationHint':
"Les nouveaux utilisateurs peuvent s'inscrire eux-mêmes",
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint':
'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint':
'Automatically create accounts for new SSO users',
'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': "Exiger l'authentification à deux facteurs (2FA)",
'admin.requireMfaHint':
"Les utilisateurs sans 2FA doivent terminer la configuration dans Paramètres avant d'utiliser l'application.",
'admin.apiKeys': 'Clés API',
'admin.apiKeysHint':
'Facultatif. Active les données de lieu étendues comme les photos et la météo.',
'admin.mapsKey': 'Clé API Google Maps',
'admin.mapsKeyHint':
'Requise pour la recherche de lieux. Obtenez-la sur console.cloud.google.com',
'admin.mapsKeyHintLong':
"Sans clé API, OpenStreetMap est utilisé pour la recherche de lieux. Avec une clé Google API, les photos, notes et horaires d'ouverture peuvent également être chargés. Obtenez-en une sur console.cloud.google.com.",
'admin.recommended': 'Recommandé',
'admin.weatherKey': 'Clé API OpenWeatherMap',
'admin.weatherKeyHint':
'Pour les données météo. Gratuit sur openweathermap.org',
'admin.validateKey': 'Tester',
'admin.keyValid': 'Connecté',
'admin.keyInvalid': 'Invalide',
'admin.keySaved': 'Clés API enregistrées',
'admin.oidcTitle': 'Authentification unique (OIDC)',
'admin.oidcSubtitle':
'Autorisez la connexion via des fournisseurs externes comme Google, Apple, Authentik ou Keycloak.',
'admin.oidcDisplayName': "Nom d'affichage",
'admin.oidcIssuer': "URL de l'émetteur",
'admin.oidcIssuerHint':
"L'URL de l'émetteur OpenID Connect du fournisseur. ex. https://accounts.google.com",
'admin.oidcSaved': 'Configuration OIDC enregistrée',
'admin.oidcOnlyMode': "Désactiver l'authentification par mot de passe",
'admin.oidcOnlyModeHint':
"Lorsqu'activé, seule la connexion SSO est autorisée. La connexion et l'inscription par mot de passe sont bloquées.",
'admin.fileTypes': 'Types de fichiers autorisés',
'admin.fileTypesHint':
'Configurez les types de fichiers que les utilisateurs peuvent importer.',
'admin.fileTypesFormat':
'Extensions séparées par des virgules (ex. jpg,png,pdf,doc). Utilisez * pour autoriser tous les types.',
'admin.fileTypesSaved': 'Paramètres des types de fichiers enregistrés',
'admin.placesPhotos.title': 'Photos de lieux',
'admin.placesPhotos.subtitle':
"Récupère les photos depuis l'API Google Places. Désactivez pour économiser le quota API. Les photos Wikimedia ne sont pas affectées.",
'admin.placesAutocomplete.title': 'Autocomplétion des lieux',
'admin.placesAutocomplete.subtitle':
"Utilise l'API Google Places pour les suggestions de recherche. Désactivez pour économiser le quota API.",
'admin.placesDetails.title': 'Détails du lieu',
'admin.placesDetails.subtitle':
"Récupère les informations détaillées du lieu (horaires, note, site web) depuis l'API Google Places. Désactivez pour économiser le quota API.",
'admin.bagTracking.title': 'Suivi des bagages',
'admin.bagTracking.subtitle':
"Activer le poids et l'attribution de bagages pour les articles",
'admin.collab.chat.title': 'Chat',
'admin.collab.chat.subtitle':
'Messagerie en temps réel pour la collaboration',
'admin.collab.notes.title': 'Notes',
'admin.collab.notes.subtitle': 'Notes et documents partagés',
'admin.collab.polls.title': 'Sondages',
'admin.collab.polls.subtitle': 'Sondages et votes de groupe',
'admin.collab.whatsnext.title': 'Et ensuite',
'admin.collab.whatsnext.subtitle':
"Suggestions d'activités et prochaines étapes",
'admin.tabs.config': 'Personnalisation',
'admin.tabs.defaults': 'Valeurs par défaut',
'admin.defaultSettings.title': 'Paramètres utilisateur par défaut',
'admin.defaultSettings.description':
"Définissez des valeurs par défaut pour toute l'instance. Les utilisateurs n'ayant pas modifié un paramètre verront ces valeurs. Leurs propres modifications ont toujours la priorité.",
'admin.defaultSettings.saved': 'Valeur par défaut enregistrée',
'admin.defaultSettings.reset':
'Réinitialiser à la valeur par défaut intégrée',
'admin.defaultSettings.resetToBuiltIn': 'réinitialiser',
'admin.tabs.templates': 'Modèles de bagages',
'admin.packingTemplates.title': 'Modèles de bagages',
'admin.packingTemplates.subtitle':
'Créer des listes de bagages réutilisables pour vos voyages',
'admin.packingTemplates.create': 'Nouveau modèle',
'admin.packingTemplates.namePlaceholder':
'Nom du modèle (ex. Vacances à la plage)',
'admin.packingTemplates.empty': 'Aucun modèle créé',
'admin.packingTemplates.items': 'articles',
'admin.packingTemplates.categories': 'catégories',
'admin.packingTemplates.itemName': "Nom de l'article",
'admin.packingTemplates.itemCategory': 'Catégorie',
'admin.packingTemplates.categoryName': 'Nom de catégorie (ex. Vêtements)',
'admin.packingTemplates.addCategory': 'Ajouter une catégorie',
'admin.packingTemplates.created': 'Modèle créé',
'admin.packingTemplates.deleted': 'Modèle supprimé',
'admin.packingTemplates.loadError': 'Erreur de chargement des modèles',
'admin.packingTemplates.createError': 'Erreur de création du modèle',
'admin.packingTemplates.deleteError': 'Erreur de suppression du modèle',
'admin.packingTemplates.saveError': 'Erreur de sauvegarde',
'admin.tabs.addons': 'Extensions',
'admin.addons.title': 'Extensions',
'admin.addons.subtitle':
'Activez ou désactivez des fonctionnalités pour personnaliser votre expérience TREK.',
'admin.addons.catalog.memories.name': 'Photos (Immich)',
'admin.addons.catalog.memories.description':
'Partagez vos photos de voyage via votre instance Immich',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description':
"Protocole de contexte de modèle pour l'intégration d'assistants IA",
'admin.addons.catalog.packing.name': 'Listes',
'admin.addons.catalog.packing.description':
'Listes de bagages et tâches à faire pour vos voyages',
'admin.addons.catalog.budget.name': 'Budget',
'admin.addons.catalog.budget.description':
'Suivez les dépenses et planifiez votre budget de voyage',
'admin.addons.catalog.documents.name': 'Documents',
'admin.addons.catalog.documents.description':
'Stockez et gérez vos documents de voyage',
'admin.addons.catalog.vacay.name': 'Vacances',
'admin.addons.catalog.vacay.description':
'Planificateur de vacances personnel avec vue calendrier',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description':
'Carte du monde avec pays visités et statistiques de voyage',
'admin.addons.catalog.collab.name': 'Collaboration',
'admin.addons.catalog.collab.description':
'Notes en temps réel, sondages et chat pour la planification de voyage',
'admin.addons.subtitleBefore':
'Activez ou désactivez des fonctionnalités pour personnaliser votre expérience ',
'admin.addons.subtitleAfter': '.',
'admin.addons.enabled': 'Activé',
'admin.addons.disabled': 'Désactivé',
'admin.addons.type.trip': 'Voyage',
'admin.addons.type.global': 'Global',
'admin.addons.type.integration': 'Intégration',
'admin.addons.tripHint': 'Disponible comme onglet dans chaque voyage',
'admin.addons.globalHint':
'Disponible comme section autonome dans la navigation principale',
'admin.addons.integrationHint':
'Services backend et intégrations API sans page dédiée',
'admin.addons.toast.updated': 'Extension mise à jour',
'admin.addons.toast.error': "Échec de la mise à jour de l'extension",
'admin.addons.noAddons': 'Aucune extension disponible',
'admin.weather.title': 'Données météo',
'admin.weather.badge': 'Depuis le 24 mars 2026',
'admin.weather.description':
'TREK utilise Open-Meteo comme source de données météo. Open-Meteo est un service météo gratuit et open source — aucune clé API requise.',
'admin.weather.forecast': 'Prévisions sur 16 jours',
'admin.weather.forecastDesc': 'Auparavant 5 jours (OpenWeatherMap)',
'admin.weather.climate': 'Données climatiques historiques',
'admin.weather.climateDesc':
'Moyennes des 85 dernières années pour les jours au-delà des prévisions de 16 jours',
'admin.weather.requests': '10 000 requêtes / jour',
'admin.weather.requestsDesc': 'Gratuit, aucune clé API requise',
'admin.weather.locationHint':
"La météo est basée sur le premier lieu avec des coordonnées de chaque jour. Si aucun lieu n'est attribué à un jour, un lieu de la liste est utilisé comme référence.",
'admin.tabs.audit': 'Audit',
'admin.audit.subtitle':
"Événements sensibles de sécurité et d'administration (sauvegardes, utilisateurs, 2FA, paramètres).",
'admin.audit.empty': "Aucune entrée d'audit.",
'admin.audit.refresh': 'Actualiser',
'admin.audit.loadMore': 'Charger plus',
'admin.audit.showing': '{count} chargées · {total} au total',
'admin.audit.col.time': 'Heure',
'admin.audit.col.user': 'Utilisateur',
'admin.audit.col.action': 'Action',
'admin.audit.col.resource': 'Ressource',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Détails',
'admin.tabs.mcpTokens': 'Accès MCP',
'admin.mcpTokens.title': 'Accès MCP',
'admin.mcpTokens.subtitle':
'Gérer les sessions OAuth et les tokens API de tous les utilisateurs',
'admin.mcpTokens.sectionTitle': 'Tokens API',
'admin.mcpTokens.owner': 'Propriétaire',
'admin.mcpTokens.tokenName': 'Nom du token',
'admin.mcpTokens.created': 'Créé',
'admin.mcpTokens.lastUsed': 'Dernière utilisation',
'admin.mcpTokens.never': 'Jamais',
'admin.mcpTokens.empty': "Aucun token MCP n'a encore été créé",
'admin.mcpTokens.deleteTitle': 'Supprimer le token',
'admin.mcpTokens.deleteMessage':
"Ce token sera révoqué immédiatement. L'utilisateur perdra l'accès MCP via ce token.",
'admin.mcpTokens.deleteSuccess': 'Token supprimé',
'admin.mcpTokens.deleteError': 'Impossible de supprimer le token',
'admin.mcpTokens.loadError': 'Impossible de charger les tokens',
'admin.oauthSessions.sectionTitle': 'Sessions OAuth',
'admin.oauthSessions.clientName': 'Client',
'admin.oauthSessions.owner': 'Propriétaire',
'admin.oauthSessions.scopes': 'Portées',
'admin.oauthSessions.created': 'Créé',
'admin.oauthSessions.empty': 'Aucune session OAuth active',
'admin.oauthSessions.revokeTitle': 'Révoquer la session',
'admin.oauthSessions.revokeMessage':
"Cette session OAuth sera révoquée immédiatement. Le client perdra l'accès MCP.",
'admin.oauthSessions.revokeSuccess': 'Session révoquée',
'admin.oauthSessions.revokeError': 'Impossible de révoquer la session',
'admin.oauthSessions.loadError': 'Impossible de charger les sessions OAuth',
'admin.tabs.github': 'GitHub',
'admin.github.title': 'Historique des versions',
'admin.github.subtitle': 'Dernières mises à jour de {repo}',
'admin.github.latest': 'Dernière',
'admin.github.prerelease': 'Pré-version',
'admin.github.showDetails': 'Afficher les détails',
'admin.github.hideDetails': 'Masquer les détails',
'admin.github.loadMore': 'Charger plus',
'admin.github.loading': 'Chargement…',
'admin.github.support': 'Aidez à poursuivre le développement de TREK',
'admin.github.error': 'Impossible de charger les versions',
'admin.github.by': 'par',
'admin.update.available': 'Mise à jour disponible',
'admin.update.text':
'TREK {version} est disponible. Vous utilisez {current}.',
'admin.update.button': 'Voir sur GitHub',
'admin.update.install': 'Installer la mise à jour',
'admin.update.confirmTitle': 'Installer la mise à jour ?',
'admin.update.confirmText':
'TREK sera mis à jour de {current} vers {version}. Le serveur redémarrera automatiquement ensuite.',
'admin.update.dataInfo':
'Toutes vos données (voyages, utilisateurs, clés API, importations, Vacances, Atlas, budgets) seront préservées.',
'admin.update.warning':
"L'application sera brièvement indisponible pendant le redémarrage.",
'admin.update.confirm': 'Mettre à jour maintenant',
'admin.update.installing': 'Mise à jour…',
'admin.update.success': 'Mise à jour installée ! Le serveur redémarre…',
'admin.update.failed': 'Échec de la mise à jour',
'admin.update.backupHint':
'Nous recommandons de créer une sauvegarde avant la mise à jour.',
'admin.update.backupLink': 'Aller aux sauvegardes',
'admin.update.howTo': 'Comment mettre à jour',
'admin.update.dockerText':
'Votre instance TREK fonctionne dans Docker. Pour mettre à jour vers {version}, exécutez les commandes suivantes sur votre serveur :',
'admin.update.reloadHint':
'Veuillez recharger la page dans quelques secondes.',
'admin.tabs.permissions': 'Permissions',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint':
'Les notifications in-app sont toujours actives et ne peuvent pas être désactivées globalement.',
'admin.notifications.adminWebhookPanel.title': 'Webhook admin',
'admin.notifications.adminWebhookPanel.hint':
"Ce webhook est utilisé exclusivement pour les notifications admin (ex. alertes de version). Il est séparé des webhooks utilisateur et s'active automatiquement si une URL est configurée.",
'admin.notifications.adminWebhookPanel.saved':
'URL du webhook admin enregistrée',
'admin.notifications.adminWebhookPanel.testSuccess':
'Webhook de test envoyé avec succès',
'admin.notifications.adminWebhookPanel.testFailed':
'Échec du webhook de test',
'admin.notifications.adminWebhookPanel.alwaysOnHint':
"Le webhook admin s'active automatiquement si une URL est configurée",
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint':
'Permet aux utilisateurs de configurer leurs propres sujets ntfy pour les notifications push. Définissez le serveur par défaut ci-dessous pour pré-remplir les paramètres utilisateur.',
'admin.notifications.testNtfy': 'Envoyer un Ntfy de test',
'admin.notifications.testNtfySuccess': 'Ntfy de test envoyé avec succès',
'admin.notifications.testNtfyFailed': "Échec de l'envoi du Ntfy de test",
'admin.notifications.adminNtfyPanel.title': 'Ntfy admin',
'admin.notifications.adminNtfyPanel.hint':
"Ce sujet Ntfy est utilisé exclusivement pour les notifications admin (ex. alertes de version). Il est séparé des sujets par utilisateur et s'active toujours lorsqu'il est configuré.",
'admin.notifications.adminNtfyPanel.serverLabel': 'URL du serveur Ntfy',
'admin.notifications.adminNtfyPanel.serverHint':
'Utilisé également comme serveur par défaut pour les notifications ntfy des utilisateurs. Laisser vide pour utiliser ntfy.sh. Les utilisateurs peuvent le modifier dans leurs propres paramètres.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Sujet admin',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': "Jeton d'accès (optionnel)",
'admin.notifications.adminNtfyPanel.tokenCleared':
"Jeton d'accès admin effacé",
'admin.notifications.adminNtfyPanel.saved':
'Paramètres Ntfy admin enregistrés',
'admin.notifications.adminNtfyPanel.test': 'Envoyer un Ntfy de test',
'admin.notifications.adminNtfyPanel.testSuccess':
'Ntfy de test envoyé avec succès',
'admin.notifications.adminNtfyPanel.testFailed':
"Échec de l'envoi du Ntfy de test",
'admin.notifications.adminNtfyPanel.alwaysOnHint':
"Le Ntfy admin s'active toujours lorsqu'un sujet est configuré",
'admin.notifications.adminNotificationsHint':
"Configurez quels canaux envoient les notifications admin (ex. alertes de version). Le webhook s'active automatiquement si une URL webhook admin est définie.",
'admin.notifications.tripReminders.title': 'Rappels de voyage',
'admin.notifications.tripReminders.hint':
"Envoie une notification de rappel avant le début d'un voyage (nécessite des jours de rappel définis sur le voyage).",
'admin.notifications.tripReminders.enabled': 'Rappels de voyage activés',
'admin.notifications.tripReminders.disabled': 'Rappels de voyage désactivés',
'admin.tabs.notifications': 'Notifications',
'admin.addons.catalog.journey.name': 'Journal de voyage',
'admin.addons.catalog.journey.description':
'Suivi de voyages et journal avec check-ins, photos et récits quotidiens',
'admin.passkey.title': 'Connexion par passkey',
'admin.passkey.cardHint':
'Permettez aux utilisateurs de se connecter avec des passkeys (WebAuthn). Désactivé par défaut.',
'admin.passkey.login': 'Activer la connexion par passkey',
'admin.passkey.loginHint':
'Affiche une option « Se connecter avec une passkey » et permet aux utilisateurs d\'enregistrer des passkeys dans leurs paramètres.',
'admin.passkey.notConfigured':
"Aucun domaine WebAuthn ne peut encore être résolu pour ce déploiement. Définissez APP_URL ou le Relying Party ID ci-dessous — les passkeys restent masquées jusque-là.",
'admin.passkey.rpId': 'Relying Party ID (domaine)',
'admin.passkey.rpIdHint':
"Le domaine nu auquel les passkeys sont liées, ex. trek.example.org. Laissez vide pour le déduire d'APP_URL. Le modifier ultérieurement invalide les passkeys existantes.",
'admin.passkey.origins': 'Origines autorisées',
'admin.passkey.originsHint':
"Origines complètes séparées par des virgules, ex. https://trek.example.org. Laissez vide pour utiliser APP_URL.",
'admin.passkey.reset': 'Réinitialiser les passkeys',
'admin.passkey.resetHint':
"Supprime toutes les passkeys de cet utilisateur (ex. en cas d'appareil perdu). Il pourra toujours se connecter avec son mot de passe.",
'admin.passkey.resetConfirm': 'Supprimer toutes les passkeys de {name} ?',
'admin.passkey.resetDone': '{count} passkey(s) supprimée(s)',
'admin.defaultSettings.mapProvider': 'Moteur cartographique',
'admin.defaultSettings.mapProviderHint': 'La carte par défaut pour tous les utilisateurs de cette instance. Chaque utilisateur peut toujours la remplacer dans ses propres paramètres.',
'admin.defaultSettings.providerLeaflet': 'Standard (gratuit)',
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
'admin.defaultSettings.mapboxToken': 'Jeton Mapbox partagé',
'admin.defaultSettings.mapboxTokenHint': 'Utilisé pour chaque utilisateur n\'ayant pas saisi son propre jeton — ainsi toute l\'instance bénéficie de Mapbox sans partager la clé individuellement. Stocké de façon chiffrée.',
'admin.defaultSettings.mapboxStyle': 'Style de carte',
'admin.defaultSettings.mapboxStylePlaceholder': 'Choisissez un style…',
'admin.defaultSettings.mapbox3d': 'Bâtiments & terrain en 3D',
'admin.defaultSettings.mapboxQuality': 'Mode haute qualité',
};
export default admin;
|