Spaces:
Sleeping
Sleeping
| import type { TranslationStrings } from '../types'; | |
| const settings: TranslationStrings = { | |
| 'settings.title': 'Paramètres', | |
| 'settings.subtitle': 'Configurez vos paramètres personnels', | |
| 'settings.tabs.display': 'Affichage', | |
| 'settings.tabs.map': 'Carte', | |
| 'settings.tabs.notifications': 'Notifications', | |
| 'settings.tabs.integrations': 'Intégrations', | |
| 'settings.tabs.account': 'Compte', | |
| 'settings.tabs.offline': 'Offline', | |
| 'settings.tabs.about': 'À propos', | |
| 'settings.map': 'Carte', | |
| 'settings.mapTemplate': 'Modèle de carte', | |
| 'settings.mapTemplatePlaceholder.select': 'Sélectionner un modèle…', | |
| 'settings.mapDefaultHint': 'Laissez vide pour OpenStreetMap (par défaut)', | |
| 'settings.mapTemplatePlaceholder': | |
| 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', | |
| 'settings.mapHint': "Modèle d'URL pour les tuiles de carte", | |
| 'settings.mapProvider': 'Fournisseur de carte', | |
| 'settings.mapProviderHint': | |
| 'Affecte les cartes Trip Planner et Journey. Atlas utilise toujours Leaflet.', | |
| 'settings.mapLeafletSubtitle': 'Classique 2D, toutes tuiles raster', | |
| 'settings.mapMapboxSubtitle': 'Tuiles vectorielles, bâtiments 3D & terrain', | |
| 'settings.mapExperimental': 'Expérimental', | |
| 'settings.mapMapboxToken': "Jeton d'accès Mapbox", | |
| 'settings.mapMapboxTokenHint': 'Jeton public (pk.*) depuis', | |
| 'settings.mapMapboxTokenLink': "mapbox.com → Jetons d'accès", | |
| 'settings.mapStyle': 'Style de carte', | |
| 'settings.mapStylePlaceholder': 'Sélectionner un style Mapbox', | |
| 'settings.mapStyleHint': 'Preset ou votre propre URL mapbox://styles/USER/ID', | |
| 'settings.map3dBuildings': 'Bâtiments 3D & terrain', | |
| 'settings.map3dHint': | |
| 'Inclinaison + extrusions 3D réelles des bâtiments — fonctionne avec tous les styles, y compris satellite.', | |
| 'settings.mapHighQuality': 'Mode haute qualité', | |
| 'settings.mapHighQualityHint': | |
| 'Anticrénelage + projection globe pour des bords plus nets et une vue réaliste du monde.', | |
| 'settings.mapHighQualityWarning': | |
| 'Peut affecter les performances sur les appareils moins puissants.', | |
| 'settings.mapTipLabel': 'Astuce :', | |
| 'settings.mapTip': | |
| 'Clic droit et glisser pour pivoter/incliner la carte. Clic milieu pour ajouter un lieu (le clic droit est réservé à la rotation).', | |
| 'settings.latitude': 'Latitude', | |
| 'settings.longitude': 'Longitude', | |
| 'settings.saveMap': 'Enregistrer la carte', | |
| 'settings.apiKeys': 'Clés API', | |
| 'settings.mapsKey': 'Clé API Google Maps', | |
| 'settings.mapsKeyHint': | |
| "Pour la recherche de lieux. Nécessite l'API Places (New). Obtenez-la sur console.cloud.google.com", | |
| 'settings.weatherKey': 'Clé API OpenWeatherMap', | |
| 'settings.weatherKeyHint': | |
| 'Pour les données météo. Gratuit sur openweathermap.org/api', | |
| 'settings.keyPlaceholder': 'Saisir la clé…', | |
| 'settings.configured': 'Configuré', | |
| 'settings.saveKeys': 'Enregistrer les clés', | |
| 'settings.display': 'Affichage', | |
| 'settings.colorMode': 'Mode de couleur', | |
| 'settings.light': 'Clair', | |
| 'settings.dark': 'Sombre', | |
| 'settings.auto': 'Auto', | |
| 'settings.language': 'Langue', | |
| 'settings.temperature': 'Unité de température', | |
| 'settings.timeFormat': "Format de l'heure", | |
| 'settings.blurBookingCodes': 'Masquer les codes de réservation', | |
| 'settings.optimizeFromAccommodation': | |
| "Optimiser l'itinéraire depuis l'hébergement", | |
| 'settings.optimizeFromAccommodationHint': | |
| "Lors de l'optimisation d'une journée, commencez l'itinéraire à l'hôtel où vous vous réveillez et terminez-le à celui où vous arrivez le soir.", | |
| 'settings.notifications': 'Notifications', | |
| 'settings.notifyTripInvite': 'Invitations de voyage', | |
| 'settings.notifyBookingChange': 'Modifications de réservation', | |
| 'settings.notifyTripReminder': 'Rappels de voyage', | |
| 'settings.notifyTodoDue': 'Tâche à échéance', | |
| 'settings.notifyVacayInvite': 'Invitations de fusion Vacay', | |
| 'settings.notifyPhotosShared': 'Photos partagées (Immich)', | |
| 'settings.notifyCollabMessage': 'Messages de chat (Collab)', | |
| 'settings.notifyPackingTagged': 'Liste de bagages : attributions', | |
| 'settings.notifyWebhook': 'Notifications webhook', | |
| 'settings.notificationsDisabled': | |
| "Les notifications ne sont pas configurées. Demandez à un administrateur d'activer les notifications par e-mail ou webhook.", | |
| 'settings.notificationsActive': 'Canal actif', | |
| 'settings.notificationsManagedByAdmin': | |
| 'Les événements de notification sont configurés par votre administrateur.', | |
| 'settings.on': 'Activé', | |
| 'settings.off': 'Désactivé', | |
| 'settings.mcp.title': 'Configuration MCP', | |
| 'settings.mcp.endpoint': 'Point de terminaison MCP', | |
| 'settings.mcp.clientConfig': 'Configuration du client', | |
| 'settings.mcp.clientConfigHint': | |
| 'Remplacez <your_token> par un token API de la liste ci-dessous. Le chemin vers npx devra peut-être être ajusté selon votre système (ex. C:\\PROGRA~1\\nodejs\\npx.cmd sous Windows).', | |
| 'settings.mcp.clientConfigHintOAuth': | |
| "Remplacez <your_client_id> et <your_client_secret> par les identifiants affichés dans le client OAuth 2.1 créé ci-dessus. mcp-remote ouvrira votre navigateur pour finaliser l'autorisation lors de la première connexion. Le chemin vers npx devra peut-être être ajusté selon votre système (ex. C:\\PROGRA~1\\nodejs\\npx.cmd sous Windows).", | |
| 'settings.mcp.copy': 'Copier', | |
| 'settings.mcp.copied': 'Copié !', | |
| 'settings.mcp.apiTokens': 'Tokens API', | |
| 'settings.mcp.createToken': 'Créer un token', | |
| 'settings.mcp.noTokens': | |
| "Aucun token pour l'instant. Créez-en un pour connecter des clients MCP.", | |
| 'settings.mcp.tokenCreatedAt': 'Créé', | |
| 'settings.mcp.tokenUsedAt': 'Utilisé', | |
| 'settings.mcp.deleteTokenTitle': 'Supprimer le token', | |
| 'settings.mcp.deleteTokenMessage': | |
| "Ce token cessera de fonctionner immédiatement. Tout client MCP l'utilisant perdra l'accès.", | |
| 'settings.mcp.modal.createTitle': 'Créer un token API', | |
| 'settings.mcp.modal.tokenName': 'Nom du token', | |
| 'settings.mcp.modal.tokenNamePlaceholder': | |
| 'ex. Claude Desktop, Ordinateur pro', | |
| 'settings.mcp.modal.creating': 'Création…', | |
| 'settings.mcp.modal.create': 'Créer le token', | |
| 'settings.mcp.modal.createdTitle': 'Token créé', | |
| 'settings.mcp.modal.createdWarning': | |
| "Ce token ne sera affiché qu'une seule fois. Copiez-le et conservez-le maintenant — il ne pourra pas être récupéré.", | |
| 'settings.mcp.modal.done': 'Terminé', | |
| 'settings.mcp.toast.created': 'Token créé', | |
| 'settings.mcp.toast.createError': 'Impossible de créer le token', | |
| 'settings.mcp.toast.deleted': 'Token supprimé', | |
| 'settings.mcp.toast.deleteError': 'Impossible de supprimer le token', | |
| 'settings.mcp.apiTokensDeprecated': | |
| 'Les tokens API sont dépréciés et seront supprimés dans une prochaine version. Veuillez utiliser les clients OAuth 2.1 à la place.', | |
| 'settings.oauth.clients': 'Clients OAuth 2.1', | |
| 'settings.oauth.clientsHint': | |
| 'Enregistrez des clients OAuth 2.1 pour permettre à des applications MCP tierces (Claude Web, Cursor, etc.) de se connecter sans tokens statiques.', | |
| 'settings.oauth.createClient': 'Nouveau client', | |
| 'settings.oauth.noClients': 'Aucun client OAuth enregistré.', | |
| 'settings.oauth.clientId': 'ID client', | |
| 'settings.oauth.clientSecret': 'Secret client', | |
| 'settings.oauth.deleteClient': 'Supprimer le client', | |
| 'settings.oauth.deleteClientMessage': | |
| "Ce client et toutes les sessions actives seront définitivement supprimés. Toute application l'utilisant perdra immédiatement l'accès.", | |
| 'settings.oauth.rotateSecret': 'Renouveler le secret', | |
| 'settings.oauth.rotateSecretMessage': | |
| 'Un nouveau secret client sera généré et toutes les sessions existantes seront immédiatement invalidées. Mettez à jour votre application avant de fermer cette fenêtre.', | |
| 'settings.oauth.rotateSecretConfirm': 'Renouveler', | |
| 'settings.oauth.rotateSecretConfirming': 'Renouvellement…', | |
| 'settings.oauth.rotateSecretDoneTitle': 'Nouveau secret généré', | |
| 'settings.oauth.rotateSecretDoneWarning': | |
| "Ce secret n'est affiché qu'une seule fois. Copiez-le maintenant et mettez à jour votre application — toutes les sessions précédentes ont été invalidées.", | |
| 'settings.oauth.activeSessions': 'Sessions OAuth actives', | |
| 'settings.oauth.sessionScopes': 'Portées', | |
| 'settings.oauth.sessionExpires': 'Expire', | |
| 'settings.oauth.revoke': 'Révoquer', | |
| 'settings.oauth.revokeSession': 'Révoquer la session', | |
| 'settings.oauth.revokeSessionMessage': | |
| "Cela révoquera immédiatement l'accès pour cette session OAuth.", | |
| 'settings.oauth.modal.createTitle': 'Enregistrer un client OAuth', | |
| 'settings.oauth.modal.presets': 'Préréglages rapides', | |
| 'settings.oauth.modal.clientName': "Nom de l'application", | |
| 'settings.oauth.modal.clientNamePlaceholder': 'ex. Claude Web, Mon app MCP', | |
| 'settings.oauth.modal.redirectUris': 'URIs de redirection', | |
| 'settings.oauth.modal.redirectUrisPlaceholder': | |
| 'https://your-app.com/callback\nhttps://your-app.com/auth', | |
| 'settings.oauth.modal.redirectUrisHint': | |
| 'Une URI par ligne. HTTPS requis (localhost exempté). Correspondance exacte.', | |
| 'settings.oauth.modal.scopes': 'Portées autorisées', | |
| 'settings.oauth.modal.scopesHint': | |
| "list_trips et get_trip_summary sont toujours disponibles — aucune portée requise. Ils permettent à l'IA de découvrir les IDs de voyage nécessaires.", | |
| 'settings.oauth.modal.selectAll': 'Tout sélectionner', | |
| 'settings.oauth.modal.deselectAll': 'Tout désélectionner', | |
| 'settings.oauth.modal.creating': 'Enregistrement…', | |
| 'settings.oauth.modal.create': 'Enregistrer le client', | |
| 'settings.oauth.modal.createdTitle': 'Client enregistré', | |
| 'settings.oauth.modal.createdWarning': | |
| "Le secret client n'est affiché qu'une seule fois. Copiez-le maintenant — il ne peut pas être récupéré.", | |
| 'settings.oauth.toast.createError': | |
| "Impossible d'enregistrer le client OAuth", | |
| 'settings.oauth.toast.deleted': 'Client OAuth supprimé', | |
| 'settings.oauth.toast.deleteError': 'Impossible de supprimer le client OAuth', | |
| 'settings.oauth.toast.revoked': 'Session révoquée', | |
| 'settings.oauth.toast.revokeError': 'Impossible de révoquer la session', | |
| 'settings.oauth.toast.rotateError': | |
| 'Impossible de renouveler le secret client', | |
| 'settings.oauth.modal.machineClient': | |
| 'Client machine (sans connexion navigateur)', | |
| 'settings.oauth.modal.machineClientHint': | |
| 'Utilise le grant client_credentials — aucune URI de redirection requise. Le token est émis directement via client_id + client_secret et agit en votre nom dans les portées sélectionnées.', | |
| 'settings.oauth.modal.machineClientUsage': | |
| 'Obtenir un token : POST /oauth/token avec grant_type=client_credentials, client_id et client_secret. Sans navigateur, sans token de rafraîchissement.', | |
| 'settings.oauth.badge.machine': 'machine', | |
| 'settings.account': 'Compte', | |
| 'settings.about': 'À propos', | |
| 'settings.about.reportBug': 'Signaler un bug', | |
| 'settings.about.reportBugHint': 'Un problème ? Faites-le nous savoir', | |
| 'settings.about.featureRequest': 'Proposer une fonctionnalité', | |
| 'settings.about.featureRequestHint': 'Suggérez une nouvelle fonctionnalité', | |
| 'settings.about.wikiHint': 'Documentation et guides', | |
| 'settings.about.supporters.badge': 'Soutiens Mensuels', | |
| 'settings.about.supporters.title': 'Compagnons de voyage pour TREK', | |
| 'settings.about.supporters.subtitle': | |
| "Pendant que tu planifies ton prochain itinéraire, ces personnes aident à planifier l'avenir de TREK. Leur contribution mensuelle va directement au développement et aux heures réellement passées — pour que TREK reste Open Source.", | |
| 'settings.about.supporters.since': 'soutien depuis {date}', | |
| 'settings.about.supporters.tierEmpty': 'Sois le premier', | |
| 'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', | |
| 'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', | |
| 'settings.about.supporter.tier.businessClassDreamer': | |
| 'Business Class Dreamer', | |
| 'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', | |
| 'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', | |
| 'settings.about.description': | |
| 'TREK est un planificateur de voyage auto-hébergé qui vous aide à organiser vos voyages de la première idée au dernier souvenir. Planification journalière, budget, listes de bagages, photos et bien plus — le tout au même endroit, sur votre propre serveur.', | |
| 'settings.about.madeWith': 'Fait avec', | |
| 'settings.about.madeBy': | |
| 'par Maurice et une communauté open-source grandissante.', | |
| 'settings.username': "Nom d'utilisateur", | |
| 'settings.email': 'E-mail', | |
| 'settings.role': 'Rôle', | |
| 'settings.roleAdmin': 'Administrateur', | |
| 'settings.oidcLinked': 'Lié avec', | |
| 'settings.changePassword': 'Changer le mot de passe', | |
| 'settings.mustChangePassword': | |
| 'Vous devez changer votre mot de passe avant de continuer. Veuillez définir un nouveau mot de passe ci-dessous.', | |
| 'settings.currentPassword': 'Mot de passe actuel', | |
| 'settings.currentPasswordRequired': 'Le mot de passe actuel est requis', | |
| 'settings.newPassword': 'Nouveau mot de passe', | |
| 'settings.confirmPassword': 'Confirmer le nouveau mot de passe', | |
| 'settings.updatePassword': 'Mettre à jour le mot de passe', | |
| 'settings.passwordRequired': | |
| 'Veuillez saisir le mot de passe actuel et le nouveau', | |
| 'settings.passwordTooShort': | |
| 'Le mot de passe doit comporter au moins 8 caractères', | |
| 'settings.passwordMismatch': 'Les mots de passe ne correspondent pas', | |
| 'settings.passwordWeak': | |
| 'Le mot de passe doit contenir des majuscules, des minuscules, un chiffre et un caractère spécial', | |
| 'settings.passwordChanged': 'Mot de passe modifié avec succès', | |
| 'settings.deleteAccount': 'Supprimer le compte', | |
| 'settings.deleteAccountTitle': 'Supprimer votre compte ?', | |
| 'settings.deleteAccountWarning': | |
| 'Votre compte ainsi que tous vos voyages, lieux et fichiers seront définitivement supprimés. Cette action est irréversible.', | |
| 'settings.deleteAccountConfirm': 'Supprimer définitivement', | |
| 'settings.deleteBlockedTitle': 'Suppression impossible', | |
| 'settings.deleteBlockedMessage': | |
| "Vous êtes le seul administrateur. Promouvez un autre utilisateur en tant qu'administrateur avant de supprimer votre compte.", | |
| 'settings.roleUser': 'Utilisateur', | |
| 'settings.saveProfile': 'Enregistrer le profil', | |
| 'settings.mfa.title': 'Authentification à deux facteurs (2FA)', | |
| 'settings.mfa.description': | |
| "Ajoute une étape supplémentaire lors de la connexion. Utilisez une application d'authentification (Google Authenticator, Authy, etc.).", | |
| 'settings.mfa.requiredByPolicy': | |
| "Votre administrateur exige l'authentification à deux facteurs. Configurez une application d'authentification ci-dessous avant de continuer.", | |
| 'settings.mfa.backupTitle': 'Codes de secours', | |
| 'settings.mfa.backupDescription': | |
| "Utilisez ces codes à usage unique si vous perdez l'accès à votre application d'authentification.", | |
| 'settings.mfa.backupWarning': | |
| "Enregistrez ces codes maintenant. Chaque code n'est utilisable qu'une seule fois.", | |
| 'settings.mfa.backupCopy': 'Copier les codes', | |
| 'settings.mfa.backupDownload': 'Télécharger TXT', | |
| 'settings.mfa.backupPrint': 'Imprimer / PDF', | |
| 'settings.mfa.backupCopied': 'Codes de secours copiés', | |
| 'settings.mfa.enabled': '2FA est activé sur votre compte.', | |
| 'settings.mfa.disabled': "2FA n'est pas activé.", | |
| 'settings.mfa.setup': "Configurer l'authentificateur", | |
| 'settings.mfa.scanQr': | |
| 'Scannez ce code QR avec votre application ou entrez la clé manuellement.', | |
| 'settings.mfa.secretLabel': 'Clé secrète (saisie manuelle)', | |
| 'settings.mfa.codePlaceholder': 'Code à 6 chiffres', | |
| 'settings.mfa.enable': 'Activer 2FA', | |
| 'settings.mfa.cancelSetup': 'Annuler', | |
| 'settings.mfa.disableTitle': 'Désactiver 2FA', | |
| 'settings.mfa.disableHint': | |
| 'Entrez votre mot de passe et un code actuel de votre authentificateur.', | |
| 'settings.mfa.disable': 'Désactiver 2FA', | |
| 'settings.mfa.toastEnabled': 'Authentification à deux facteurs activée', | |
| 'settings.mfa.toastDisabled': 'Authentification à deux facteurs désactivée', | |
| 'settings.mfa.demoBlocked': 'Non disponible en mode démo', | |
| 'settings.toast.mapSaved': 'Paramètres de carte enregistrés', | |
| 'settings.toast.keysSaved': 'Clés API enregistrées', | |
| 'settings.toast.displaySaved': "Paramètres d'affichage enregistrés", | |
| 'settings.toast.profileSaved': 'Profil enregistré', | |
| 'settings.uploadAvatar': 'Importer une photo de profil', | |
| 'settings.removeAvatar': 'Supprimer la photo de profil', | |
| 'settings.avatarUploaded': 'Photo de profil mise à jour', | |
| 'settings.avatarRemoved': 'Photo de profil supprimée', | |
| 'settings.avatarError': "Échec de l'import", | |
| 'settings.bookingLabels': 'Étiquettes des itinéraires', | |
| 'settings.bookingLabelsHint': | |
| "Affiche les noms des gares / aéroports sur la carte. Si désactivé, seule l'icône est affichée.", | |
| 'settings.notifyVersionAvailable': 'Nouvelle version disponible', | |
| 'settings.notificationPreferences.noChannels': | |
| "Aucun canal de notification n'est configuré. Demandez à un administrateur de configurer les notifications par e-mail ou webhook.", | |
| 'settings.webhookUrl.label': 'URL du webhook', | |
| 'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', | |
| 'settings.webhookUrl.hint': | |
| 'Entrez votre URL de webhook Discord, Slack ou personnalisée pour recevoir des notifications.', | |
| 'settings.webhookUrl.saved': 'URL du webhook enregistrée', | |
| 'settings.webhookUrl.test': 'Tester', | |
| 'settings.webhookUrl.testSuccess': 'Webhook de test envoyé avec succès', | |
| 'settings.webhookUrl.testFailed': 'Échec du webhook de test', | |
| 'settings.ntfyUrl.topicLabel': 'Sujet Ntfy', | |
| 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', | |
| 'settings.ntfyUrl.serverLabel': 'URL du serveur Ntfy (optionnel)', | |
| 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', | |
| 'settings.ntfyUrl.hint': | |
| 'Entrez votre sujet Ntfy pour recevoir des notifications push. Laissez le serveur vide pour utiliser la valeur par défaut configurée par votre administrateur.', | |
| 'settings.ntfyUrl.tokenLabel': "Jeton d'accès (optionnel)", | |
| 'settings.ntfyUrl.tokenHint': | |
| 'Requis pour les sujets protégés par mot de passe.', | |
| 'settings.ntfyUrl.saved': 'Paramètres Ntfy enregistrés', | |
| 'settings.ntfyUrl.test': 'Tester', | |
| 'settings.ntfyUrl.testSuccess': | |
| 'Notification de test Ntfy envoyée avec succès', | |
| 'settings.ntfyUrl.testFailed': 'Échec de la notification de test Ntfy', | |
| 'settings.ntfyUrl.tokenCleared': "Jeton d'accès effacé", | |
| 'settings.notificationPreferences.inapp': 'In-App', | |
| 'settings.notificationPreferences.webhook': 'Webhook', | |
| 'settings.notificationPreferences.email': 'Email', | |
| 'settings.notificationPreferences.ntfy': 'Ntfy', | |
| "settings.currency": "Currency", | |
| "settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.", | |
| 'settings.passkey.title': 'Passkeys', | |
| 'settings.passkey.description': | |
| "Connectez-vous plus rapidement et de façon résistante au phishing avec une passkey — votre empreinte digitale, votre visage, votre code PIN ou une clé matérielle. Votre mot de passe reste disponible en secours.", | |
| 'settings.passkey.notConfigured': | |
| "Les passkeys sont activées mais ne sont pas encore entièrement configurées sur ce serveur. Demandez à votre administrateur de définir le domaine WebAuthn.", | |
| 'settings.passkey.add': 'Ajouter une passkey', | |
| 'settings.passkey.addTitle': 'Ajouter une passkey', | |
| 'settings.passkey.passwordPrompt': | |
| "Confirmez votre mot de passe actuel, puis suivez les instructions de votre appareil.", | |
| 'settings.passkey.passwordRequired': 'Votre mot de passe actuel est requis.', | |
| 'settings.passkey.namePlaceholder': 'Nom (facultatif, ex. "iPhone")', | |
| 'settings.passkey.addedToast': 'Passkey ajoutée', | |
| 'settings.passkey.added': 'Ajoutée', | |
| 'settings.passkey.addError': "Impossible d'ajouter la passkey", | |
| 'settings.passkey.cancelled': 'Configuration de la passkey annulée', | |
| 'settings.passkey.deleted': 'Passkey supprimée', | |
| 'settings.passkey.deleteConfirm': | |
| 'Supprimer cette passkey ? Confirmez avec votre mot de passe.', | |
| 'settings.passkey.rename': 'Renommer', | |
| 'settings.passkey.defaultName': 'Passkey', | |
| 'settings.passkey.synced': 'Synchronisée', | |
| 'settings.passkey.deviceBound': 'Cet appareil', | |
| 'settings.passkey.lastUsed': 'Dernière utilisation', | |
| 'settings.passkey.neverUsed': 'Jamais utilisée', | |
| 'settings.mapPoiPill': 'Explorer les lieux sur la carte', | |
| 'settings.mapPoiPillHint': 'Afficher une pastille de catégorie sur la carte du voyage pour trouver à proximité des restaurants, hébergements et plus encore depuis OpenStreetMap.', | |
| 'settings.airtrail.title': 'AirTrail', | |
| 'settings.airtrail.hint': 'Connectez votre instance AirTrail auto-hébergée pour importer et synchroniser vos vols. Créez une clé API dans AirTrail sous Paramètres → Sécurité.', | |
| 'settings.airtrail.url': "URL de l'instance", | |
| 'settings.airtrail.apiKey': 'Clé API', | |
| 'settings.airtrail.apiKeyPlaceholder': 'Clé API Bearer', | |
| 'settings.airtrail.apiKeyHint': 'Générée dans AirTrail sous Paramètres → Sécurité. Stockée chiffrée.', | |
| 'settings.airtrail.allowInsecureTls': 'Autoriser les certificats auto-signés', | |
| 'settings.airtrail.allowInsecureTlsHint': 'À activer uniquement pour une instance de confiance sur votre propre réseau.', | |
| 'settings.airtrail.connected': 'Connecté', | |
| 'settings.airtrail.notConnected': 'Non connecté', | |
| 'settings.airtrail.toast.saved': 'Connexion AirTrail enregistrée', | |
| 'settings.airtrail.toast.saveError': "Impossible d'enregistrer la connexion", | |
| 'settings.airtrail.test.button': 'Tester la connexion', | |
| 'settings.airtrail.test.success': 'Connecté — {count} vol(s) trouvé(s)', | |
| 'settings.airtrail.test.failed': 'Échec de la connexion', | |
| }; | |
| export default settings; | |