import type { TranslationStrings } from '../types'; const settings: TranslationStrings = { 'settings.title': 'Settings', 'settings.subtitle': 'Configure your personal settings', 'settings.tabs.display': 'Display', 'settings.tabs.map': 'Map', 'settings.tabs.notifications': 'Notifications', 'settings.tabs.integrations': 'Integrations', 'settings.tabs.account': 'Account', 'settings.tabs.offline': 'Offline', 'settings.tabs.about': 'About', 'settings.map': 'Map', 'settings.mapTemplate': 'Map Template', 'settings.mapTemplatePlaceholder.select': 'Select template...', 'settings.mapDefaultHint': 'Leave empty for OpenStreetMap (default)', 'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'settings.mapHint': 'URL template for map tiles', 'settings.mapProvider': 'Map Provider', 'settings.mapProviderHint': 'Affects Trip Planner and Journey maps. Atlas always uses Leaflet.', 'settings.mapLeafletSubtitle': 'Classic 2D, any raster tiles', 'settings.mapMapboxSubtitle': 'Vector tiles, 3D buildings & terrain', 'settings.mapExperimental': 'Experimental', 'settings.mapMapboxToken': 'Mapbox Access Token', 'settings.mapMapboxTokenHint': 'Public token (pk.*) from', 'settings.mapMapboxTokenLink': 'mapbox.com → Access tokens', 'settings.mapStyle': 'Map Style', 'settings.mapStylePlaceholder': 'Select a Mapbox style', 'settings.mapStyleHint': 'Preset or your own mapbox://styles/USER/ID URL', 'settings.map3dBuildings': '3D Buildings & Terrain', 'settings.map3dHint': 'Pitch + real 3D building extrusions — works on every style, including satellite.', 'settings.mapHighQuality': 'High Quality Mode', 'settings.mapHighQualityHint': 'Antialiasing + globe projection for sharper edges and a realistic world view.', 'settings.mapHighQualityWarning': 'May impact performance on lower-end devices.', 'settings.mapTipLabel': 'Tip:', 'settings.mapTip': 'right-click and drag to rotate/pitch the map. Middle-click to add a place (right-click is reserved for rotation).', 'settings.latitude': 'Latitude', 'settings.longitude': 'Longitude', 'settings.saveMap': 'Save Map', 'settings.apiKeys': 'API Keys', 'settings.mapsKey': 'Google Maps API Key', 'settings.mapsKeyHint': 'For place search. Requires Places API (New). Get at console.cloud.google.com', 'settings.weatherKey': 'OpenWeatherMap API Key', 'settings.weatherKeyHint': 'For weather data. Free at openweathermap.org/api', 'settings.keyPlaceholder': 'Enter key...', 'settings.configured': 'Configured', 'settings.saveKeys': 'Save Keys', 'settings.display': 'Display', 'settings.colorMode': 'Color Mode', 'settings.light': 'Light', 'settings.dark': 'Dark', 'settings.auto': 'Auto', 'settings.language': 'Language', 'settings.temperature': 'Temperature Unit', 'settings.timeFormat': 'Time Format', 'settings.bookingLabels': 'Booking route labels', 'settings.bookingLabelsHint': 'Show station / airport names on the map. When off, only the icon is shown.', 'settings.mapPoiPill': 'Explore places on the map', 'settings.mapPoiPillHint': 'Show a category pill on the trip map to find nearby restaurants, hotels and more from OpenStreetMap.', 'settings.blurBookingCodes': 'Blur Booking Codes', 'settings.optimizeFromAccommodation': 'Optimize route from accommodation', 'settings.optimizeFromAccommodationHint': 'When optimizing a day, start the route at the hotel you wake up in and end it at the one you check into that evening.', 'settings.notifications': 'Notifications', 'settings.notifyTripInvite': 'Trip invitations', 'settings.notifyBookingChange': 'Booking changes', 'settings.notifyTripReminder': 'Trip reminders', 'settings.notifyTodoDue': 'Todo due soon', 'settings.notifyVacayInvite': 'Vacay fusion invitations', 'settings.notifyPhotosShared': 'Shared photos (Immich)', 'settings.notifyCollabMessage': 'Chat messages (Collab)', 'settings.notifyPackingTagged': 'Packing list: assignments', 'settings.notifyWebhook': 'Webhook notifications', 'settings.notifyVersionAvailable': 'New version available', 'settings.notificationPreferences.email': 'Email', 'settings.notificationPreferences.webhook': 'Webhook', 'settings.notificationPreferences.inapp': 'In-App', 'settings.notificationPreferences.ntfy': 'Ntfy', 'settings.notificationPreferences.noChannels': 'No notification channels are configured. Ask an admin to set up email or webhook notifications.', 'settings.webhookUrl.label': 'Webhook URL', 'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', 'settings.webhookUrl.hint': 'Enter your Discord, Slack, or custom webhook URL to receive notifications.', 'settings.webhookUrl.saved': 'Webhook URL saved', 'settings.webhookUrl.test': 'Test', 'settings.webhookUrl.testSuccess': 'Test webhook sent successfully', 'settings.webhookUrl.testFailed': 'Test webhook failed', 'settings.ntfyUrl.topicLabel': 'Ntfy Topic', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.serverLabel': 'Ntfy Server URL (optional)', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.hint': 'Enter your ntfy topic to receive push notifications. Leave server blank to use the default configured by your admin.', 'settings.ntfyUrl.tokenLabel': 'Access Token (optional)', 'settings.ntfyUrl.tokenHint': 'Required for password-protected topics.', 'settings.ntfyUrl.saved': 'Ntfy settings saved', 'settings.ntfyUrl.test': 'Test', 'settings.ntfyUrl.testSuccess': 'Test ntfy notification sent successfully', 'settings.ntfyUrl.testFailed': 'Test ntfy notification failed', 'settings.ntfyUrl.tokenCleared': 'Access token cleared', 'settings.notificationsDisabled': 'Notifications are not configured. Ask an admin to enable email or webhook notifications.', 'settings.notificationsActive': 'Active channel', 'settings.notificationsManagedByAdmin': 'Notification events are configured by your administrator.', 'settings.on': 'On', 'settings.off': 'Off', 'settings.mcp.title': 'MCP Configuration', 'settings.mcp.endpoint': 'MCP Endpoint', 'settings.mcp.clientConfig': 'Client Configuration', 'settings.mcp.clientConfigHint': 'Replace with an API token from the list below. The path to npx may need to be adjusted for your system (e.g. C:\\PROGRA~1\\nodejs\\npx.cmd on Windows).', 'settings.mcp.clientConfigHintOAuth': 'Replace and with the credentials shown in the OAuth 2.1 client you created above. mcp-remote will open your browser to complete the authorization the first time you connect. The path to npx may need to be adjusted for your system (e.g. C:PROGRA~1\nodejs\npx.cmd on Windows).', 'settings.mcp.copy': 'Copy', 'settings.mcp.copied': 'Copied!', 'settings.mcp.apiTokens': 'API Tokens', 'settings.mcp.createToken': 'Create New Token', 'settings.mcp.noTokens': 'No tokens yet. Create one to connect MCP clients.', 'settings.mcp.tokenCreatedAt': 'Created', 'settings.mcp.tokenUsedAt': 'Used', 'settings.mcp.deleteTokenTitle': 'Delete Token', 'settings.mcp.deleteTokenMessage': 'This token will stop working immediately. Any MCP client using it will lose access.', 'settings.mcp.modal.createTitle': 'Create API Token', 'settings.mcp.modal.tokenName': 'Token Name', 'settings.mcp.modal.tokenNamePlaceholder': 'e.g. Claude Desktop, Work laptop', 'settings.mcp.modal.creating': 'Creating…', 'settings.mcp.modal.create': 'Create Token', 'settings.mcp.modal.createdTitle': 'Token Created', 'settings.mcp.modal.createdWarning': 'This token will only be shown once. Copy and store it now — it cannot be recovered.', 'settings.mcp.modal.done': 'Done', 'settings.mcp.toast.created': 'Token created', 'settings.mcp.toast.createError': 'Failed to create token', 'settings.mcp.toast.deleted': 'Token deleted', 'settings.mcp.toast.deleteError': 'Failed to delete token', 'settings.mcp.apiTokensDeprecated': 'API Tokens are deprecated and will be removed in a future release. Please use OAuth 2.1 Clients instead.', 'settings.oauth.clients': 'OAuth 2.1 Clients', 'settings.oauth.clientsHint': 'Register OAuth 2.1 clients to let third-party MCP applications (Claude Web, Cursor, etc.) connect without static tokens.', 'settings.oauth.createClient': 'New Client', 'settings.oauth.noClients': 'No OAuth clients registered.', 'settings.oauth.clientId': 'Client ID', 'settings.oauth.clientSecret': 'Client Secret', 'settings.oauth.deleteClient': 'Delete Client', 'settings.oauth.deleteClientMessage': 'This client and all active sessions will be permanently removed. Any application using it will lose access immediately.', 'settings.oauth.rotateSecret': 'Rotate Secret', 'settings.oauth.rotateSecretMessage': 'A new client secret will be generated and all existing sessions will be invalidated immediately. Update your application before closing this dialog.', 'settings.oauth.rotateSecretConfirm': 'Rotate', 'settings.oauth.rotateSecretConfirming': 'Rotating…', 'settings.oauth.rotateSecretDoneTitle': 'New Secret Generated', 'settings.oauth.rotateSecretDoneWarning': 'This secret is shown only once. Copy it now and update your application — all previous sessions have been invalidated.', 'settings.oauth.activeSessions': 'Active OAuth Sessions', 'settings.oauth.sessionScopes': 'Scopes', 'settings.oauth.sessionExpires': 'Expires', 'settings.oauth.revoke': 'Revoke', 'settings.oauth.revokeSession': 'Revoke Session', 'settings.oauth.revokeSessionMessage': 'This will immediately revoke access for this OAuth session.', 'settings.oauth.modal.createTitle': 'Register OAuth Client', 'settings.oauth.modal.presets': 'Quick presets', 'settings.oauth.modal.clientName': 'Application Name', 'settings.oauth.modal.clientNamePlaceholder': 'e.g. Claude Web, My MCP App', 'settings.oauth.modal.redirectUris': 'Redirect URIs', 'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth', 'settings.oauth.modal.redirectUrisHint': 'One URI per line. HTTPS required (localhost exempt). Exact match enforced.', 'settings.oauth.modal.scopes': 'Allowed Scopes', 'settings.oauth.modal.scopesHint': 'list_trips and get_trip_summary are always available — no scope required. They let the AI discover trip IDs needed to use any other tool.', 'settings.oauth.modal.selectAll': 'Select all', 'settings.oauth.modal.deselectAll': 'Deselect all', 'settings.oauth.modal.creating': 'Registering…', 'settings.oauth.modal.create': 'Register Client', 'settings.oauth.modal.createdTitle': 'Client Registered', 'settings.oauth.modal.createdWarning': 'The client secret is shown only once. Copy it now — it cannot be recovered.', 'settings.oauth.toast.createError': 'Failed to register OAuth client', 'settings.oauth.toast.deleted': 'OAuth client deleted', 'settings.oauth.toast.deleteError': 'Failed to delete OAuth client', 'settings.oauth.toast.revoked': 'Session revoked', 'settings.oauth.toast.revokeError': 'Failed to revoke session', 'settings.oauth.toast.rotateError': 'Failed to rotate client secret', 'settings.oauth.modal.machineClient': 'Machine client (no browser login)', 'settings.oauth.modal.machineClientHint': 'Use client_credentials grant — no redirect URIs needed. The token is issued directly via client_id + client_secret and acts as you within the selected scopes.', 'settings.oauth.modal.machineClientUsage': 'Get a token: POST /oauth/token with grant_type=client_credentials, client_id, and client_secret. No browser, no refresh token.', 'settings.oauth.badge.machine': 'machine', 'settings.account': 'Account', 'settings.about': 'About', 'settings.about.reportBug': 'Report a Bug', 'settings.about.reportBugHint': 'Found an issue? Let us know', 'settings.about.featureRequest': 'Feature Request', 'settings.about.featureRequestHint': 'Suggest a new feature', 'settings.about.wikiHint': 'Documentation & guides', 'settings.about.supporters.badge': 'Monthly Supporters', 'settings.about.supporters.title': 'Travel companions for TREK', 'settings.about.supporters.subtitle': "While you're planning your next route, these folks are helping plan TREK's future. Their monthly contribution goes straight into development and real hours spent — so TREK stays Open Source.", 'settings.about.supporters.since': 'supporter since {date}', 'settings.about.supporters.tierEmpty': 'Be the first', '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 is a self-hosted travel planner that helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place, on your own server.', 'settings.about.madeWith': 'Made with', 'settings.about.madeBy': 'by Maurice and a growing open-source community.', 'settings.username': 'Username', 'settings.email': 'Email', 'settings.role': 'Role', 'settings.roleAdmin': 'Administrator', 'settings.oidcLinked': 'Linked with', 'settings.changePassword': 'Change Password', 'settings.currentPassword': 'Current password', 'settings.currentPasswordRequired': 'Current password is required', 'settings.newPassword': 'New password', 'settings.confirmPassword': 'Confirm new password', 'settings.updatePassword': 'Update password', 'settings.passwordRequired': 'Please enter current and new password', 'settings.passwordTooShort': 'Password must be at least 8 characters', 'settings.passwordMismatch': 'Passwords do not match', 'settings.passwordWeak': 'Password must contain uppercase, lowercase, a number, and a special character', 'settings.passwordChanged': 'Password changed successfully', 'settings.mustChangePassword': 'You must change your password before you can continue. Please set a new password below.', 'settings.deleteAccount': 'Delete account', 'settings.deleteAccountTitle': 'Delete your account?', 'settings.deleteAccountWarning': 'Your account and all your trips, places, and files will be permanently deleted. This action cannot be undone.', 'settings.deleteAccountConfirm': 'Delete permanently', 'settings.deleteBlockedTitle': 'Deletion not possible', 'settings.deleteBlockedMessage': 'You are the only administrator. Promote another user to admin before deleting your account.', 'settings.roleUser': 'User', 'settings.saveProfile': 'Save Profile', 'settings.toast.mapSaved': 'Map settings saved', 'settings.toast.keysSaved': 'API keys saved', 'settings.toast.displaySaved': 'Display settings saved', 'settings.toast.profileSaved': 'Profile saved', 'settings.uploadAvatar': 'Upload Profile Picture', 'settings.removeAvatar': 'Remove Profile Picture', 'settings.avatarUploaded': 'Profile picture updated', 'settings.avatarRemoved': 'Profile picture removed', 'settings.avatarError': 'Upload failed', 'settings.mfa.title': 'Two-factor authentication (2FA)', 'settings.mfa.description': 'Adds a second step when you sign in with email and password. Use an authenticator app (Google Authenticator, Authy, etc.).', 'settings.mfa.requiredByPolicy': 'Your administrator requires two-factor authentication. Set up an authenticator app below before continuing.', 'settings.mfa.backupTitle': 'Backup codes', 'settings.mfa.backupDescription': 'Use these one-time backup codes if you lose access to your authenticator app.', 'settings.mfa.backupWarning': 'Save these codes now. Each code can only be used once.', 'settings.mfa.backupCopy': 'Copy codes', 'settings.mfa.backupDownload': 'Download TXT', 'settings.mfa.backupPrint': 'Print / PDF', 'settings.mfa.backupCopied': 'Backup codes copied', 'settings.mfa.enabled': '2FA is enabled on your account.', 'settings.mfa.disabled': '2FA is not enabled.', 'settings.mfa.setup': 'Set up authenticator', 'settings.mfa.scanQr': 'Scan this QR code with your app, or enter the secret manually.', 'settings.mfa.secretLabel': 'Secret key (manual entry)', 'settings.mfa.codePlaceholder': '6-digit code', 'settings.mfa.enable': 'Enable 2FA', 'settings.mfa.cancelSetup': 'Cancel', 'settings.mfa.disableTitle': 'Disable 2FA', 'settings.mfa.disableHint': 'Enter your account password and a current code from your authenticator.', 'settings.mfa.disable': 'Disable 2FA', 'settings.mfa.toastEnabled': 'Two-factor authentication enabled', 'settings.mfa.toastDisabled': 'Two-factor authentication disabled', 'settings.mfa.demoBlocked': 'Not available in demo mode', "settings.currency": "Currency", "settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.", 'settings.passkey.title': 'Passkeys', 'settings.passkey.description': 'Sign in faster and phishing-resistant with a passkey — your fingerprint, face, PIN, or a hardware key. Your password stays as a backup.', 'settings.passkey.notConfigured': 'Passkeys are enabled but not fully configured on this server yet. Ask your administrator to set the WebAuthn domain.', 'settings.passkey.add': 'Add a passkey', 'settings.passkey.addTitle': 'Add a passkey', 'settings.passkey.passwordPrompt': 'Confirm your current password, then follow your device prompt.', 'settings.passkey.passwordRequired': 'Your current password is required.', 'settings.passkey.namePlaceholder': 'Name (optional, e.g. "iPhone")', 'settings.passkey.addedToast': 'Passkey added', 'settings.passkey.added': 'Added', 'settings.passkey.addError': 'Could not add passkey', 'settings.passkey.cancelled': 'Passkey setup cancelled', 'settings.passkey.deleted': 'Passkey removed', 'settings.passkey.deleteConfirm': 'Remove this passkey? Confirm with your password.', 'settings.passkey.rename': 'Rename', 'settings.passkey.defaultName': 'Passkey', 'settings.passkey.synced': 'Synced', 'settings.passkey.deviceBound': 'This device', 'settings.passkey.lastUsed': 'Last used', 'settings.passkey.neverUsed': 'Never used', 'settings.airtrail.title': 'AirTrail', 'settings.airtrail.hint': 'Connect your self-hosted AirTrail to import and sync flights. Create an API key in AirTrail under Settings → Security.', 'settings.airtrail.url': 'Instance URL', 'settings.airtrail.apiKey': 'API key', 'settings.airtrail.apiKeyPlaceholder': 'Bearer API key', 'settings.airtrail.apiKeyHint': 'Generated in AirTrail under Settings → Security. Stored encrypted.', 'settings.airtrail.allowInsecureTls': 'Allow self-signed certificates', 'settings.airtrail.allowInsecureTlsHint': 'Enable only for a trusted instance on your own network.', 'settings.airtrail.connected': 'Connected', 'settings.airtrail.notConnected': 'Not connected', 'settings.airtrail.toast.saved': 'AirTrail connection saved', 'settings.airtrail.toast.saveError': 'Could not save the connection', 'settings.airtrail.test.button': 'Test connection', 'settings.airtrail.test.success': 'Connected — {count} flight(s) found', 'settings.airtrail.test.failed': 'Connection failed', }; export default settings;