567 lines
27 KiB
TypeScript
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;
|