Files
xugou/frontend/src/i18n/en-US.ts
T

567 lines
27 KiB
TypeScript

const enUS = {
translation: {
// Navbar
"navbar.dashboard": "Dashboard",
"navbar.apiMonitors": "API Monitors",
"navbar.agentMonitors": "Agent Monitors",
"navbar.statusPage": "Status Page",
"navbar.notifications": "Notifications",
"navbar.installApp": "Install App",
"navbar.userManagement": "User Management",
"navbar.profile": "Profile",
"navbar.logout": "Logout",
"navbar.login": "Login",
"navbar.loggedInAs": "Logged in as",
// Common buttons and prompts
"common.loading": "Loading...",
"common.save": "Save",
"common.cancel": "Cancel",
"common.delete": "Delete",
"common.edit": "Edit",
"common.create": "Create",
"common.back": "Back",
"common.search": "Search",
"common.filter": "Filter",
"common.actions": "Actions",
"common.status": "Status",
"common.name": "Name",
"common.description": "Description",
"common.type": "Type",
"common.url": "URL",
"common.created": "Created",
"common.updated": "Updated",
"common.yes": "Yes",
"common.no": "No",
"common.confirm": "Confirm",
"common.success": "Success",
"common.error": "Error",
"common.warning": "Warning",
"common.info": "Info",
"common.retry": "Retry",
"common.refresh": "Refresh",
"common.deleting": "Deleting...",
"common.savingChanges": "Saving changes...",
"common.saveChanges": "Save Changes",
"common.loadingError": "Loading error",
"common.notFound": "Not found",
"common.backToList": "Back to list",
"common.success.deleted": "Successfully deleted",
"common.success.updated": "Update successful",
"common.error.delete": "Deletion failed, please try again",
"common.error.update": "Update failed",
"common.error.fetch": "Failed to fetch data",
"common.required": "Required",
"common.optional": "Optional",
"common.copy": "Copy",
"common.copied": "Copied",
"common.deleteConfirmation": "Confirm Deletion",
"common.deleteConfirmMessage": "Are you sure you want to delete? This action cannot be undone.",
"common.second": "second",
"common.seconds": "seconds",
"common.minute": "minute",
"common.minutes": "minutes",
"common.date": "Date",
"common.close": "Close",
"common.unknown": "Unknown",
"common.comingSoon": "Coming soon feature",
"common.default": "Default",
// Language selection
"language.zhCN": "Chinese",
"language.enUS": "English",
// Home page
"home.title": "Welcome to XUGOU",
"home.subtitle": "A simple and easy-to-use monitoring platform",
"home.getStarted": "Get Started",
"home.learnMore": "Learn More",
"home.features.title": "Features",
"home.features.monitoring": "Real-time Monitoring",
"home.features.monitoring.desc": "Real-time monitoring of APIs and agents",
"home.features.alerts": "Alert Notifications",
"home.features.alerts.desc": "Notify you promptly when monitoring anomalies occur",
"home.features.dashboard": "Visual Dashboard",
"home.features.dashboard.desc": "Intuitive display of monitoring data and statistics",
"home.features.statusPage": "Status Page",
"home.features.statusPage.desc": "Provides a public service status page",
// Login page
"login.title": "Login",
"login.username": "Username",
"login.password": "Password",
"login.button": "Login",
"login.error": "Incorrect username or password",
// Register page
"register.title": "Register",
"register.username": "Username",
"register.password": "Password",
"register.confirmPassword": "Confirm Password",
"register.email": "Email",
"register.button": "Register",
"register.loginLink": "Already have an account? Login",
"register.error.passwordMismatch": "Passwords do not match",
"register.error.usernameExists": "Username already exists",
"register.error.emailExists": "Email already exists",
"register.success.message": "Registration successful, please login",
// Dashboard
"dashboard.title": "Dashboard",
"dashboard.summary": "Overview",
"dashboard.totalMonitors": "Total Monitors",
"dashboard.activeMonitors": "Active Monitors",
"dashboard.refresh": "Refresh",
// Monitor list
"monitors.title": "Monitor List",
"monitors.create": "Create Monitor",
"monitors.noMonitors": "No monitors available",
"monitors.status.up": "Up",
"monitors.status.down": "Down",
"monitors.pageTitle": "API Monitors",
"monitors.loadingError": "Failed to fetch monitor data",
"monitors.delete.confirm": "Are you sure you want to delete this monitor?",
"monitors.delete.failed": "Failed to delete monitor",
"monitors.addOne": "Add Monitor",
"monitors.notFound": "No monitors found",
"monitors.refresh": "Refresh",
"monitors.retry": "Retry",
"monitors.table.name": "Name",
"monitors.table.url": "URL",
"monitors.table.status": "Status",
"monitors.table.responseTime": "Response Time",
"monitors.table.uptime": "Uptime",
"monitors.table.actions": "Actions",
"monitors.viewDetails": "View Details",
"monitors.edit": "Edit Monitor",
"monitors.delete": "Delete Monitor",
// Monitor details
"monitor.details": "Monitor Details",
"monitor.edit": "Edit Monitor",
"monitor.delete": "Delete Monitor",
"monitor.history": "History",
"monitor.uptime": "Uptime",
"monitor.responseTime": "Response Time",
"monitor.oneDayHistory": "24-hour history",
"monitor.MonthsHistory": "30-day history",
"monitor.noResponseTimeData": "No response time data available",
"monitor.manualCheck": "Manual Check",
"monitor.checkCompleted": "Monitor check completed",
"monitor.checkFailed": "Check failed",
"monitor.deleteSuccess": "Monitor successfully deleted",
"monitor.deleteFailed": "Failed to delete monitor",
"monitor.notExist": "Monitor does not exist",
"monitor.returnToList": "Return to monitor list",
// Monitor status information
"monitor.status.normal": "Normal",
"monitor.status.failure": "Failure",
"monitor.status.pending": "Pending",
// Detailed information
"monitor.detailInfo": "Detailed Information",
"monitor.method": "Method",
"monitor.interval": "Check Interval",
"monitor.timeout": "Timeout",
"monitor.expectedStatus": "Expected Status Code",
"monitor.createTime": "Creation Time",
"monitor.headers": "Request Headers",
"monitor.body": "Request Body",
// Check history
"monitor.history.time": "Time",
"monitor.history.totalChecks": "Total Checks",
"monitor.history.upChecks": "Normal",
"monitor.history.downChecks": "Error",
"monitor.history.avgResponseTime": "Avg Response Time",
"monitor.history.minResponseTime": "Min Response Time",
"monitor.history.maxResponseTime": "Max Response Time",
"monitor.history.responseTime": "Response Time",
"monitor.history.records": "Record Count",
"monitor.history.availability": "Availability",
"monitor.history.latest": "Latest Record",
"monitor.history.error": "Error",
// Create/Edit Monitor
"monitor.form.title.create": "Create Monitor",
"monitor.form.title.edit": "Edit Monitor",
"monitor.form.name": "Monitor Name",
"monitor.form.namePlaceholder": "Enter monitor name",
"monitor.form.url": "URL",
"monitor.form.urlPlaceholder": "Enter URL to monitor",
"monitor.form.method": "Request Method",
"monitor.form.interval": "Check Interval (minutes)",
"monitor.form.intervalMin": "Minimum interval 1 minute",
"monitor.form.timeout": "Timeout (seconds)",
"monitor.form.expectedStatus": "Expected Status Code",
"monitor.form.headers": "Request Headers",
"monitor.form.headerName": "Name",
"monitor.form.headerValue": "Value",
"monitor.form.headerNamePlaceholder": "Header Name",
"monitor.form.headerValuePlaceholder": "Header Value",
"monitor.form.addHeader": "Add Request Header",
"monitor.form.headersHelp": "Add request headers, e.g., Content-Type: application/json",
"monitor.form.body": "Request Body",
"monitor.form.bodyPlaceholder": "Request body content",
"monitor.form.cancel": "Cancel",
"monitor.form.creating": "Creating...",
"monitor.form.create": "Create Monitor",
"monitor.form.updating": "Updating...",
"monitor.form.update": "Update Monitor",
"monitor.form.createFailed": "Failed to create monitor, please try again later",
"monitor.form.updateFailed": "Failed to update monitor",
"monitor.form.unknownError": "Unknown error",
"monitor.form.required": "Required",
// Agent Monitors
"agents.title": "Agent List",
"agents.create": "Add Agent",
"agents.noAgents": "No agents available",
"agents.pageTitle": "Agent Monitors",
"agents.viewAll": "View All Agents",
"agents.loadingDetail": "Loading agent details...",
"agents.loadingList": "Loading agent list...",
"agents.notFound": "Agent not found",
"agents.notFoundId": "Agent with ID {id} not found",
"agents.cardView": "Card View",
"agents.tableView": "Table View",
"agents.addAgent": "Add Agent",
"agents.system": "System Status",
"agents.copyCommand": "Copy Command",
"agents.table.name": "Name",
"agents.table.host": "Hostname",
"agents.table.ip": "IP Address",
"agents.table.status": "Status",
"agents.table.os": "Operating System",
"agents.table.version": "Version",
"agents.table.actions": "Actions",
// Agent Details
"agent.details": "Agent Details",
"agent.edit": "Edit Agent",
"agent.delete": "Delete Agent",
"agent.status.online": "Online",
"agent.status.connecting": "Connecting",
"agent.status.offline": "Offline",
"agent.lastSeen": "Last Seen",
"agent.uptime": "Uptime",
"agent.lastUpdated": "Last Updated",
"agent.systemInfo": "System Info",
"agent.metrics": "Metrics",
"agent.os": "OS",
"agent.version": "Version",
"agent.hostname": "Hostname",
"agent.ipAddress": "IP Address",
"agent.systemStatus": "System Status",
"agent.deleteConfirm": "Are you sure you want to delete this agent? This action cannot be undone.",
"agent.deleting": "Deleting agent...",
"agent.deleteSuccess": "Agent successfully deleted",
"agent.deleteError": "Failed to delete agent",
// Agent Metrics
"agent.metrics.cpu": {
"title": "CPU",
"usage": "Usage",
"cores": "Cores",
"model": "Model",
},
"agent.metrics.memory": {
"title": "Memory",
"total": "Total Memory",
"used": "Used Memory",
"free": "Free Memory",
"usage": "Usage",
"usageRate": "Usage Rate",
},
"agent.metrics.disk": {
"title": "Disk",
"usage": "Usage",
"device": "Device",
"mountPoint": "Mount Point",
"total": "Total Space",
"used": "Used Space",
"free": "Free Space",
"usageRate": "Usage Rate",
"fsType": "File System Type"
},
"agent.metrics.network": {
"title": "Network",
"rate": "Rate",
"received": "Received",
"interface": "Interface",
"sent": "Sent",
"packetsReceived": "Packets Received",
"packetsSent": "Packets Sent",
},
"agent.metrics.load": {
"title": "Load",
"1min": "1-minute Load",
"5min": "5-minute Load",
"15min": "15-minute Load",
"minute": "Minute",
},
// Create/Edit Agent
"agent.form.title.create": "Add Agent",
"agent.form.title.edit": "Edit Agent",
"agent.form.editingClient": "Editing Agent: {name}",
"agent.form.name": "Agent Name",
"agent.form.namePlaceholder": "Enter agent name",
"agent.form.nameHelp": "Set a recognizable name for the agent",
"agent.form.updateSuccess": "Agent updated successfully",
"agent.form.updateError": "Update failed",
// Add Agent Page
"agent.add.note": "The agent will be automatically added to the system after running the installation command, no manual creation required",
"agent.add.serverAddress": "Server Address",
"agent.add.serverAddressPlaceholder": "Enter server address, e.g., https://xugou.example.com",
"agent.add.serverAddressHelp": "Ensure this address is accessible from the client server",
"agent.add.registrationToken": "Registration Token",
"agent.add.generatingToken": "Generating Token...",
"agent.add.tokenHelp": "This token will be used by your agent to register with the server, the token will only be displayed once, please keep it safe",
"agent.add.installGuide": "Installation Guide",
"agent.add.installSteps": "Follow these two steps to install and register the agent",
"agent.add.step1": "Step 1: Download the agent binary file",
"agent.add.step1Help": "This command will download the latest version of the agent binary file from Cloudflare R2 storage and set it as executable",
"agent.add.step2": "Step 2: Register and start the agent",
"agent.add.step2Help": "This command will start the agent and automatically register it to the server using the generated token. The parameter interval specifies the reporting interval (seconds)",
"agent.add.optionalSetup": "(Optional) Set up the agent as a system service",
"agent.add.optionalSetupHelp": "On Linux/Unix systems, you can use the following command to create a system service",
"agent.add.returnToList": "Return to agent list",
// User Management
"users.title": "User Management",
"users.create": "Create User",
"users.noUsers": "No user data available",
"users.error.fetch": "Failed to fetch user list",
"users.error.delete": "Failed to delete user",
"users.deleteConfirm": 'Are you sure you want to delete user "{username}"? This action cannot be undone.',
"user.username": "Username",
"user.email": "Email",
"user.role": "Role",
"user.status": "Status",
"user.created": "Created",
"user.actions": "Actions",
// Profile
"profile.title": "Profile",
"profile.edit": "Edit Profile",
"profile.changePassword": "Change Password",
"profile.changePasswordButton": "Change Password",
"profile.basicInfo": "Basic Info",
"profile.update": "Update Profile",
"profile.currentPassword": "Current Password",
"profile.newPassword": "New Password",
"profile.confirmNewPassword": "Confirm New Password",
"profile.error.notLoggedIn": "User not logged in",
"profile.error.passwordMismatch": "Passwords do not match",
"profile.error.update": "Failed to update profile",
"profile.error.passwordChange": "Failed to change password",
"profile.success.updated": "Profile updated successfully",
"profile.success.passwordChanged": "Password changed successfully",
// Status Page
"statusPage.title": "System Status",
"statusPage.allOperational": "All systems operational",
"statusPage.lastUpdated": "Last Updated",
"statusPage.justNow": "Just now",
"statusPage.apiServices": "API Service Status",
"statusPage.agentStatus": "Agent Monitoring Status",
// Status Page Configuration
"statusPageConfig.title": "Status Page Configuration",
"statusPageConfig.preview": "Preview Status Page",
"statusPageConfig.save": "Save Configuration",
"statusPageConfig.general": "General Settings",
"statusPageConfig.services": "API Service Settings",
"statusPageConfig.agents": "Agent Settings",
"statusPageConfig.appearance": "Appearance Settings",
"statusPageConfig.pageTitle": "Status Page Title",
"statusPageConfig.pageTitlePlaceholder": "Enter status page title",
"statusPageConfig.pageDescription": "Status Page Description",
"statusPageConfig.pageDescriptionPlaceholder": "Enter status page description",
"statusPageConfig.publicUrl": "Public Access URL",
"statusPageConfig.publicUrlHelp": "This URL can be shared publicly, no login required",
"statusPageConfig.selectionNote": "Note: If you do not select any API services or agents, the corresponding sections will not be displayed on the status page.",
"statusPageConfig.selectServicesPrompt": "Select API services to display on the status page",
"statusPageConfig.selectAgentsPrompt": "Select agents to display on the status page",
"statusPageConfig.configSaved": "Status page configuration saved",
"statusPageConfig.saveError": "Failed to save status page configuration",
"statusPageConfig.fetchingConfig": "Fetching status page configuration...",
"statusPageConfig.configFromProperty": "Status page configuration fetched from config property:",
"statusPageConfig.tryingDirectResponse": "API response seems to directly contain configuration data, attempting to use directly",
"statusPageConfig.parseError": "Failed to parse API response:",
"statusPageConfig.receivedConfig": "Fetched status page configuration:",
"statusPageConfig.monitorListType": "Monitor list type:",
"statusPageConfig.monitorCount": "Number of monitors:",
"statusPageConfig.configMonitor": "Monitors in configuration",
"statusPageConfig.noValidConfig": "No valid status page configuration received or configuration is empty",
"statusPageConfig.invalidResponse": "Invalid API response",
"statusPageConfig.fetchingMonitors": "Fetching all monitors...",
"statusPageConfig.monitorsResponse": "Monitors fetch response:",
"statusPageConfig.foundMonitor": "Found monitor in configuration",
"statusPageConfig.originalStatus": "Original selected status",
"statusPageConfig.processedStatus": "Processed selected status",
"statusPageConfig.notFoundMonitor": "Monitor not found in configuration",
"statusPageConfig.finalMonitorResult": "Final monitor processing result",
"statusPageConfig.selectedStatus": "Selected status",
"statusPageConfig.processedMonitorList": "Processed monitor list",
"statusPageConfig.fetchingAgents": "Fetching all agents...",
"statusPageConfig.foundAgent": "Found agent in configuration",
"statusPageConfig.notFoundAgent": "Agent not found in configuration",
"statusPageConfig.finalAgentResult": "Final agent processing result",
"statusPageConfig.processedAgentList": "Processed agent list",
"statusPageConfig.fetchMonitorsError": "Failed to fetch monitor data",
"statusPageConfig.fetchDataError": "Failed to fetch data",
"statusPageConfig.configLoaded": "Status page configuration loaded, validating monitor selection status:",
"statusPageConfig.invalidAgentId": "Attempted to change invalid agent ID:",
"statusPageConfig.savingConfig": "Preparing to save configuration object:",
"statusPageConfig.selectedMonitors": "Selected monitors:",
"statusPageConfig.selectedMonitorIds": "List of selected monitor IDs:",
"statusPageConfig.callingSaveApi": "Calling save configuration API...",
"statusPageConfig.saveApiResponse": "Save configuration API response:",
"statusPageConfig.serviceRendering": "Service rendering",
"statusPageConfig.agentRendering": "Agent rendering",
"statusPageConfig.monitorStatusChange": "Monitor status change",
"statusPageConfig.agentStatusChange": "Agent status change",
"statusPageConfig.from": "From",
"statusPageConfig.to": "To",
// Notification Settings
"notifications.title": "Notification Settings",
"notifications.description": "Configure system notification settings, including API and agent notifications.",
"notifications.tabs.channels": "Notification Channels",
"notifications.tabs.settings": "Notification Settings",
"notifications.tabs.templates": "Message Templates",
"notifications.tabs.global": "Global Notification Settings",
"notifications.tabs.specificMonitors": "API Monitor Configurations",
"notifications.tabs.specificAgents": "Agent Configurations",
"notifications.channels.title": "Notification Channels",
"notifications.channels.description": "Configure different notification channels to receive alerts about monitoring and agents.",
"notifications.channels.add": "Add Channel",
"notifications.channels.edit": "Edit Notification Channel",
"notifications.channels.delete": "Delete Notification Channel",
"notifications.channels.noChannels": "No notification channels configured, please add a notification channel",
"notifications.channels.tabDescription": "Configure and manage system notification channels, you can add multiple types of notification methods.",
"notifications.channels.type.resend": "Resend Email",
"notifications.channels.type.slack": "Slack",
"notifications.channels.type.telegram": "Telegram",
"notifications.channels.type.webhook": "Webhook",
"notifications.channels.type.dingtalk": "DingTalk",
"notifications.channels.type.wecom": "WeCom",
"notifications.channels.type.feishu": "Feishu",
"notifications.channels.name": "Channel Name",
"notifications.channels.status": "Status",
"notifications.channels.type": "Channel Type",
"notifications.channels.namePlaceholder": "Enter channel name",
"notifications.channels.dialogDescription": "Configure notification channels to receive system alerts and notifications.",
"notifications.channels.deleteConfirmTitle": "Confirm Delete Notification Channel",
"notifications.channels.deleteConfirmMessage": "Are you sure you want to delete this notification channel? This action cannot be undone.",
"notifications.channels.updateSuccess": "Notification channel updated successfully",
"notifications.channels.createSuccess": "Notification channel created successfully",
"notifications.channels.deleteSuccess": "Notification channel deleted successfully",
"notifications.channels.saveError": "Failed to save notification channel",
"notifications.channels.deleteError": "Failed to delete notification channel",
"notifications.channels.errors.nameRequired": "Channel name is required",
"notifications.channels.errors.botTokenRequired": "Bot Token is required",
"notifications.channels.errors.invalidBotToken": "Invalid Bot Token format",
"notifications.channels.errors.chatIdRequired": "Chat ID is required",
"notifications.channels.errors.apiKeyRequired": "API Key is required",
"notifications.channels.errors.fromRequired": "Sender is required",
"notifications.channels.errors.toRequired": "Recipient is required",
"notifications.channels.errors.invalidFromEmail": "Invalid sender format",
"notifications.channels.errors.webhookUrlRequired": "Webhook URL is required",
"notifications.channels.apiKey": "Resend API Key",
"notifications.channels.webhookUrl": "Webhook URL",
"notifications.channels.getApiKey": "Get Resend API Key",
"notifications.channels.from": "Sender",
"notifications.channels.fromHint": 'Supported formats: "Your Name <email@example.com>" or "email@example.com"',
"notifications.channels.to": "Recipient",
"notifications.channels.selectChannels": "Select Notification Channels",
"notifications.channels.selected": "selected",
"notifications.settings.title": "Notification Settings",
"notifications.settings.description": "Configure events and conditions that trigger notifications",
"notifications.settings.monitors": "API Monitor Notifications",
"notifications.settings.monitors.description": "Send notifications when API monitor status changes",
"notifications.settings.agents": "Agent Monitor Notifications",
"notifications.settings.agents.description": "Send notifications when agent status or resource usage exceeds thresholds",
"notifications.settings.enable": "Enable Notifications",
"notifications.settings.threshold": "Trigger Threshold",
"notifications.specificMonitors.description": "Configure notification settings for specific API monitors, these settings will override global notification settings",
"notifications.specificAgents.description": "Configure notification settings for specific agents, these settings will override global notification settings",
"notifications.specificSettings.override": "Custom Settings",
"notifications.specificSettings.channels": "Select Notification Channels",
"notifications.templates.title": "Notification Templates",
"notifications.templates.add": "Add Template",
"notifications.templates.comingSoon": "Template feature coming soon, stay tuned!",
"notifications.templates.description": "Notification templates are used to customize the format of notification content",
"notifications.templates.edit": "Edit Template",
"notifications.templates.delete": "Delete Template",
"notifications.templates.noTemplates": "No message templates created yet",
"notifications.templates.defaultTemplate": "Default Template",
"notifications.templates.name": "Template Name",
"notifications.templates.subject": "Subject",
"notifications.templates.content": "Content",
"notifications.templates.variables": "Available Variables",
"notifications.templates.preview": "Preview",
"notifications.templates.tabDescription": "Customize notification templates for different scenarios, edit message content and format as needed.",
"notifications.save.success": "Notification settings saved successfully",
"notifications.save.error": "Failed to save notification settings",
"notifications.globalSettings.description": "Configure global notification settings, including notification channels, monitor settings, and message templates. These settings will apply to all monitors and agents unless overridden by specific configurations.",
// Notification Event Types
"notifications.events.onDownOnly": "Send notification only when service goes down",
"notifications.events.onRecovery": "Send notification when service recovers",
"notifications.events.onOffline": "Send notification when agent goes offline",
"notifications.events.onRecoveryAgent": "Send notification when agent comes online",
"notifications.events.onCpuThreshold": "Send notification when CPU usage exceeds threshold",
"notifications.events.onMemoryThreshold": "Send notification when memory usage exceeds threshold",
"notifications.events.onDiskThreshold": "Send notification when disk usage exceeds threshold",
// Notification Thresholds
"notifications.threshold.label": "Threshold:",
"notifications.threshold.percent": "%",
// 404 Page
"notFound.title": "Page Not Found",
"notFound.message": "The page you are looking for does not exist",
"notFound.button": "Return to Home",
// Auth Related
"auth.error.fetchUser": "Failed to fetch user information",
"auth.error.login": "Login failed",
"auth.error.register": "Registration failed",
"login.error.tryAgain": "Login failed, please try again later",
"register.error.tryAgain": "Registration failed, please try again later",
// Footer
"footer.copyright": "© {year} XUGOU. All rights reserved.",
"footer.blog": "Blog",
"footer.youtube": "YouTube Channel",
"footer.tempMail": "24-hour Temporary Email",
// AgentCard Component
"agentCard.receivedData": "AgentCard received client data",
"agentCard.calculatedResource": "Calculated resource usage",
"agentCard.noMetrics": "Client has no metric data",
"agentCard.resourceError": "Failed to parse client resource usage data",
"agentCard.status.active": "Active",
"agentCard.status.inactive": "Offline",
"agentCard.status.connecting": "Connecting",
// MonitorCard Component
"monitorCard.status.up": "Up",
"monitorCard.status.down": "Down",
"monitorCard.status.pending": "Pending",
"monitorCard.responseTime": "Response Time",
"monitorCard.unknown": "Unknown",
// StatusSummaryCard Component
"statusSummary.title": "Status Summary",
},
};
export default enUS;