mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-30 18:46:00 +00:00
813db0ca6e
The four size-class sliders (Large/Medium/Normal/Small) are now always visible instead of behind a disclosure, each with a live sample rendered at that size and an example of what it affects (e.g. Normal = place names/descriptions, Small = addresses/labels).
416 lines
27 KiB
TypeScript
416 lines
27 KiB
TypeScript
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.mapMapLibreSubtitle': 'Tuiles vectorielles OpenFreeMap, sans jeton',
|
|
'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.mapOpenFreeMapStylePlaceholder': 'Sélectionner un style OpenFreeMap',
|
|
'settings.mapOpenFreeMapStyleHint': 'Preset ou URL de style OpenFreeMap. Les styles OpenFreeMap fonctionnent sans jeton.',
|
|
'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.distance': 'Unité de distance',
|
|
'settings.timeFormat': "Format de l'heure",
|
|
'settings.blurBookingCodes': 'Masquer les codes de réservation',
|
|
'settings.aiAlwaysRetry': 'Always retry booking imports with AI',
|
|
'settings.aiAlwaysRetryHint': 'When a file cannot be read by the standard parser, automatically retry it with AI.',
|
|
'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.writeBack': 'Réécrire les modifications dans AirTrail',
|
|
'settings.airtrail.writeBackHint':
|
|
'Désactivé par défaut : AirTrail fait référence et TREK se contente de le lire. Activez pour renvoyer vers AirTrail les modifications faites dans TREK.',
|
|
'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',
|
|
'settings.aiParsing.title': 'Analyse par IA',
|
|
'settings.aiParsing.hint': 'Utilisez votre propre modèle d\'IA pour extraire les réservations des fichiers importés. Cela ne s\'applique que si votre administrateur n\'a pas configuré de modèle pour l\'ensemble de l\'instance.',
|
|
'settings.aiParsing.provider': 'Fournisseur',
|
|
'settings.aiParsing.providerLocal': 'Local (Ollama)',
|
|
'settings.aiParsing.providerOpenai': 'OpenAI',
|
|
'settings.aiParsing.providerAnthropic': 'Anthropic',
|
|
'settings.aiParsing.model': 'Modèle',
|
|
'settings.aiParsing.baseUrl': 'URL de base',
|
|
'settings.aiParsing.baseUrlHint': 'Emplacement d\'exécution du modèle — un serveur Ollama local ou un point de terminaison compatible OpenAI.',
|
|
'settings.aiParsing.apiKey': 'Clé API',
|
|
'settings.aiParsing.apiKeyHint': 'Stockée de façon chiffrée. Laissez vide pour conserver la clé actuelle.',
|
|
'settings.aiParsing.multimodal': 'Envoyer les documents sous forme d\'images',
|
|
'settings.aiParsing.multimodalHint': 'Pour les modèles capables d\'analyser des images — envoie le PDF d\'origine au lieu du texte extrait.',
|
|
'settings.aiParsing.toast.saved': 'Paramètres d\'IA enregistrés',
|
|
'settings.aiParsing.toast.saveError': 'Impossible d\'enregistrer les paramètres d\'IA',
|
|
'settings.tabs.appearance': 'Appearance',
|
|
'settings.appearance.theme': 'Theme',
|
|
'settings.appearance.scheme': 'Color scheme',
|
|
'settings.appearance.scheme.default': 'Default',
|
|
'settings.appearance.scheme.highContrast': 'High contrast',
|
|
'settings.appearance.scheme.indigo': 'Indigo',
|
|
'settings.appearance.scheme.teal': 'Teal',
|
|
'settings.appearance.scheme.rose': 'Rose',
|
|
'settings.appearance.scheme.amber': 'Amber',
|
|
'settings.appearance.scheme.violet': 'Violet',
|
|
'settings.appearance.scheme.custom': 'Custom',
|
|
'settings.appearance.customAccent': 'Custom accent',
|
|
'settings.appearance.contrastOk': 'Good contrast',
|
|
'settings.appearance.contrastLow': 'Low contrast',
|
|
'settings.appearance.readability': 'Readability',
|
|
'settings.appearance.transparency': 'Transparency',
|
|
'settings.appearance.transparencyHint': 'Glassy translucent surfaces. Turn off for solid, higher-contrast backgrounds.',
|
|
'settings.appearance.reduceMotion': 'Reduce motion',
|
|
'settings.appearance.reduceMotionHint': 'Minimize animations and transitions.',
|
|
'settings.appearance.density': 'Density',
|
|
'settings.appearance.comfortable': 'Comfortable',
|
|
'settings.appearance.compact': 'Compact',
|
|
'settings.appearance.textSize': 'Text size',
|
|
'settings.appearance.advancedTextSizes': 'Advanced text sizes',
|
|
'settings.appearance.hideAdvanced': 'Hide advanced',
|
|
'settings.appearance.tier.title': 'Titles',
|
|
'settings.appearance.tier.subtitle': 'Subtitles',
|
|
'settings.appearance.tier.body': 'Body',
|
|
'settings.appearance.tier.caption': 'Captions',
|
|
'settings.appearance.dashboardWidgets': 'Dashboard widgets',
|
|
'settings.appearance.dashboardWidgetsHint': 'Show or hide dashboard widgets independently on desktop and mobile.',
|
|
'settings.appearance.desktop': 'Desktop',
|
|
'settings.appearance.mobile': 'Mobile',
|
|
'settings.appearance.widget.sidebar': 'Right sidebar',
|
|
'settings.appearance.widget.currency': 'Currency',
|
|
'settings.appearance.widget.timezones': 'Timezones',
|
|
'settings.appearance.widget.upcomingReservations': 'Upcoming reservations',
|
|
'settings.appearance.widget.atlas': 'Atlas / countries',
|
|
'settings.appearance.widget.tripsTotal': 'Trips total',
|
|
'settings.appearance.widget.daysTraveled': 'Days traveled',
|
|
'settings.appearance.widget.distanceFlown': 'Distance flown',
|
|
'settings.appearance.reset': 'Reset to defaults',
|
|
'settings.appearance.group.belowHero': 'Below the hero',
|
|
'settings.appearance.group.bottomOfPage': 'Bottom of page',
|
|
'settings.appearance.sidebarHint': 'The whole right column. Turn off and the dashboard centers.',
|
|
'settings.appearance.densityHint': 'Compact tightens spacing and padding for a denser layout that fits more on screen.',
|
|
'settings.appearance.textSizeAll': 'Everything',
|
|
'settings.appearance.perSize': 'Adjust each size separately',
|
|
'settings.appearance.size.large': 'Large',
|
|
'settings.appearance.size.medium': 'Medium',
|
|
'settings.appearance.size.normal': 'Normal',
|
|
'settings.appearance.size.small': 'Small',
|
|
'settings.appearance.preview.large': 'Large heading',
|
|
'settings.appearance.preview.medium': 'Medium subtitle',
|
|
'settings.appearance.preview.normal': 'Normal body text',
|
|
'settings.appearance.preview.small': 'Small caption / address',
|
|
'settings.appearance.example.large': 'Headings, big numbers',
|
|
'settings.appearance.example.medium': 'Sub-headings',
|
|
'settings.appearance.example.normal': 'Place names, descriptions',
|
|
'settings.appearance.example.small': 'Addresses, labels',
|
|
};
|
|
|
|
export default settings;
|