697 lines
29 KiB
JSON
697 lines
29 KiB
JSON
|
|
{
|
||
|
|
"common": {
|
||
|
|
"cancel": "Cancel",
|
||
|
|
"save": "Save",
|
||
|
|
"close": "Close",
|
||
|
|
"copy": "Copy",
|
||
|
|
"copied": "Copied",
|
||
|
|
"copiedBang": "Copied!",
|
||
|
|
"loading": "Loading...",
|
||
|
|
"retry": "Retry",
|
||
|
|
"refresh": "Refresh",
|
||
|
|
"install": "Install",
|
||
|
|
"installing": "Installing...",
|
||
|
|
"uninstall": "Uninstall",
|
||
|
|
"start": "Start",
|
||
|
|
"stop": "Stop",
|
||
|
|
"restart": "Restart",
|
||
|
|
"launch": "Launch",
|
||
|
|
"starting": "Starting...",
|
||
|
|
"stopping": "Stopping...",
|
||
|
|
"send": "Send",
|
||
|
|
"sending": "Sending...",
|
||
|
|
"back": "Back",
|
||
|
|
"done": "Done",
|
||
|
|
"manage": "Manage",
|
||
|
|
"connect": "Connect",
|
||
|
|
"connecting": "Connecting...",
|
||
|
|
"disconnect": "Disconnect",
|
||
|
|
"running": "running",
|
||
|
|
"stopped": "stopped",
|
||
|
|
"exited": "exited",
|
||
|
|
"healthy": "Healthy",
|
||
|
|
"elevated": "Elevated",
|
||
|
|
"critical": "Critical",
|
||
|
|
"connected": "Connected",
|
||
|
|
"disconnected": "Disconnected",
|
||
|
|
"active": "Active",
|
||
|
|
"inactive": "Inactive",
|
||
|
|
"synced": "Synced",
|
||
|
|
"enabled": "Enabled",
|
||
|
|
"disabled": "Disabled",
|
||
|
|
"dismiss": "Dismiss",
|
||
|
|
"apply": "Apply",
|
||
|
|
"configure": "Configure",
|
||
|
|
"export": "Export",
|
||
|
|
"delete": "Delete",
|
||
|
|
"remove": "Remove",
|
||
|
|
"error": "Error",
|
||
|
|
"version": "Version",
|
||
|
|
"status": "Status",
|
||
|
|
"category": "Category",
|
||
|
|
"developer": "Developer",
|
||
|
|
"license": "License",
|
||
|
|
"never": "Never",
|
||
|
|
"notAvailable": "Not Available",
|
||
|
|
"goBack": "Go back",
|
||
|
|
"skipToContent": "Skip to main content",
|
||
|
|
"continue": "Continue",
|
||
|
|
"verify": "Verify",
|
||
|
|
"create": "Create",
|
||
|
|
"restore": "Restore",
|
||
|
|
"disabling": "Disabling...",
|
||
|
|
"creating": "Creating...",
|
||
|
|
"restoring": "Restoring...",
|
||
|
|
"manageUpdates": "Manage Updates",
|
||
|
|
"enableAll": "Enable All",
|
||
|
|
"networkDiagnostics": "Network Diagnostics",
|
||
|
|
"network": "Network",
|
||
|
|
"saveConfiguration": "Save Configuration",
|
||
|
|
"sendTest": "Send Test"
|
||
|
|
},
|
||
|
|
"login": {
|
||
|
|
"title": "Welcome to Archipelago",
|
||
|
|
"setupTitle": "Set Up Your Node",
|
||
|
|
"twoFactorTitle": "Two-Factor Authentication",
|
||
|
|
"password": "Password",
|
||
|
|
"confirmPassword": "Confirm Password",
|
||
|
|
"enterPasswordPlaceholder": "Enter your password",
|
||
|
|
"enterPasswordSetup": "Enter a password (min 8 characters)",
|
||
|
|
"confirmPasswordPlaceholder": "Confirm your password",
|
||
|
|
"setupButton": "Set Up Node",
|
||
|
|
"settingUp": "Setting up...",
|
||
|
|
"loginButton": "Login",
|
||
|
|
"loggingIn": "Logging in...",
|
||
|
|
"verifyButton": "Verify",
|
||
|
|
"verifying": "Verifying...",
|
||
|
|
"useAuthCode": "Use authenticator code",
|
||
|
|
"useBackupCode": "Use a backup code instead",
|
||
|
|
"totpInstruction": "Enter the 6-digit code from your authenticator app",
|
||
|
|
"totpPlaceholder": "000000",
|
||
|
|
"backupCodePlaceholder": "XXXX-XXXX",
|
||
|
|
"serverStarting": "Server starting up...",
|
||
|
|
"replayIntro": "Replay Intro",
|
||
|
|
"onboarding": "Onboarding",
|
||
|
|
"resetting": "Resetting...",
|
||
|
|
"recoveryNote": "Password recovery requires SSH access to the server.",
|
||
|
|
"errorMinLength": "Password must be at least 8 characters",
|
||
|
|
"errorMismatch": "Passwords do not match",
|
||
|
|
"errorServerStarting": "Server is starting up. Please try again in a moment.",
|
||
|
|
"errorSetupFailed": "Setup failed. Please try again.",
|
||
|
|
"errorLoginFailed": "Login failed. Please check your password.",
|
||
|
|
"errorInvalidCode": "Invalid code. Please try again.",
|
||
|
|
"totpLabel": "Two-factor authentication code"
|
||
|
|
},
|
||
|
|
"home": {
|
||
|
|
"title": "Welcome Noderunner",
|
||
|
|
"subtitle": "Here's an overview of your sovereign life",
|
||
|
|
"dashboardTab": "Dashboard",
|
||
|
|
"setupTab": "Setup",
|
||
|
|
"myApps": "My Apps",
|
||
|
|
"myAppsDesc": "Manage your installed applications",
|
||
|
|
"cloud": "Cloud",
|
||
|
|
"cloudDesc": "Cloud services and storage",
|
||
|
|
"network": "Network",
|
||
|
|
"networkDesc": "Network infrastructure and Web3 services",
|
||
|
|
"web5": "Web5",
|
||
|
|
"web5Desc": "Decentralized identity and data protocols",
|
||
|
|
"system": "System",
|
||
|
|
"quickStartGoals": "Quick Start Goals",
|
||
|
|
"quickStartDesc": "Not sure where to start? Try a guided setup.",
|
||
|
|
"installed": "Installed",
|
||
|
|
"runningLabel": "Running",
|
||
|
|
"storageUsed": "Storage Used",
|
||
|
|
"folders": "Folders",
|
||
|
|
"servicesStatus": "Services Status",
|
||
|
|
"connectivity": "Connectivity",
|
||
|
|
"runningApps": "Running Apps",
|
||
|
|
"didStatus": "DID Status",
|
||
|
|
"dwnSync": "DWN Sync",
|
||
|
|
"credentials": "Credentials",
|
||
|
|
"cpu": "CPU",
|
||
|
|
"ram": "RAM",
|
||
|
|
"disk": "Disk",
|
||
|
|
"browseStore": "Browse Store",
|
||
|
|
"manageApps": "Manage Apps",
|
||
|
|
"viewFolders": "View Folders",
|
||
|
|
"uploadFiles": "Upload Files",
|
||
|
|
"manageNetwork": "Manage Network",
|
||
|
|
"manageWeb5": "Manage Web5",
|
||
|
|
"openAI": "Open AI Assistant",
|
||
|
|
"noApps": "No Apps",
|
||
|
|
"allRunning": "All Running",
|
||
|
|
"systemMonitoring": "System monitoring",
|
||
|
|
"updateAvailable": "Update Available: v{version}",
|
||
|
|
"updateNow": "Update Now",
|
||
|
|
"goToApps": "Go to Apps",
|
||
|
|
"goToCloud": "Go to Cloud",
|
||
|
|
"goToNetwork": "Go to Network",
|
||
|
|
"goToWeb5": "Go to Web5",
|
||
|
|
"goToSettings": "Go to Settings"
|
||
|
|
},
|
||
|
|
"apps": {
|
||
|
|
"title": "My Apps",
|
||
|
|
"subtitle": "Manage your installed applications",
|
||
|
|
"searchPlaceholder": "Search installed apps...",
|
||
|
|
"noAppsTitle": "No Apps Installed",
|
||
|
|
"noAppsMessage": "Get started by browsing the app store",
|
||
|
|
"browseAppStore": "Browse App Store",
|
||
|
|
"noResults": "No apps matching \"{query}\"",
|
||
|
|
"uninstallTitle": "Uninstall App?",
|
||
|
|
"uninstallConfirm": "Are you sure you want to uninstall {name}? This will remove the app and stop its container.",
|
||
|
|
"dismissError": "Dismiss error",
|
||
|
|
"searchLabel": "Search installed apps"
|
||
|
|
},
|
||
|
|
"settings": {
|
||
|
|
"title": "Settings",
|
||
|
|
"subtitle": "Configure your Archipelago experience",
|
||
|
|
"account": "Account",
|
||
|
|
"interfaceMode": "Interface Mode",
|
||
|
|
"claudeAuth": "Claude Authentication",
|
||
|
|
"aiDataAccess": "AI Data Access",
|
||
|
|
"serverName": "Server Name",
|
||
|
|
"sessionStatus": "Session Status",
|
||
|
|
"yourDid": "Your DID",
|
||
|
|
"onionAddress": "Node .onion Address",
|
||
|
|
"loggedIn": "Currently logged in",
|
||
|
|
"didHelper": "Decentralized identifier for passwordless auth",
|
||
|
|
"onionHelper": "Onion address for node interface and peer discovery over Tor",
|
||
|
|
"changePassword": "Change Password",
|
||
|
|
"enable2fa": "Enable 2FA",
|
||
|
|
"disable2fa": "Disable 2FA",
|
||
|
|
"logout": "Logout",
|
||
|
|
"loggingOut": "Logging out...",
|
||
|
|
"twoFactorAuth": "Two-Factor Authentication",
|
||
|
|
"twoFaProtect": "Protect your account with an authenticator app",
|
||
|
|
"changePasswordTitle": "Change Password",
|
||
|
|
"changePasswordDesc": "Updates both web login and SSH access. Use a strong password (12+ chars, upper, lower, digit, special).",
|
||
|
|
"currentPassword": "Current Password",
|
||
|
|
"newPassword": "New Password",
|
||
|
|
"confirmNewPassword": "Confirm New Password",
|
||
|
|
"passwordPlaceholder": "12+ chars, upper, lower, digit, special",
|
||
|
|
"updateSshCheckbox": "Also update SSH password (recommended)",
|
||
|
|
"updatePassword": "Update Password",
|
||
|
|
"updatingPassword": "Updating...",
|
||
|
|
"setup2faTitle": "Two-Factor Authentication",
|
||
|
|
"setup2faPasswordPrompt": "Enter your password to begin setup.",
|
||
|
|
"scanQrCode": "Scan QR Code",
|
||
|
|
"scanQrInstruction": "Scan this QR code with your authenticator app (Google Authenticator, Authy, etc.), then enter the 6-digit code.",
|
||
|
|
"manualEntryKey": "Manual entry key:",
|
||
|
|
"verifyAndEnable": "Verify & Enable",
|
||
|
|
"saveBackupCodes": "Save Your Backup Codes",
|
||
|
|
"backupCodesInstruction": "Store these codes safely. Each can be used once if you lose access to your authenticator app.",
|
||
|
|
"copyAllCodes": "Copy All Codes",
|
||
|
|
"disable2faTitle": "Disable Two-Factor Authentication",
|
||
|
|
"disable2faDesc": "Enter your password and a current TOTP code to disable 2FA.",
|
||
|
|
"authenticatorCode": "Authenticator Code",
|
||
|
|
"webhooks": "Webhooks",
|
||
|
|
"webhooksDesc": "Get notified when important events happen on your node",
|
||
|
|
"webhookUrl": "Webhook URL",
|
||
|
|
"webhookUrlPlaceholder": "https://example.com/webhook",
|
||
|
|
"webhookSecret": "Secret (for HMAC signing)",
|
||
|
|
"webhookSecretPlaceholder": "Optional shared secret",
|
||
|
|
"webhookEvents": "Events",
|
||
|
|
"containerCrash": "Container Crash",
|
||
|
|
"updateAvailableEvent": "Update Available",
|
||
|
|
"diskWarning": "Disk Warning",
|
||
|
|
"backupComplete": "Backup Complete",
|
||
|
|
"saveWebhook": "Save",
|
||
|
|
"savingWebhook": "Saving...",
|
||
|
|
"testWebhook": "Test",
|
||
|
|
"testingWebhook": "Testing...",
|
||
|
|
"webhookSaved": "Webhook configuration saved",
|
||
|
|
"webhookTestSent": "Test webhook sent successfully",
|
||
|
|
"systemUpdates": "System Updates",
|
||
|
|
"backup": "Backup & Restore",
|
||
|
|
"backupDesc": "Back up your node data to external storage",
|
||
|
|
"createBackup": "Create Backup",
|
||
|
|
"creatingBackup": "Creating...",
|
||
|
|
"restoreBackup": "Restore Backup",
|
||
|
|
"deleteBackup": "Delete backup",
|
||
|
|
"backupCreated": "Backup created successfully",
|
||
|
|
"sendMessage": "Send Message",
|
||
|
|
"sendMessageTitle": "Send Broadcast Message",
|
||
|
|
"messagePlaceholder": "Enter your message...",
|
||
|
|
"messageSent": "Message sent",
|
||
|
|
"claudeConnected": "Connected to Claude",
|
||
|
|
"claudeDisconnected": "Not connected",
|
||
|
|
"claudeApiKey": "API Key",
|
||
|
|
"claudeApiKeyPlaceholder": "Enter your Anthropic API key",
|
||
|
|
"claudeSave": "Save Key",
|
||
|
|
"advancedMode": "Advanced Mode",
|
||
|
|
"beginnerMode": "Beginner Mode",
|
||
|
|
"advancedModeDesc": "Show all system controls and developer tools",
|
||
|
|
"beginnerModeDesc": "Simplified interface with guided experience",
|
||
|
|
"networkSettings": "Network Settings",
|
||
|
|
"torEnabled": "Tor Enabled",
|
||
|
|
"torAddress": "Tor Address",
|
||
|
|
"interfaceModeDesc": "Choose how you want to interact with your node.",
|
||
|
|
"claudeAuthDesc": "Connect your Claude Max account to enable AI chat features.",
|
||
|
|
"connectionStatus": "Connection Status",
|
||
|
|
"notConnected": "Not connected",
|
||
|
|
"reAuthenticate": "Re-authenticate",
|
||
|
|
"loginWithClaude": "Login with Claude",
|
||
|
|
"aiDataAccessDesc": "Control what data the AI assistant can see. All categories are off by default.",
|
||
|
|
"enableAllDesc": "Grant access to all data categories at once",
|
||
|
|
"systemUpdatesDesc": "Check for and install software updates",
|
||
|
|
"webhookNotifications": "Webhook Notifications",
|
||
|
|
"webhookNotificationsDesc": "Get push notifications for critical events via webhook",
|
||
|
|
"enableWebhooks": "Enable webhooks",
|
||
|
|
"disableWebhooks": "Disable webhooks",
|
||
|
|
"webhookUrlLabel": "Webhook URL",
|
||
|
|
"webhookSecretLabel": "Secret (optional, for HMAC-SHA256 signing)",
|
||
|
|
"eventsToNotify": "Events to notify",
|
||
|
|
"containerCrashDesc": "A running container stops unexpectedly",
|
||
|
|
"updateAvailableDesc": "A new system or app update is ready",
|
||
|
|
"diskWarningDesc": "Disk usage exceeds warning threshold",
|
||
|
|
"backupCompleteDesc": "A scheduled or manual backup finishes",
|
||
|
|
"backupRestoreDesc": "Encrypted backups of your identity, settings, and data",
|
||
|
|
"loadingBackups": "Loading backups...",
|
||
|
|
"noBackups": "No backups yet. Create one to protect your node data.",
|
||
|
|
"systemBackup": "System Backup",
|
||
|
|
"createEncryptedBackup": "Create Encrypted Backup",
|
||
|
|
"encryptionPassphrase": "Encryption Passphrase",
|
||
|
|
"enterPassphrase": "Enter a strong passphrase",
|
||
|
|
"descriptionOptional": "Description (optional)",
|
||
|
|
"descriptionPlaceholder": "e.g. Before update",
|
||
|
|
"restoreBackupTitle": "Restore Backup",
|
||
|
|
"restoreWarning": "This will overwrite current node data. Make sure you have the correct passphrase.",
|
||
|
|
"enterBackupPassphrase": "Enter backup passphrase",
|
||
|
|
"networkDesc": "Network connectivity, UPnP, and diagnostics",
|
||
|
|
"webhookSecretPlaceholderFull": "Shared secret for payload signing",
|
||
|
|
"backupCreatedSuccess": "Backup created successfully",
|
||
|
|
"backupCreateFailed": "Failed to create backup",
|
||
|
|
"backupVerifiedOk": "Backup verified — integrity OK",
|
||
|
|
"backupVerifyFailed": "Verification failed: {error}",
|
||
|
|
"backupVerifyRequestFailed": "Verification request failed",
|
||
|
|
"backupRestored": "Backup restored. Restart may be needed.",
|
||
|
|
"backupRestoreFailed": "Restore failed — check passphrase",
|
||
|
|
"backupDeleted": "Backup deleted",
|
||
|
|
"backupDeleteFailed": "Failed to delete backup",
|
||
|
|
"noUsbDrives": "No mounted USB drives found. Insert and mount a USB drive first.",
|
||
|
|
"backupCopiedToUsb": "Backup copied to {path}",
|
||
|
|
"backupUsbFailed": "Failed to copy backup to USB",
|
||
|
|
"deleteBackupConfirm": "Delete this backup permanently?",
|
||
|
|
"verifyPassphrasePrompt": "Enter backup passphrase to verify:",
|
||
|
|
"webhookSaveFailed": "Failed to save webhook configuration",
|
||
|
|
"webhookTestFailed": "Test failed: webhook not sent",
|
||
|
|
"webhookSendFailed": "Failed to send test webhook",
|
||
|
|
"passwordAllFieldsRequired": "All fields are required",
|
||
|
|
"passwordMismatch": "New passwords do not match",
|
||
|
|
"passwordUpdatedSuccess": "Password updated successfully. Use the new password for login and SSH.",
|
||
|
|
"passwordChangeFailed": "Failed to change password",
|
||
|
|
"passwordMinLength": "Password must be at least 12 characters",
|
||
|
|
"passwordNeedUppercase": "Password must contain at least one uppercase letter",
|
||
|
|
"passwordNeedLowercase": "Password must contain at least one lowercase letter",
|
||
|
|
"passwordNeedDigit": "Password must contain at least one digit",
|
||
|
|
"passwordNeedSpecial": "Password must contain at least one special character (!@#$%^&* etc.)",
|
||
|
|
"setupFailed": "Setup failed",
|
||
|
|
"verificationFailed": "Verification failed",
|
||
|
|
"disableFailed": "Failed to disable 2FA",
|
||
|
|
"copyToUsb": "Copy to USB",
|
||
|
|
"diskSpaceWarning": "Disk Space Warning",
|
||
|
|
"modeEasy": "Easy",
|
||
|
|
"modeEasyDesc": "Goal-based interface. Choose what you want to do, and the system handles the rest.",
|
||
|
|
"modePro": "Pro",
|
||
|
|
"modeProDesc": "Full control over all services. Configure everything manually with all technical details.",
|
||
|
|
"modeChat": "Chat",
|
||
|
|
"modeChatDesc": "Conversational AI interface. Manage your node through natural language. Coming soon."
|
||
|
|
},
|
||
|
|
"marketplace": {
|
||
|
|
"title": "App Store",
|
||
|
|
"subtitle": "Discover and install apps for your new sovereign life",
|
||
|
|
"curatedTab": "Curated",
|
||
|
|
"communityTab": "Community",
|
||
|
|
"filterByCategory": "Filter by Category",
|
||
|
|
"searchPlaceholder": "Search apps...",
|
||
|
|
"downloading": "Downloading...",
|
||
|
|
"alreadyInstalled": "Already Installed",
|
||
|
|
"queryingRelays": "Querying Nostr relays for apps...",
|
||
|
|
"noCommunityApps": "No community apps discovered yet.",
|
||
|
|
"noResults": "No apps found in {category} matching \"{query}\"",
|
||
|
|
"noResultsCategory": "No apps found in {category}",
|
||
|
|
"noResultsSearch": "No apps matching \"{query}\"",
|
||
|
|
"all": "All",
|
||
|
|
"community": "Community",
|
||
|
|
"commerce": "Commerce",
|
||
|
|
"money": "Money",
|
||
|
|
"data": "Data",
|
||
|
|
"homeCategory": "Home",
|
||
|
|
"auto": "Auto",
|
||
|
|
"networking": "Networking",
|
||
|
|
"other": "Other",
|
||
|
|
"searchApps": "Search apps",
|
||
|
|
"percentComplete": "{percent}% complete"
|
||
|
|
},
|
||
|
|
"dashboard": {
|
||
|
|
"mainNav": "Main navigation",
|
||
|
|
"mobileNav": "Mobile navigation"
|
||
|
|
},
|
||
|
|
"chat": {
|
||
|
|
"close": "Close",
|
||
|
|
"aiuiConnected": "AIUI connected",
|
||
|
|
"closeAssistant": "Close AI Assistant",
|
||
|
|
"loadingAssistant": "Loading AI assistant...",
|
||
|
|
"aiAssistant": "AI Assistant",
|
||
|
|
"notConfigured": "AI Assistant is not yet configured on this node.",
|
||
|
|
"deployCta": "Deploy the AIUI app from the App Store to enable this feature."
|
||
|
|
},
|
||
|
|
"web5": {
|
||
|
|
"title": "Web5",
|
||
|
|
"subtitle": "Decentralized identity and data protocols",
|
||
|
|
"profitsHelper": "Earn networking profits by hosting decentralized services",
|
||
|
|
"networkingProfits": "Networking Profits",
|
||
|
|
"didStatus": "DID Status",
|
||
|
|
"walletConnection": "Wallet Connection",
|
||
|
|
"wallet": "Wallet",
|
||
|
|
"walletSubtitle": "On-chain, Lightning & Ecash",
|
||
|
|
"nostrRelays": "Nostr Relays",
|
||
|
|
"connectedNodes": "Connected Nodes",
|
||
|
|
"bitcoinDomains": "Bitcoin Domain Names",
|
||
|
|
"domainsSubtitle": "NIP-05 verified identities",
|
||
|
|
"copyDid": "Copy DID",
|
||
|
|
"viewDidDocument": "View DID Document",
|
||
|
|
"createDid": "Create DID",
|
||
|
|
"creatingDid": "Creating...",
|
||
|
|
"manageDomains": "Manage Domains",
|
||
|
|
"relaysConnected": "{count} connected",
|
||
|
|
"peersKnown": "{count} peer(s) known",
|
||
|
|
"sendMessage": "Send Message",
|
||
|
|
"sendMessageTitle": "Send Message (over Tor)",
|
||
|
|
"to": "To",
|
||
|
|
"selectPeer": "Select a peer...",
|
||
|
|
"message": "Message",
|
||
|
|
"messagePlaceholder": "Type your message...",
|
||
|
|
"didDocument": "DID Document",
|
||
|
|
"addContent": "Add Content",
|
||
|
|
"addContentTitle": "Add Content",
|
||
|
|
"createIdentity": "Create Identity",
|
||
|
|
"createIdentityTitle": "Create Identity",
|
||
|
|
"deleteIdentity": "Delete Identity",
|
||
|
|
"deleteIdentityTitle": "Delete Identity",
|
||
|
|
"sendBitcoin": "Send Bitcoin",
|
||
|
|
"sendBitcoinTitle": "Send Bitcoin",
|
||
|
|
"receiveBitcoin": "Receive Bitcoin",
|
||
|
|
"receiveBitcoinTitle": "Receive Bitcoin",
|
||
|
|
"domains": "Domains",
|
||
|
|
"domainsTitle": "Domains",
|
||
|
|
"relays": "Relays",
|
||
|
|
"relaysTitle": "Relays",
|
||
|
|
"totalEarned": "Total Earned",
|
||
|
|
"monthlyAvg": "Monthly Avg",
|
||
|
|
"ecashBalance": "Ecash Balance",
|
||
|
|
"onChain": "On-chain",
|
||
|
|
"lightning": "Lightning",
|
||
|
|
"ecash": "Ecash",
|
||
|
|
"identityName": "Identity Name",
|
||
|
|
"identityNamePlaceholder": "Enter identity name",
|
||
|
|
"contentTitle": "Title",
|
||
|
|
"contentTitlePlaceholder": "Enter content title",
|
||
|
|
"amount": "Amount",
|
||
|
|
"amountPlaceholder": "Enter amount in sats",
|
||
|
|
"address": "Address",
|
||
|
|
"addressPlaceholder": "Enter Bitcoin address",
|
||
|
|
"deleteIdentityConfirm": "Are you sure you want to delete this identity? This action cannot be undone.",
|
||
|
|
"confirm": "Confirm",
|
||
|
|
"noRelays": "No relays connected",
|
||
|
|
"noDomains": "No domains configured",
|
||
|
|
"addRelay": "Add Relay",
|
||
|
|
"addDomain": "Add Domain",
|
||
|
|
"relayUrl": "Relay URL",
|
||
|
|
"relayUrlPlaceholder": "wss://relay.example.com",
|
||
|
|
"domainName": "Domain Name",
|
||
|
|
"domainNamePlaceholder": "user{'@'}example.com",
|
||
|
|
"peerNodesDescription": "Peer nodes discovered via Nostr. Messages sent over Tor.",
|
||
|
|
"nodeVisibility": "Node Visibility",
|
||
|
|
"nodeVisibilityDesc": "Control how other nodes can discover you",
|
||
|
|
"yourTorAddress": "Your Tor address",
|
||
|
|
"discoverableWarning": "Making your node discoverable lets other Archipelago users find and connect with you.",
|
||
|
|
"noPeers": "No peers yet. Add a peer manually or use Discover to find nodes on Nostr.",
|
||
|
|
"noMessages": "No messages yet. Messages from peers will appear here.",
|
||
|
|
"noRequests": "No pending connection requests.",
|
||
|
|
"accept": "Accept",
|
||
|
|
"reject": "Reject",
|
||
|
|
"discovering": "Discovering...",
|
||
|
|
"discoverNodes": "Discover Nodes on Nostr",
|
||
|
|
"refreshMessages": "Refresh Messages",
|
||
|
|
"refreshRequests": "Refresh Requests",
|
||
|
|
"torServices": "Tor Services",
|
||
|
|
"torServicesDesc": "Hidden services exposing your apps over Tor",
|
||
|
|
"noTorServices": "No Tor hidden services configured.",
|
||
|
|
"content": "Content",
|
||
|
|
"contentDesc": "Share and browse content with peers over Tor",
|
||
|
|
"noSharedContent": "No shared content",
|
||
|
|
"addFilesToShare": "Add files to share with connected peers.",
|
||
|
|
"browse": "Browse",
|
||
|
|
"connectingToPeer": "Connecting to peer over Tor...",
|
||
|
|
"selectPeerToBrowse": "Select a peer to browse",
|
||
|
|
"choosePeerDesc": "Choose a connected peer to see their shared content.",
|
||
|
|
"peerNoContent": "This peer has no shared content.",
|
||
|
|
"identities": "Identities",
|
||
|
|
"identitiesDesc": "Sovereign digital identities (DID:key)",
|
||
|
|
"noIdentities": "No identities yet",
|
||
|
|
"createFirstIdentity": "Create your first sovereign digital identity.",
|
||
|
|
"deleting": "Deleting...",
|
||
|
|
"decentralizedWebNode": "Decentralized Web Node",
|
||
|
|
"dwnDescription": "Personal data store with DID-based access control",
|
||
|
|
"manageDwn": "Manage DWN",
|
||
|
|
"syncing": "Syncing...",
|
||
|
|
"syncNow": "Sync Now",
|
||
|
|
"verifiableCredentials": "Verifiable Credentials",
|
||
|
|
"verifiableCredentialsDesc": "Issue and manage W3C Verifiable Credentials",
|
||
|
|
"noCredentials": "No credentials issued yet",
|
||
|
|
"messageSent": "Message sent over Tor!",
|
||
|
|
"failedToSend": "Failed to send",
|
||
|
|
"pasteInvoice": "Paste a Lightning invoice (BOLT11)",
|
||
|
|
"enterBitcoinAddress": "Enter a Bitcoin address",
|
||
|
|
"sendFailed": "Send failed",
|
||
|
|
"broadcastViaHwWallet": "Broadcast via hardware wallet",
|
||
|
|
"broadcastFailed": "Broadcast failed",
|
||
|
|
"psbtCopied": "PSBT copied!",
|
||
|
|
"enterAmount": "Enter an amount",
|
||
|
|
"pasteEcashToken": "Paste an ecash token",
|
||
|
|
"receiveFailed": "Receive failed",
|
||
|
|
"ecashTokenCopied": "Ecash token copied",
|
||
|
|
"contentAdded": "Content added",
|
||
|
|
"failedToAddContent": "Failed to add content",
|
||
|
|
"contentRemoved": "Content removed",
|
||
|
|
"failedToRemoveContent": "Failed to remove content",
|
||
|
|
"failedToUpdatePricing": "Failed to update pricing",
|
||
|
|
"failedToUpdatePrice": "Failed to update price",
|
||
|
|
"failedToConnectPeer": "Failed to connect to peer",
|
||
|
|
"onionAddressCopied": "Onion address copied",
|
||
|
|
"streamUrlCopied": "Stream URL copied",
|
||
|
|
"playerError": "Unable to load media. The content may only be accessible over Tor.",
|
||
|
|
"connectionAccepted": "Connection accepted",
|
||
|
|
"failedToAcceptRequest": "Failed to accept request",
|
||
|
|
"requestRejected": "Request rejected",
|
||
|
|
"failedToRejectRequest": "Failed to reject request",
|
||
|
|
"visibilitySetTo": "Visibility set to {level}",
|
||
|
|
"failedToUpdateVisibility": "Failed to update visibility",
|
||
|
|
"didCopied": "DID copied to clipboard",
|
||
|
|
"defaultIdentityUpdated": "Default identity updated",
|
||
|
|
"failedToSetDefault": "Failed to set default",
|
||
|
|
"identityCreated": "Identity created",
|
||
|
|
"failedToCreateIdentity": "Failed to create identity",
|
||
|
|
"identityDeleted": "Identity deleted",
|
||
|
|
"failedToDeleteIdentity": "Failed to delete identity",
|
||
|
|
"registrationFailed": "Registration failed",
|
||
|
|
"removeFailed": "Remove failed",
|
||
|
|
"failedToAddRelay": "Failed to add relay",
|
||
|
|
"failedToRemoveRelay": "Failed to remove relay",
|
||
|
|
"failedToToggleRelay": "Failed to toggle relay",
|
||
|
|
"downloadUrlCopied": "Download URL copied",
|
||
|
|
"hardwareWalletDetected": "Hardware Wallet Detected",
|
||
|
|
"namesRegistered": "Names Registered",
|
||
|
|
"expiringSoon": "Expiring Soon",
|
||
|
|
"nostrRelaysDesc": "Decentralized social networking relays",
|
||
|
|
"relaysConnectedLabel": "Relays Connected",
|
||
|
|
"totalRelays": "Total Relays",
|
||
|
|
"freeAccessDesc": "Available to all peers for free",
|
||
|
|
"peersOnlyAccessDesc": "Available only to connected peers",
|
||
|
|
"signWithHwWallet": "Sign with Hardware Wallet",
|
||
|
|
"createsPsbt": "Creates a PSBT for external signing",
|
||
|
|
"generateFreshAddress": "Generate a fresh Bitcoin address",
|
||
|
|
"registerNewName": "Register New Name",
|
||
|
|
"verifyNip05": "Verify NIP-05",
|
||
|
|
"peers": "Peers",
|
||
|
|
"messages": "Messages",
|
||
|
|
"requests": "Requests",
|
||
|
|
"myContent": "My Content",
|
||
|
|
"browsePeers": "Browse Peers",
|
||
|
|
"verified": "Verified",
|
||
|
|
"invalid": "Invalid",
|
||
|
|
"stream": "Stream",
|
||
|
|
"download": "Download"
|
||
|
|
},
|
||
|
|
"appDetails": {
|
||
|
|
"backToApps": "Back to My Apps",
|
||
|
|
"backToStore": "Back to App Store",
|
||
|
|
"screenshots": "Screenshots",
|
||
|
|
"screenshotPlaceholder": "Screenshot placeholders - images coming soon",
|
||
|
|
"about": "About {name}",
|
||
|
|
"features": "Features",
|
||
|
|
"information": "Information",
|
||
|
|
"requirements": "Requirements",
|
||
|
|
"ram": "RAM",
|
||
|
|
"ramDesc": "Minimum 512MB",
|
||
|
|
"storage": "Storage",
|
||
|
|
"storageDesc": "~100MB",
|
||
|
|
"links": "Links",
|
||
|
|
"website": "Website",
|
||
|
|
"sourceCode": "Source Code",
|
||
|
|
"documentation": "Documentation",
|
||
|
|
"services": "Services",
|
||
|
|
"guardian": "Guardian",
|
||
|
|
"gateway": "Gateway",
|
||
|
|
"access": "Access",
|
||
|
|
"lan": "LAN",
|
||
|
|
"tor": "Tor",
|
||
|
|
"requiresTor": "Requires Tor Browser",
|
||
|
|
"channels": "Channels",
|
||
|
|
"uninstallTitle": "Uninstall App?",
|
||
|
|
"uninstallConfirm": "Are you sure you want to uninstall {name}? This will remove the app and stop its container.",
|
||
|
|
"notFoundTitle": "App Not Found",
|
||
|
|
"notFoundMessage": "The requested application could not be found",
|
||
|
|
"installed": "Installed",
|
||
|
|
"channels": "Channels"
|
||
|
|
},
|
||
|
|
"containerDetails": {
|
||
|
|
"back": "Back",
|
||
|
|
"subtitle": "Container details and management",
|
||
|
|
"containerInfo": "Container Information",
|
||
|
|
"actions": "Actions",
|
||
|
|
"logs": "Logs",
|
||
|
|
"containerId": "Container ID",
|
||
|
|
"image": "Image",
|
||
|
|
"state": "State",
|
||
|
|
"created": "Created",
|
||
|
|
"startContainer": "Start Container",
|
||
|
|
"stopContainer": "Stop Container",
|
||
|
|
"loadingLogs": "Loading logs...",
|
||
|
|
"noLogs": "No logs available"
|
||
|
|
},
|
||
|
|
"marketplaceDetails": {
|
||
|
|
"backToStore": "Back to App Store",
|
||
|
|
"screenshots": "Screenshots",
|
||
|
|
"screenshotPlaceholder": "Screenshot placeholders - images coming soon",
|
||
|
|
"about": "About {name}",
|
||
|
|
"features": "Features",
|
||
|
|
"information": "Information",
|
||
|
|
"requirements": "Requirements",
|
||
|
|
"noRequirements": "No additional dependencies required",
|
||
|
|
"installRequirements": "Install Requirements",
|
||
|
|
"links": "Links",
|
||
|
|
"downloadPackage": "Download Package",
|
||
|
|
"installed": "Installed",
|
||
|
|
"notInstalled": "Not Installed",
|
||
|
|
"open": "Open",
|
||
|
|
"loadingDetails": "Loading app details...",
|
||
|
|
"notFoundTitle": "App Not Found",
|
||
|
|
"notFoundMessage": "The requested application could not be found in the marketplace",
|
||
|
|
"installFailed": "Installation Failed",
|
||
|
|
"depRunning": "Running",
|
||
|
|
"depStopped": "Installed but stopped",
|
||
|
|
"depNotInstalled": "Not installed"
|
||
|
|
},
|
||
|
|
"goalDetail": {
|
||
|
|
"backToGoals": "Back to Goals",
|
||
|
|
"notFound": "Goal not found.",
|
||
|
|
"stepOf": "Step {current} of {total}",
|
||
|
|
"notStarted": "Not Started",
|
||
|
|
"inProgress": "In Progress",
|
||
|
|
"completed": "Completed",
|
||
|
|
"syncTitle": "Sovereignty takes a little patience",
|
||
|
|
"syncMessage": "Your Bitcoin node is syncing the entire blockchain so you don't have to trust anyone else. This takes 2-3 days on first run. Meanwhile, you can explore your node, set up your identity, or back up your keys.",
|
||
|
|
"installApp": "Install {name}",
|
||
|
|
"openAndConfigure": "Open & Configure",
|
||
|
|
"iveDoneThis": "I've Done This",
|
||
|
|
"complete": "Complete",
|
||
|
|
"allSet": "All Set!",
|
||
|
|
"goalReady": "{title} is ready to go.",
|
||
|
|
"viewMyServices": "View My Services"
|
||
|
|
},
|
||
|
|
"monitoring": {
|
||
|
|
"title": "Monitoring",
|
||
|
|
"subtitle": "Real-time system metrics and container resource usage",
|
||
|
|
"cpuUsage": "CPU Usage (%)",
|
||
|
|
"memoryUsage": "Memory Usage (%)",
|
||
|
|
"networkIo": "Network I/O (bytes)",
|
||
|
|
"rpcLatency": "RPC Latency (ms)",
|
||
|
|
"alertHistory": "Alert History",
|
||
|
|
"hideConfig": "Hide Config",
|
||
|
|
"noAlerts": "No alerts fired",
|
||
|
|
"containerResources": "Container Resources",
|
||
|
|
"noContainerMetrics": "No container metrics available",
|
||
|
|
"systemHealth": "System Health",
|
||
|
|
"load": "Load:",
|
||
|
|
"exportCsv": "Export CSV",
|
||
|
|
"exportJson": "Export JSON",
|
||
|
|
"diskUsage": "Disk Usage",
|
||
|
|
"ramUsage": "RAM Usage",
|
||
|
|
"containerCrash": "Container Crash",
|
||
|
|
"rpcLatencySpike": "RPC Latency Spike",
|
||
|
|
"sslCertExpiry": "SSL Cert Expiry",
|
||
|
|
"refreshFooter": "Refreshing every 5 seconds",
|
||
|
|
"wsConnections": "WS connections: {count}",
|
||
|
|
"cpu": "CPU",
|
||
|
|
"memory": "Memory",
|
||
|
|
"network": "Network"
|
||
|
|
},
|
||
|
|
"systemUpdate": {
|
||
|
|
"title": "System Update",
|
||
|
|
"subtitle": "Manage software updates for your Archipelago node",
|
||
|
|
"currentSystem": "Current System",
|
||
|
|
"updateAvailable": "Update Available",
|
||
|
|
"upToDate": "System is up to date",
|
||
|
|
"downloading": "Downloading Update...",
|
||
|
|
"applying": "Applying Update...",
|
||
|
|
"updateSchedule": "Update Schedule",
|
||
|
|
"actions": "Actions",
|
||
|
|
"lastChecked": "Last Checked",
|
||
|
|
"new": "New",
|
||
|
|
"changelog": "Changelog",
|
||
|
|
"componentsToUpdate": "{count} component(s) to update",
|
||
|
|
"manualOnly": "Manual Only",
|
||
|
|
"manualOnlyDesc": "Never check automatically. You control when to check and install updates.",
|
||
|
|
"dailyCheck": "Daily Check",
|
||
|
|
"dailyCheckDesc": "Check for updates once per day. You decide when to install.",
|
||
|
|
"autoApply": "Auto-Apply",
|
||
|
|
"autoApplyDesc": "Check daily and automatically install updates at 3 AM. Service restarts as needed.",
|
||
|
|
"downloadUpdate": "Download Update",
|
||
|
|
"applyUpdate": "Apply Update",
|
||
|
|
"checkForUpdates": "Check for Updates",
|
||
|
|
"checking": "Checking...",
|
||
|
|
"rollback": "Rollback to Previous",
|
||
|
|
"backToSettings": "Back to Settings",
|
||
|
|
"percentComplete": "{percent}% complete",
|
||
|
|
"applyWarning": "Installing components and restarting services. Do not power off.",
|
||
|
|
"applyTitle": "Apply Update?",
|
||
|
|
"applyMessage": "The backend service will restart. This may take a moment.",
|
||
|
|
"rollbackTitle": "Rollback Version?",
|
||
|
|
"rollbackMessage": "This will restore the previous version. The backend service will restart.",
|
||
|
|
"applyNow": "Apply Now",
|
||
|
|
"rollbackButton": "Rollback",
|
||
|
|
"upToDateMessage": "Your system is up to date. No updates available. Your system is running the latest version.",
|
||
|
|
"checkFailed": "Failed to check for updates. Check your internet connection.",
|
||
|
|
"downloadSuccess": "Downloaded {count} component(s) ({size}MB)",
|
||
|
|
"downloadFailed": "Download failed. Please try again.",
|
||
|
|
"applySuccess": "Update applied. The service will restart momentarily.",
|
||
|
|
"applyFailed": "Failed to apply update. You can try again or rollback.",
|
||
|
|
"rollbackSuccess": "Rolled back to previous version. Service will restart.",
|
||
|
|
"rollbackFailed": "Rollback failed."
|
||
|
|
},
|
||
|
|
"kioskRecovery": {
|
||
|
|
"title": "Archipelago Recovery",
|
||
|
|
"subtitle": "Kiosk failsafe — no authentication required",
|
||
|
|
"serverAddress": "Server Address",
|
||
|
|
"webUi": "Web UI: http://{address}",
|
||
|
|
"scanForMobile": "Scan for mobile access",
|
||
|
|
"backend": "Backend",
|
||
|
|
"unreachable": "Unreachable",
|
||
|
|
"containers": "Containers",
|
||
|
|
"goToLogin": "Go to Login",
|
||
|
|
"lastChecked": "Last checked: {time}"
|
||
|
|
}
|
||
|
|
}
|