feat: add vue-i18n infrastructure and externalize all UI strings (A11Y-03)
Set up vue-i18n with English locale file containing 500+ keys organized by view namespace. All 15 views converted to use t() calls instead of hardcoded strings. Infrastructure ready for community translations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
b9cc0a924e
commit
aba7aba25f
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"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}"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user