{
  "about.discuss": "Discuss",
  "about.doc": "Document",
  "about.gitee": "Gitee",
  "about.github": "Github",
  "about.help": "HertzBeat's unified platform with AI intelligence, powerful customization, multi-type support, high performance, and easy expansion, aims to help users quickly and conveniently achieve observability needs.",
  "about.issue": "Feedback",
  "about.not-show-next-login": " Do not show this popup on next login",
  "about.point.1": "Unified metrics platform, agentless and supports web, db, os, mid, network etc.",
  "about.point.2": "Unified logs platform, seamlessly integrates multiple log sources through OTLP.",
  "about.point.3": "Unified alarms platform, integrates multiple alert sources, supports flexible threshold rules and alert handling strategies.",
  "about.point.4": "Unified message distribution, timely notification via discord, slack, telegram etc.",
  "about.point.5": "Configurable protocols, customize collection metrics through YML templates.",
  "about.point.6": "High-performance cluster architecture, supports horizontal scaling of multiple collectors, multi-network isolation monitoring, and status page construction.",
  "about.pr": "Contribute",
  "about.star": "Star",
  "about.title": "Apache HertzBeat™ is an AI-powered next-generation open-source real-time observability system. Unified collection of metrics and logs, one-stop alert distribution, intelligent management and analysis.",
  "about.upgrade": "Upgrade",
  "alert": "Alert",
  "alert.center.clear": "Clear All",
  "alert.center.confirm.clear-all": "Please confirm whether to clear all alerts!",
  "alert.center.confirm.delete": "Please confirm whether to delete!",
  "alert.center.confirm.mark-done": "Please confirm whether to mark processed!",
  "alert.center.confirm.mark-done-batch": "Please confirm whether to mark processed in batch!",
  "alert.center.confirm.mark-no": "Please confirm whether to mark Pending!",
  "alert.center.confirm.mark-no-batch": "Please confirm whether to mark Pending in batch!",
  "alert.center.content": "Alert Content",
  "alert.center.deal": "Mark Processed",
  "alert.center.delete": "Delete Alerts",
  "alert.center.end-time": "End Time",
  "alert.center.filter-priority": "Alert Priority",
  "alert.center.filter-status": "Alert Status",
  "alert.center.first-time": "Start Time",
  "alert.center.labels": "Labels",
  "alert.center.last-time": "Active Time",
  "alert.center.monitor": "Belong Monitor",
  "alert.center.no-deal": "Mark Pending",
  "alert.center.notify.no-mark": "No items selected for mark!",
  "alert.center.priority": "Priority",
  "alert.center.search": "Search Alert",
  "alert.center.status": "Status",
  "alert.center.target": "Metric Target",
  "alert.center.time": "Alert Time",
  "alert.center.time.tip": "Alerts were triggered {{times}} times during this alert period",
  "alert.export.switch-type": "Please select the export file format!",
  "alert.export.use-type": "Export rules in {{type}} file format",
  "alert.group-converge.delete": "Delete Converge Strategy",
  "alert.group-converge.edit": "Edit Converge Strategy",
  "alert.group-converge.group-interval": "Interval Time",
  "alert.group-converge.group-interval.tip": "Minimum interval for sending grouped alert notifications, avoid too frequent notifications, default 5 minutes",
  "alert.group-converge.group-labels": "Group Labels",
  "alert.group-converge.group-labels.add": "Add Label",
  "alert.group-converge.group-labels.input": "Press Enter after inputting custom label",
  "alert.group-converge.group-labels.placeholder": "Please enter label",
  "alert.group-converge.group-labels.tip": "Group alert messages by alert label keys, support multiple label keys like alertname, severity, instance etc",
  "alert.group-converge.group-wait": "Wait Time",
  "alert.group-converge.group-wait.tip": "Wait time after new alert, similar alerts received during this time will be grouped, default 30 seconds",
  "alert.group-converge.match-all": "Match All",
  "alert.group-converge.name": "Strategy Name",
  "alert.group-converge.name.tip": "Name to identify this grouping strategy, must be unique",
  "alert.group-converge.new": "New Converge Strategy",
  "alert.group-converge.repeat-interval": "Repeat Interval",
  "alert.group-converge.repeat-interval.tip": "Minimum notification interval for repeat alerts, avoid sending repeated notifications for continuous alerts, default 4 hours",
  "alert.group-converge.seconds": "Seconds",
  "alert.help.center": "Alarm Center is a display platform for all alarms that have been processed by grouping, convergence, suppression, silencing, etc., including alarms triggered by internal system thresholds and third-party access alarms.",
  "alert.help.center.link": "https://hertzbeat.apache.org/docs/help/guide",
  "alert.help.group": "Group convergence supports grouping and merging alerts with specified group labels, and deduplicates the same repeated alerts in the time period. You can click \"<i>Add grouping policy</i>\" and configure it.<br>When the threshold rule triggers an alarm or an external alarm is reported, it will enter the group convergence to group the alarms and deduplicate the alarms to avoid alarm storms caused by a large number of alarm messages.",
  "alert.help.group.link": "https://hertzbeat.apache.org",
  "alert.help.inhibit": "Alert Inhibit is used to configure inhibition relationships between alerts. When an alert occurs, it can inhibit other alerts from being generated. For example, when a server goes down, all alerts on that server can be inhibited.",
  "alert.help.inhibit.link": "https://hertzbeat.apache.org/docs/help/alert_inhibit",
  "alert.help.integration": "Unified management of alerts from different third-party platforms, integrating and receiving alert messages from third-party monitoring and observability systems, and performing actions such as grouping, aggregation, inhibition, silencing, and notification distribution.",
  "alert.help.integration.link": "https://hertzbeat.apache.org",
  "alert.help.notice": "Notification is used to config the receiver of alarm message and receiving method. The alarm message will be sent to the receiver by specified way(support email, discord, webhook etc). <a href='https://hertzbeat.apache.org/zh-cn/docs/help/alert_webhook'>Click here to see configuration steps.</a>.<br>\"<i>Notice Template</i>\" is message content structure template. The built-in template is used by default or you can customize the template to customize the message notification structure.<br><span class='help_module_span'>Note⚠️: After configuring the \"<i>Receiver</i>\", you also need to config the\"<i>Notice Policy</i>\"to specify which messages are sent to which receivers.</span><a href='https://hertzbeat.apache.org/docs/help/alert_email'> Click here to see potential issues</a>.",
  "alert.help.notice.link": "https://hertzbeat.apache.org/docs/help/alert_email",
  "alert.help.setting": "Threshold Rules are used for metrics alarm threshold rule management. Click the \"<i>New Threshold</i>\" to configure the alarm threshold for monitoring metrics. HertzBeat will trigger alarms based on the threshold and metrics data.<br>Note⚠️: The alarm message that has been triggered can be checked in [Alter Center], and you can also set the notification method and personnel in [Notification].",
  "alert.help.setting.link": "https://hertzbeat.apache.org/docs/help/alert_threshold",
  "alert.help.silence": "Alarm Silence management is used when you don't want to be disturbed during system maintenance or on nights weekend. <br> Click \"<i>New Silence Strategy</i>\" and configure the time period to block messages so you would not get disturbed during breaks.",
  "alert.help.silence.link": "https://hertzbeat.apache.org/docs",
  "alert.inhibit.delete": "Delete Inhibit Rule",
  "alert.inhibit.edit": "Edit Inhibit Rule",
  "alert.inhibit.enable.tip": "Whether to enable this inhibit rule",
  "alert.inhibit.equal_labels": "Equal Labels",
  "alert.inhibit.equal_labels.common": "Common Labels",
  "alert.inhibit.equal_labels.custom": "Custom Labels",
  "alert.inhibit.equal_labels.more": "{{count}} more labels",
  "alert.inhibit.equal_labels.placeholder": "Input or select labels",
  "alert.inhibit.equal_labels.tip": "Source and target alerts must have equal values for these label keys, common keys like alertname, instance, severity etc",
  "alert.inhibit.name": "Inhibit Rule Name",
  "alert.inhibit.name.tip": "Name to identify this inhibit rule, must be unique",
  "alert.inhibit.new": "New Inhibit Rule",
  "alert.inhibit.source_labels": "Source Labels",
  "alert.inhibit.source_labels.tip": "When alerts contain these labels, they will inhibit target alerts",
  "alert.inhibit.target_labels": "Target Labels",
  "alert.inhibit.target_labels.tip": "Alerts matching these labels will be inhibited",
  "alert.integration.source": "Integration Source",
  "alert.integration.source.alertmanager": "Alertmanager",
  "alert.integration.source.prometheus": "Prometheus",
  "alert.integration.source.tencent": "Tencent Cloud",
  "alert.integration.source.webhook": "Default Webhook",
  "alert.integration.source.skywalking": "SkyWalking",
  "alert.integration.source.uptime-kuma": "Uptime Kuma",
  "alert.integration.source.zabbix": "Zabbix",
  "alert.integration.source.alibabacloud-sls": "AlibabaCloud-SLS",
  "alert.integration.source.huaweicloud-ces": "Huawei Cloud Eye",
  "alert.integration.source.volcengine": "Volcengine Monitoring",
  "alert.integration.token.desc": "Token you generated that can be used to access the HertzBeat API.",
  "alert.integration.token.manage": "Manage API Tokens",
  "alert.integration.token.new": "Click to Generate Token",
  "alert.integration.token.notice": "Token only be displayed once. Please keep your token secure. Do not share it with others.",
  "alert.integration.token.title": "Access Token",
  "alert.notice.receiver": "Notice Receiver",
  "alert.notice.receiver.delete": "Delete Receiver",
  "alert.notice.receiver.edit": "Edit Receiver",
  "alert.notice.receiver.new": "New Receiver",
  "alert.notice.receiver.next": "Please config your [Alert Notice Policy] next step！",
  "alert.notice.receiver.people": "Receiver",
  "alert.notice.receiver.people.name": "Receiver Name",
  "alert.notice.receiver.people.placeholder": "Select a receiver",
  "alert.notice.receiver.setting": "Setting",
  "alert.notice.receiver.type": "Notice Type",
  "alert.notice.receiver.type.placeholder": "Select a notice type",
  "alert.notice.rule": "Notice Policy",
  "alert.notice.rule.all": "Dispatch All",
  "alert.notice.rule.delete": "Delete Notice Policy",
  "alert.notice.rule.edit": "Edit Notice Policy",
  "alert.notice.rule.name": "Policy Name",
  "alert.notice.rule.new": "New Notice Policy",
  "alert.notice.rule.period": "Time Period",
  "alert.notice.rule.period-chose": "Choose Date",
  "alert.notice.rule.period.custom": "Custom",
  "alert.notice.rule.period.no-limit": "Unlimited",
  "alert.notice.rule.priority": "Priority Match",
  "alert.notice.rule.priority.placeholder": "Select Priorities",
  "alert.notice.rule.tag": "Label Match",
  "alert.notice.rule.tag.placeholder": "Select Labels",
  "alert.notice.rule.time": "Notification Time",
  "alert.notice.rule.time-end": "End time",
  "alert.notice.rule.time-start": "Start time",
  "alert.notice.send-test": "Send Alert Test Msg",
  "alert.notice.send-test.notify.failed": "Send Alert Test Failed!",
  "alert.notice.send-test.notify.success": "Send Alert Test Success!",
  "alert.notice.sender.mail.enable": "Enable Email Configuration",
  "alert.notice.sender.mail.host": "Email Server Address",
  "alert.notice.sender.mail.password": "Email Password",
  "alert.notice.sender.mail.port": "Email Port",
  "alert.notice.sender.mail.ssl": "Enable SSL",
  "alert.notice.sender.mail.starttls": "Enable STARTTLS",
  "alert.notice.sender.mail.username": "Email Account",
  "alert.notice.sender.sms.tencent.appId": "Tencent Sms AppId",
  "alert.notice.sender.sms.tencent.secretId": "Tencent Sms SecretId",
  "alert.notice.sender.sms.tencent.secretKey": "Tencent Sms SecretKey",
  "alert.notice.sender.sms.tencent.signName": "Tencent Sms SignName",
  "alert.notice.sender.sms.tencent.templateId": "Tencent Sms TemplateId",
  "alert.notice.sender.sms.alibaba.accessKeyId": "Alibaba SMS AccessKeyId",
  "alert.notice.sender.sms.alibaba.accessKeySecret": "Alibaba SMS AccessKeySecret",
  "alert.notice.sender.sms.alibaba.signName": "Alibaba SMS Sign Name",
  "alert.notice.sender.sms.alibaba.templateCode": "Alibaba SMS Template Code",
  "alert.notice.sender.sms.unisms.accessKeyId": "UniSMS AccessKeyId",
  "alert.notice.sender.sms.unisms.accessKeySecret": "UniSMS AccessKeySecret",
  "alert.notice.sender.sms.unisms.signature": "UniSMS Signature",
  "alert.notice.sender.sms.unisms.templateId": "UniSMS TemplateId",
  "alert.notice.sender.sms.unisms.authMode": "UniSMS Authentication Mode",
  "alert.notice.sender.sms.smslocal.apiKey": "Smslocal ApiKey",
  "alert.notice.sender.sms.aws.accessKeyId": "Aws SMS AccessKeyId",
  "alert.notice.sender.sms.aws.accessKeySecret": "Aws SMS AccessKeySecret",
  "alert.notice.sender.sms.aws.region": "Aws Region",
  "alert.notice.sender.sms.twilio.accountSid": "Twilio Account SID",
  "alert.notice.sender.sms.twilio.authToken": "Twilio Auth Token",
  "alert.notice.sender.sms.twilio.twilioPhoneNumber": "Twilio Phone Number",
  "alert.notice.sender.sms.type": "Sms Type",
  "alert.notice.sender.sms.type.alibaba": "Alibaba Sms",
  "alert.notice.sender.sms.type.tencent": "Tencent Sms",
  "alert.notice.sender.sms.type.unisms": "UniSMS",
  "alert.notice.sender.sms.type.smslocal": "Smslocal Sms",
  "alert.notice.sender.sms.type.aws": "Aws Sms",
  "alert.notice.sender.sms.type.twilio": "Twilio Sms",
  "alert.notice.template": "Notice Template",
  "alert.notice.template.content": "Template Content",
  "alert.notice.template.delete": "Delete Template",
  "alert.notice.template.edit": "Edit Template",
  "alert.notice.template.name": "Template Name",
  "alert.notice.template.new": "New Template",
  "alert.notice.template.placeholder": "Select a template",
  "alert.notice.template.preset": "Template Type",
  "alert.notice.template.preset.false": "User Custom",
  "alert.notice.template.preset.true": "System Preset",
  "alert.notice.template.show": "View Template Content",
  "alert.notice.template.type": "Notice Type",
  "alert.notice.type.WeCom-robot": "WeCom Robot",
  "alert.notice.type.WeCom-robot-key": "WeCom Robot KEY",
  "alert.notice.type.WeComApp": "WeCom app",
  "alert.notice.type.WeComApp-agentId": "WeCom App ID",
  "alert.notice.type.WeComApp-appSecret": "WeCom App Secret",
  "alert.notice.type.WeComApp-corpId": "WeCom app corp ID",
  "alert.notice.type.WeComApp-partyId": "Party ID(separated by | symbol)",
  "alert.notice.type.WeComApp-tagId": "Tag ID(separated by | symbol)",
  "alert.notice.type.WeComApp-userId": "User ID(separated by | symbol)",
  "alert.notice.type.access-token": "Robot ACCESS_TOKEN",
  "alert.notice.type.ding": "DingDing Robot",
  "alert.notice.type.ding-secret": "Robot Secret",
  "alert.notice.type.discord": "Discord Bot",
  "alert.notice.type.discord-bot-token": "Discord Bot Token",
  "alert.notice.type.discord-channel-id": "Discord Channel ID",
  "alert.notice.type.email": "Email",
  "alert.notice.type.fei-shu": "FeiShu Robot",
  "alert.notice.type.fei-shu-key": "FeiShu Robot KEY",
  "alert.notice.type.lark-app": "FeiShu App",
  "alert.notice.type.lark-app-appId": "App Id",
  "alert.notice.type.lark-app-appSecret": "App Secret",
  "alert.notice.type.lark-app-larkReceiveType": "Notice Object Type",
  "alert.notice.type.lark-app-larkReceiveType.placeholder": "Select FeiShu App Notice Object Type",
  "alert.notice.type.lark-app-larkReceiveType.user": "Designated User Id",
  "alert.notice.type.lark-app-larkReceiveType.party": "Designated Party Id",
  "alert.notice.type.lark-app-larkReceiveType.chat": "Designated Chat Id",
  "alert.notice.type.lark-app-larkReceiveType.all": "All User",
  "alert.notice.type.lark-app-userId": "User Id(separated by , symbol)",
  "alert.notice.type.lark-app-partyId": "Party Id(separated by , symbol)",
  "alert.notice.type.lark-app-chatId": "Chat Id(separated by , symbol)",
  "alert.notice.type.gotify": "Gotify",
  "alert.notice.type.gotify-token": "Gotify Token",
  "alert.notice.type.phone": "Phone",
  "alert.notice.type.serverchan": "ServerChan",
  "alert.notice.type.serverchan-token": "ServerChanToken",
  "alert.notice.type.slack": "Slack WebHook",
  "alert.notice.type.slack-webHook-url": "Slack WebHook Url",
  "alert.notice.type.smn": "Huawei Cloud SMN",
  "alert.notice.type.smn-ak": "AK",
  "alert.notice.type.smn-projectId": "Project ID",
  "alert.notice.type.smn-region": "Region",
  "alert.notice.type.smn-sk": "SK",
  "alert.notice.type.smn-topicUrn": "TopicUrn",
  "alert.notice.type.sms": "SMS",
  "alert.notice.type.telegram": "Telegram",
  "alert.notice.type.telegram-bot": "Telegram Bot",
  "alert.notice.type.telegram-bot-token": "Telegram Bot Token",
  "alert.notice.type.telegram-bot-user-id": "Telegram User Id",
  "alert.notice.type.telegram-message-thread-id": "Message Thread Id",
  "alert.notice.type.url": "URL",
  "alert.notice.type.userId": "User ID",
  "alert.notice.type.wechat": "Open WeChat",
  "alert.notice.type.wechat-id": "WeChat OPENID",
  "alert.notice.type.webhook-auth-type": "Auth Type",
  "alert.notice.type.webhook-auth-type.placeholder": "Select Auth Type",
  "alert.notice.type.webhook-auth-token": "Auth Token",
  "alert.notify.title": "New Alert",
  "alert.notify.body": "You have a new alert, please handle it in time",
  "alert.setting.bind.available": "Available Monitors",
  "alert.setting.bind.manage": "Manage Associations",
  "alert.setting.bind.monitors": "Associated Monitors",
  "alert.setting.bind.monitors.tip": "Configure this threshold rule to apply to specific monitoring tasks, default is not associated with all",
  "alert.setting.bind.need-save": "Please select metric type before associating monitors",
  "alert.setting.bind.selected": "Selected Monitors",
  "alert.setting.connect": "Alert Threshold Associate Monitors",
  "alert.setting.connect.left": "No Associate",
  "alert.setting.connect.right": "Associated",
  "alert.setting.connect.instance": "Instance Associate",
  "alert.setting.connect.label": "Label Associate",
  "alert.setting.connect.label.input": "Input Label",
  "alert.setting.connect.label.empty": "No matching monitoring objects found, please add labels",
  "alert.setting.datatype": "Data Type",
  "alert.setting.datatype.tip": "Select the data type for this threshold rule",
  "alert.setting.datatype.metric": "Metric",
  "alert.setting.datatype.log": "Log",
  "alert.setting.filter.name": "Input name to filter...",
  "alert.setting.filter.labels": "Input labels to filter...",
  "alert.setting.default": "Global Default",
  "alert.setting.default.tip": "Whether this alarm threshold configuration applies to all this type of monitoring globally",
  "alert.setting.delete": "Delete Threshold Rule",
  "alert.setting.edit": "Edit Threshold Rule",
  "alert.setting.edit.periodic": "Edit Periodic Threshold",
  "alert.setting.edit.realtime": "Edit RealTime Threshold",
  "alert.setting.enable": "Enable Threshold",
  "alert.setting.enable.tip": "This alarm threshold configuration is enabled or disabled",
  "alert.setting.export": "Export Rule",
  "alert.setting.expr": "Threshold Expr",
  "alert.setting.expr.example": "Calculate whether to trigger the threshold according to this expression.Eg",
  "alert.setting.expr.label": "Calculate and judge whether the threshold is triggered according to this expression. The expression environment variables and operators are shown above.",
  "alert.setting.expr.operator.and": "And",
  "alert.setting.expr.operator.brackets": "Brackets",
  "alert.setting.expr.operator.equals": "Equals",
  "alert.setting.expr.operator.greater": "Greater Than",
  "alert.setting.expr.operator.greater-equals": "Greater Than or Equal",
  "alert.setting.expr.operator.less": "Less Than",
  "alert.setting.expr.operator.less-equals": "Less Than or Equal",
  "alert.setting.expr.operator.not-equals": "Not Equals",
  "alert.setting.expr.operator.or": "Or",
  "alert.setting.expr.tip": "Supported Threshold Trigger Expression Environment Variables and Operators",
  "alert.setting.import": "Import Rule",
  "alert.setting.name": "Rule Name",
  "alert.setting.name.tip": "Rule name need to be unique",
  "alert.setting.new": "New Threshold Rule",
  "alert.setting.new.periodic": "New Periodic Threshold",
  "alert.setting.new.realtime": "New RealTime Threshold",
  "alert.setting.number": "Numeric",
  "alert.setting.object": "Object",
  "alert.setting.operator": "Supported operator functions",
  "alert.setting.period": "Execution Period",
  "alert.setting.period.placeholder": "Please enter execution period, minimum 60 seconds",
  "alert.setting.period.tip": "Time interval for periodic threshold calculation, in seconds, minimum 60 seconds",
  "alert.setting.preview.expr": "Preview Expr",
  "alert.setting.priority.tip": "The alarm level that triggers the threshold, from low to high:Warning，Critical，Emergency",
  "alert.setting.promql.tip": "PromQL Query: sum(rate(process_cpu_seconds_total[5m])) > 0.8",
  "alert.setting.recover-notice": "Recover Notice",
  "alert.setting.recover-notice.tip": "Whether to send the corresponding recovered notification when the alarm is resolved under this threshold rule",
  "alert.setting.rule": "Threshold Rule",
  "alert.setting.rule.label": "Graphical setting alarm threshold rules, support multiple rules &&",
  "alert.setting.rule.metric.place-holder": "Please select metric",
  "alert.setting.rule.numeric-value.place-holder": "Please input numeric",
  "alert.setting.rule.object.attribute.placeholder": "Please input object attribute",
  "alert.setting.rule.operator": "Operator",
  "alert.setting.rule.operator.exists": "value exists",
  "alert.setting.rule.operator.no-exists": "no value exists",
  "alert.setting.rule.operator.str-contains": "contains",
  "alert.setting.rule.operator.str-equals": "equals",
  "alert.setting.rule.operator.str-matches": "matches",
  "alert.setting.rule.operator.str-no-contains": "not contains",
  "alert.setting.rule.operator.str-no-equals": "not equals",
  "alert.setting.rule.operator.str-no-matches": "not matches",
  "alert.setting.rule.string-value.place-holder": "Please input string",
  "alert.setting.log.query": "Log Query",
  "alert.setting.log.query.tip": "Configure log query conditions to filter logs that need to be monitored",
  "alert.setting.log.expr": "Log Alert Expression",
  "alert.setting.log.expr.tip": "Configure log alert trigger conditions based on query results",
  "alert.setting.log.expr.placeholder": "Please enter alert expression, e.g.: count > 10",
  "alert.setting.rule.switch-expr.0": "Template Threshold",
  "alert.setting.rule.switch-expr.1": "Coding Threshold",
  "alert.setting.search": "Search Threshold",
  "alert.setting.string": "String",
  "alert.setting.target": "Metric Type",
  "alert.setting.target.other": "Other metric objects of the row",
  "alert.setting.target.place-holder": "Please search or select metrics target",
  "alert.setting.target.system_value_row_count": "Value rows",
  "alert.setting.target.tip": "The selected metric object",
  "alert.setting.template": "Alarm Content",
  "alert.setting.template.example": "High CPU usage detected on instance localhost",
  "alert.setting.template.label": "The notification information template sent after the alarm is triggered",
  "alert.setting.template.metric-name": "Metric Name",
  "alert.setting.template.metric-value": "Metric Value",
  "alert.setting.template.metrics-name": "Metrics Name",
  "alert.setting.template.monitor-type": "Monitor Type Name",
  "alert.setting.template.other-value": "Other Metric Value",
  "alert.setting.template.tip": "Supported notification template environment variables",
  "alert.setting.template.vars.app": "App Type",
  "alert.setting.template.vars.instance": "Instance ID",
  "alert.setting.template.vars.instance-name": "Instance Name",
  "alert.setting.template.vars.instance-host": "Instance Host",
  "alert.setting.template.vars.labels": "Labels",
  "alert.setting.template.vars.metrics": "Metrics Name",
  "alert.setting.template.vars.threshold": "Threshold Expression",
  "alert.setting.template.vars.time": "Trigger Time",
  "alert.setting.template.vars.tip": "Insert metrics or operators",
  "alert.setting.template.vars.value": "Trigger Value",
  "alert.setting.time": "Time",
  "alert.setting.times": "Trigger Times",
  "alert.setting.times.tip": "Set how many times the threshold is triggered before sending an alert",
  "alert.setting.trigger": "Trigger alarms",
  "alert.setting.type": "Threshold Type",
  "alert.setting.type.periodic": "Periodic Threshold",
  "alert.setting.type.periodic.desc": "Execute queries periodically to trigger threshold alerts.",
  "alert.setting.type.periodic.log": "Log Periodic",
  "alert.setting.type.periodic.metric": "Metric Periodic",
  "alert.setting.type.realtime": "RealTime Threshold",
  "alert.setting.type.realtime.desc": "Calculate data in real-time with instant alert on threshold breach",
  "alert.setting.type.realtime.log": "Log RealTime",
  "alert.setting.type.realtime.metric": "Metric RealTime",
  "alert.setting.query.language": "Query Language",
  "alert.setting.query.language.promql": "PromQL",
  "alert.setting.query.language.sql": "SQL",
  "alert.setting.query.language.sql.not.support.metric": "SQL queries are not supported for periodic metric alerts yet",
  "alert.setting.query.language.promql.not.support.log": "PromQL queries are not supported for periodic log alerts yet",
  "alert.setting.promql.description": "PromQL Query Language<br/><br/>Examples:<br/>• <code>cpu_usage > 80</code><br/>• <code>cpu_usage{instance=\"server1\"} > 80</code><br/>• <code>rate(http_requests_total[5m]) > 100</code><br/>• <code>cpu > 80 and memory > 70</code>",
  "alert.setting.sql.description": "SQL Query Language<br/><br/>Examples:<br/>• <code>SELECT COUNT(*) FROM hertzbeat_logs WHERE severity_text = 'ERROR'</code><br/>• <code>SELECT service_name, COUNT(*) FROM hertzbeat_logs GROUP BY service_name</code><br/>• <code>SELECT * FROM hertzbeat_logs WHERE time_unix_nano >= NOW() - INTERVAL '5 minute'</code>",
  "alert.setting.type.realtime": "Real-time Alert",
  "alert.setting.type.periodic": "Periodic Alert",
  "alert.setting.type.realtime.desc": "Trigger alerts immediately upon data collection",
  "alert.setting.type.periodic.desc": "Execute PromQL/SQL queries periodically to check alert conditions",
  "alert.setting.type.periodic.not.configured": "Please configure a supported time-series database (Prometheus, GreptimeDB, VictoriaMetrics, etc.) to use periodic alerts",
  "alert.setting.type.periodic.not.available": "Periodic alerts are not available, please configure a time-series database first",
  "alert.setting.type.periodic.not.available.short": "Need Time-Series DB",
  "alert.severity": "Alarm Severity",
  "alert.severity.0": "Emergency",
  "alert.severity.1": "Critical",
  "alert.severity.2": "Warning",
  "alert.severity.all": "All Severity",
  "alert.mode": "Alert Mode",
  "alert.mode.group": "Alert Group",
  "alert.mode.individual": "Individual Alert",
  "alert.setting.mode.tip": "Select alert mode, alert group mode will merge alerts with the same conditions, individual alert mode will send each alert separately",
  "alert.notice.rule.mode.placeholder": "Please select alert mode",
  "alert.silence.delete": "Delete Silence Strategy",
  "alert.silence.edit": "Edit Silence Strategy",
  "alert.silence.labels": "Label Match",
  "alert.silence.match-all": "Match All",
  "alert.silence.name": "Silence Strategy Name",
  "alert.silence.new": "New Silence Strategy",
  "alert.silence.priority": "Priority Match",
  "alert.silence.time": "Silence Period",
  "alert.silence.times": "Silenced Alerts Num",
  "alert.silence.type": "Silence Type",
  "alert.silence.type.cyc": "Periodic Silence",
  "alert.silence.type.once": "One Time Silence",
  "alert.status": "Alert Status",
  "alert.status.all": "All Status",
  "alert.status.firing": "Firing",
  "alert.status.resolved": "Resolved",
  "annotation": "Annotate",
  "annotation.bind": "Binding Annotations",
  "annotation.bind.tip": "You can use annotations to mark entity information, such as annotating important events for resource binding.",
  "app.lock": "Unlock",
  "app.lock.placeholder": "Enter Any To Unlock",
  "app.login.explore.cloud": "Explore Cloud",
  "app.login.explore.cloud.detail": "Click to Explore HertzBeat Cloud",
  "app.login.login": "Login",
  "app.login.message-invalid-credentials": "Invalid username or password",
  "app.login.message-need-credential": "Please enter password",
  "app.login.message-need-identifier": "Please enter your username",
  "app.login.need-change-password": "Please update the initial default password in time!",
  "app.login.notify": "Please Login!",
  "app.login.remember-me": "Remember me",
  "app.login.tab-login-credentials": "Sign In HertzBeat",
  "app.passport.desc": "AI-powered Next-Generation Open Source Real-Time Observability System",
  "app.passport.intro-1": "Open Source, High Performance, AI-powered",
  "app.passport.intro-2": "Real-Time Observability",
  "app.role.admin": "administrator",
  "app.theme.compact": "Compact Theme",
  "app.theme.dark": "Dark Theme",
  "app.theme.default": "Light Theme",
  "bulletin.batch.delete": "Batch Delete Bulletin",
  "bulletin.delete": "Delete Bulletin",
  "bulletin.edit": "Edit Bulletin",
  "bulletin.help.content": "Custom monitoring bulletin(beta), displaying selected metrics of a specific monitor in table form",
  "bulletin.help.link": "https://hertzbeat.apache.org/docs/help/bulletin",
  "bulletin.monitor.metrics": "Monitor Metrics",
  "bulletin.monitor.name": "Monitor Task Name",
  "bulletin.monitor.name.placeholder": "Search by name / label / value",
  "bulletin.monitor.type": "Monitor Type",
  "bulletin.name": "Bulletin Name",
  "bulletin.name.placeholder": "Please enter a custom bulletin name",
  "bulletin.new": "New Bulletin",
  "collector": "Collector",
  "collector.confirm.offline": "Please confirm whether to offline this collector!",
  "collector.confirm.offline-batch": "Please confirm whether to offline the collector in batches!",
  "collector.confirm.online": "Please confirm whether to online this collector!",
  "collector.confirm.online-batch": "Please confirm whether to online collector in batches!",
  "collector.delete": "Delete Collector",
  "collector.deploy": "Deploy Collector",
  "collector.deploy.close": "Close - I Have Saved The Token",
  "collector.deploy.docker": "Deploy via Docker",
  "collector.deploy.docker.help": "# Execute the following command in Docker environment",
  "collector.deploy.docker.help.1": "# docker run -d : Start a container running in the background through Docker",
  "collector.deploy.docker.help.2": "# -e IDENTITY=xxx : Set the collector's identity token",
  "collector.deploy.docker.help.3": "# -e MANAGER_HOST=127.0.0.1 : Set the main HertzBeat service address for connection",
  "collector.deploy.docker.help.4": "# -e MODE=public : Set the running mode(public or private), public cluster or private cloud-edge.",
  "collector.deploy.docker.help.5": "# --name hertzbeat-collector: Name the container name hertzbeat-collector",
  "collector.deploy.docker.help.6": "# apache/hertzbeat-collector: Official application image source, or use quay.io/tancloud/hertzbeat-collector when timeout",
  "collector.deploy.identity": "Collector's Token (IDENTITY)",
  "collector.deploy.identity.tip": "Please note that this token is unique, please keep it properly.",
  "collector.deploy.ok": "Generate Token and Deployment Commands",
  "collector.deploy.package": "Deploy via Package",
  "collector.deploy.package.gitee": "Download From Gitee",
  "collector.deploy.package.github": "Download From Github",
  "collector.deploy.package.help": "# Download the system corresponding release package hertzbeat-collector-xx.tar.gz",
  "collector.deploy.package.help.1": "# Unzip and configure the file hertzbeat-collector/config/application.yml",
  "collector.deploy.package.help.2": "# Replace the IDENTITY MANAGER_HOST MODE parameters in the file as follows.",
  "collector.deploy.package.help.3": "# Run bin/startup.sh or startup.bat(windows) to start the collector.",
  "collector.dispatched": "Dispatched Tasks",
  "collector.help": "Collector Cluster is used to manage registered collector cluster nodes, display the current collector status and scheduling task distribution, and support operations such as deployment, deletion, offline of collectors.<br>In addition to using the built-in collector, you can register multiple collectors for use in <strong>High-Performance Cluster</strong> or <strong>Cloud-Edge Collaboration</strong> scenarios.",
  "collector.help.link": "https://hertzbeat.apache.org/docs/help/guide",
  "collector.ip": "IP Address",
  "collector.mode": "Running Mode",
  "collector.mode.private": "Private Cloud-Edge",
  "collector.mode.public": "Public Cluster",
  "collector.name": "Collector Name",
  "collector.name.placeholder": "Please config the unique name of the collector",
  "collector.node": "Node Name",
  "collector.notify.no-select-offline": "No items selected for offline collector!",
  "collector.notify.no-select-online": "No items selected for online collector!",
  "collector.offline": "Offline Collector",
  "collector.online": "Online Collector",
  "collector.pinned": "Pinned Tasks",
  "collector.start-time": "Start Time",
  "collector.status": "Online Status",
  "collector.task": "Total Tasks",
  "collector.version": "Version",
  "common.annotation": "Annotation",
  "common.annotation.bind": "Bind Annotation",
  "common.annotation.bind.tip": "You can use annotations to mark entity information, such as binding annotations of important events to resources.",
  "common.button.cancel": "Cancel",
  "common.button.collapse": "Collapse",
  "common.button.confirm": "Confirm",
  "common.button.copy": "Copy",
  "common.button.copy.tip": "Click to copy",
  "common.button.delete": "Delete",
  "common.button.detect": "Detect",
  "common.button.edit": "Edit",
  "common.button.expand": "Expand",
  "common.button.export": "Export",
  "common.button.help": "Help",
  "common.button.import": "Import",
  "common.button.new": "New",
  "common.button.ok": "OK",
  "common.button.return": "Return",
  "common.button.setting": "Setting",
  "common.button.save": "Save",
  "common.confirm.cancel": "Please confirm whether to cancel monitor!",
  "common.confirm.cancel-batch": "Please confirm whether to cancel monitor in batches!",
  "common.confirm.clear-cache": "Please confirm whether to clear cache!",
  "common.confirm.delete": "Please confirm whether to delete!",
  "common.confirm.delete-batch": "Please confirm whether to delete in batches!",
  "common.confirm.enable": "Please confirm whether to enable monitor!",
  "common.confirm.enable-batch": "Please confirm whether to enable monitor in batches!",
  "common.copy": "Copy To Clipboard",
  "common.copy.button": "Copy",
  "common.disable": "Disable",
  "common.edit": "Operate",
  "common.edit-time": "Edit Time",
  "common.enable": "Enable",
  "common.file.select": "Select File",
  "common.ignore": "Ignore",
  "common.mute": "Mute",
  "common.unmute": "Unmute",
  "common.name": "Metric Name",
  "common.new-time": "Create Time",
  "common.no": "No",
  "common.preview.button": "Preview",
  "common.notice": "Notice",
  "common.notify.apply-fail": "Apply Failed!",
  "common.notify.apply-success": "Apply Success!",
  "common.notify.cancel-fail": "Cancel Failed!",
  "common.notify.cancel-success": "Cancel Success!",
  "common.notify.clear-fail": "Clear Failed!",
  "common.notify.clear-success": "Clear Success!",
  "common.notify.copy-fail": "Copy Failed!",
  "common.notify.copy-success": "Copy Success!",
  "common.notify.delete-fail": "Delete Failed!",
  "common.notify.delete-success": "Delete Success!",
  "common.notify.edit-fail": "Edit Failed!",
  "common.notify.edit-success": "Edit Success!",
  "common.notify.enable-fail": "Enable Failed!",
  "common.notify.enable-success": "Enable Success!",
  "common.notify.export-fail": "Export Failed!",
  "common.notify.export-success": "Export Success!",
  "common.notify.import-fail": "Import Failed!",
  "common.notify.import-success": "Import Success!",
  "common.notify.import-fail-detail": "Import [{{taskName}}] Failed: [{{errMsg}}]",
  "common.notify.import-success-detail": "Import [{{taskName}}] Success!",
  "common.notify.import-submitted": "Import [{{taskName}}] Submitted!",
  "common.notify.import-progress": "Importing [{{taskName}}], progress: {{progress}}%",
  "common.notify.mark-fail": "Mark Failed!",
  "common.notify.mark-success": "Mark Success!",
  "common.notify.new-fail": "Add Failed!",
  "common.notify.new-success": "Add Success!",
  "common.notify.no-select-cancel": "No items selected for cancel!",
  "common.notify.no-select-delete": "No items selected for deletion!",
  "common.notify.no-select-edit": "No items selected for editing!",
  "common.notify.no-select-enable": "No items selected for enable!",
  "common.notify.no-select-export": "No items selected for export!",
  "common.notify.one-select-edit": "Only one selection can be edited!",
  "common.notify.operate-fail": "Operate Failed!",
  "common.notify.operate-success": "Operate Success!",
  "common.notify.query-fail": "Query Monitor Failed!",
  "common.refresh": "Refresh",
  "common.search": "Search",
  "common.time.unit.second": "Seconds",
  "common.total": "Total",
  "common.value": "Metric Value",
  "common.week.1": "Monday",
  "common.week.2": "Tuesday",
  "common.week.3": "Wednesday",
  "common.week.4": "Thursday",
  "common.week.5": "Friday",
  "common.week.6": "Saturday",
  "common.week.7": "Sunday",
  "common.yes": "Yes",
  "dashboard.alerts.deal": "Alarms Dealing",
  "dashboard.alerts.deal-percent": "Dealing Rate",
  "dashboard.alerts.distribute": "The Distribution Of Alarms",
  "dashboard.alerts.enter": "Go Alarm Center",
  "dashboard.alerts.no": "No Pending Alarms",
  "dashboard.alerts.num": "Alarms Num",
  "dashboard.alerts.title": "Recently Alarms List",
  "dashboard.alerts.title-no": "Recently Pending Alarms",
  "dashboard.monitors.distribute": "Monitor Distribution",
  "dashboard.monitors.formatter": " Monitors ",
  "dashboard.monitors.sub-title": "The Distribution Of Monitors",
  "dashboard.monitors.title": "Monitoring Overview",
  "dashboard.monitors.total": "Monitor Total",
  "define.delete": "Delete {{app}}",
  "define.delete.confirm": "Please confirm whether to delete {{app}} monitoring type? This type of monitoring cannot be added after deletion.",
  "define.disable": "Disable {{app}}",
  "define.enable": "Enable {{app}}",
  "define.help": "The monitor templates define each monitoring type, parameter variable, metrics info, collection protocol, etc. You can select an existing monitoring template from the drop-down menu then make modifications according to your own needs. The bottom-left area is the compare area and the bottom-right area is the editing place. <br> You can also click \"New Monitor Type\" to custom define an new type. Currently supported protocols include<a href='https://hertzbeat.apache.org/docs/advanced/extend-http'> HTTP</a>, <a href='https://hertzbeat.apache.org/docs/advanced/extend-jdbc'>JDBC</a>, <a href='https://hertzbeat.apache.org/docs/advanced/extend-ssh'>SSH</a>, <a href='https://hertzbeat.apache.org/docs/advanced/extend-jmx'>JMX</a>, <a href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP</a>. <a class='help_module_content' href='https://hertzbeat.apache.org/docs/template'>Monitor Templates</a>.",
  "define.help.link": "https://hertzbeat.apache.org/zh-cn/docs/advanced/extend-point/",
  "define.hide-false.confirm": "Confirm whether to hide this menu?",
  "define.hide-false.tip": "Already displayed in main menu, whether to hide it",
  "define.hide-true.confirm": "Confirm whether to display this menu?",
  "define.hide-true.tip": "Not displayed in main menu, whether to display it",
  "define.new": "New Monitor Type",
  "define.new.code": "# Please define a new monitoring type by writing YML content here, refer to the document: https://hertzbeat.apache.org/docs/advanced/extend-point ",
  "define.save-apply": "Save And Apply",
  "define.save-apply.confirm": "Please confirm whether to update and apply the monitor define? This will affect what you monitor.",
  "define.save-apply.no-code": "The monitoring type definition content cannot be empty.",
  "label": "Label",
  "label.bind": "Bind Labels",
  "label.bind.tip": "You can use labels for classification management.eg: assign labels to resources in production environment and test environment.",
  "label.color": "Color",
  "label.delete": "Delete Label",
  "label.description": "Description",
  "label.display": "Display",
  "label.edit": "Edit Label",
  "label.id": "ID",
  "label.name": "Label Name",
  "label.new": "New Label",
  "label.search": "Search Label",
  "label.setting": "Labels",
  "label.value": "Label Value",
  "labels.help": "Labels are everywhere. We can apply labels in resource grouping, tag matching under rules and others. [Label Manage] is used for unified management of labels, including adding, deleting, editing, etc. <br>You can use labels to classify and manage monitoring resources, such as binding labels for production and testing environments separately.",
  "labels.help.link": "https://hertzbeat.apache.org/zh-cn/docs/",
  "log.help.integration": "Unified log management, integrating and accessing log messages from external log sources for collection, storage, alerting, analysis, and more.",
  "log.help.integration.link": "https://hertzbeat.apache.org",
  "log.help.manage": "Log management and statistics, supporting operations such as log query, statistics, deletion, etc.",
  "log.help.manage.link": "https://hertzbeat.apache.org",
  "log.help.stream": "Real-time log stream monitoring interface for viewing real-time log entries, with filtering and search functions.",
  "log.help.stream.link": "https://hertzbeat.apache.org",
  "log.integration.source": "Integrated Log Source",
  "log.integration.source.otlp": "OTLP Protocol",
  "log.integration.token.desc": "The generated Token can be used to access the HertzBeat log access API",
  "log.integration.token.manage": "Manage API Tokens",
  "log.integration.token.new": "Click to generate Token",
  "log.integration.token.notice": "This content will only be displayed once. Please keep your Token safe and do not disclose it to others.",
  "log.integration.token.title": "Access Authentication Token",
  "log.manage.batch-delete": "Batch Delete",
  "log.manage.basic-information": "Basic Information",
  "log.manage.clear": "Clear",
  "log.manage.chart.log-trend": "Log Trend",
  "log.manage.chart.severity-distribution": "Severity Distribution",
  "log.manage.chart.trace-coverage": "Trace Coverage",
  "log.manage.chart.trace-coverage.complete-trace-info": "Complete Trace Info",
  "log.manage.chart.trace-coverage.with-span": "With Span ID",
  "log.manage.chart.trace-coverage.with-trace": "With Trace ID",
  "log.manage.chart.trace-coverage.without-trace": "Without Trace ID",
  "log.manage.column-control": "Column Display Control",
  "log.manage.column-setting": "Column Setting",
  "log.manage.complete-json-data": "Complete JSON Data",
  "log.manage.error.unsupported-db": "Database does not support log query!",
  "log.manage.hide-statistics": "Hide Statistics",
  "log.manage.log-entry-details": "Log Entry Details",
  "log.manage.overview.debug-logs": "Debug Logs",
  "log.manage.overview.error-logs": "Error Logs",
  "log.manage.overview.fatal-logs": "Fatal Logs",
  "log.manage.overview.info-logs": "Info Logs",
  "log.manage.overview.total-logs": "Total Logs",
  "log.manage.overview.warning-logs": "Warning Logs",
  "log.manage.reset-all-columns": "Reset All Columns",
  "log.manage.search": "Search",
  "log.manage.severity-number": "Severity Number",
  "log.manage.severity-text": "Severity",
  "log.manage.show-statistics": "Show Statistics",
  "log.manage.span-id": "Span ID",
  "log.manage.table.column.attributes": "Attributes",
  "log.manage.table.column.body": "Log Content",
  "log.manage.table.column.dropped-count": "Dropped Count",
  "log.manage.table.column.instrumentation": "Instrumentation",
  "log.manage.table.column.observed-time": "Observed Time",
  "log.manage.table.column.resource": "Resource",
  "log.manage.table.column.severity": "Severity",
  "log.manage.table.column.span-id": "Span ID",
  "log.manage.table.column.time": "Time",
  "log.manage.table.column.trace-flags": "Trace Flags",
  "log.manage.table.column.trace-id": "Trace ID",
  "log.manage.table.title": "Log List",
  "log.manage.timestamp": "Timestamp",
  "log.manage.title": "Log Management & Statistics",
  "log.manage.trace-id": "Trace ID",
  "log.stream.apply-filters": "Apply Filters",
  "log.stream.apply-filters-tooltip": "Apply Filters",
  "log.stream.attributes": "Attributes",
  "log.stream.basic-information": "Basic Information",
  "log.stream.clear": "Clear",
  "log.stream.clear-filters": "Clear Filters",
  "log.stream.clear-filters-tooltip": "Clear All Filters",
  "log.stream.complete-json-data": "Complete JSON Data",
  "log.stream.connected": "Connected",
  "log.stream.connecting": "Connecting...",
  "log.stream.copy-message": "Copy Message",
  "log.stream.disconnected": "Disconnected",
  "log.stream.hide-filters": "Hide Filters",
  "log.stream.live-logs": "Live Logs",
  "log.stream.log-entry-details": "Log Entry Details",
  "log.stream.logs": "Logs",
  "log.stream.message": "Message",
  "log.stream.no-logs": "No Available Logs",
  "log.stream.pause": "Pause",
  "log.stream.resource": "Resources",
  "log.stream.resume": "Resume",
  "log.stream.scroll-to-top": "Scroll to Top",
  "log.stream.severity": "Severity:",
  "log.stream.severity-number": "Severity Number:",
  "log.stream.severity-number-placeholder": "Enter Severity Number",
  "log.stream.severity-text": "Severity:",
  "log.stream.severity-text-placeholder": "Enter Severity",
  "log.stream.content": "Log Content",
  "log.stream.content-placeholder": "Enter Log Content",
  "log.stream.show-filters": "Show Filters",
  "log.stream.span": "Span:",
  "log.stream.span-id": "Span ID:",
  "log.stream.span-id-full": "Span ID:",
  "log.stream.span-id-placeholder": "Enter Span ID",
  "log.stream.title": "Log Stream",
  "log.stream.timestamp": "Timestamp:",
  "log.stream.toggle-filters": "Toggle Filters",
  "log.stream.trace": "Trace:",
  "log.stream.trace-id": "Trace ID:",
  "log.stream.trace-id-full": "Trace ID:",
  "log.stream.trace-id-placeholder": "Enter Trace ID",
  "log.stream.unknown": "Unknown",
  "menu.account": "Personal",
  "menu.account.binding": "Account Binding",
  "menu.account.center": "Personal Center",
  "menu.account.logout": "Logout",
  "menu.account.security": "Security Setting",
  "menu.account.settings": "Account Setting",
  "menu.account.trigger": "Trigger Error",
  "menu.advanced": "Advanced",
  "menu.advanced.collector": "Collector",
  "menu.advanced.define": "Template",
  "menu.advanced.labels": "Labels",
  "menu.advanced.plugins": "Plugins",
  "menu.advanced.status": "Status",
  "menu.advanced.mcp-server": "MCP Server",
  "menu.alert": "Alerting",
  "menu.alert.center": "Alarms",
  "menu.alert.converge": "Converge",
  "menu.alert.dispatch": "Notification",
  "menu.alert.group": "Group",
  "menu.alert.inhibit": "Inhibit",
  "menu.alert.integration": "Integration",
  "menu.alert.setting": "Threshold",
  "menu.alert.silence": "Silence",
  "menu.clear.local.storage": "Clear Local Storage",
  "menu.dashboard": "Dashboard",
  "menu.extras": "More",
  "menu.extras.about": "About",
  "menu.extras.ai.chat": "HertzBeat AI",
  "menu.extras.help": "Help",
  "menu.extras.setting": "Setting",
  "menu.extras.settings": "Settings",
  "menu.fullscreen": "Full Screen",
  "menu.fullscreen.exit": "Exit",
  "menu.lang": "Language",
  "menu.link.guild": "User Guide",
  "menu.link.question": "FAQ",
  "menu.log": "Log",
  "menu.log.integration": "Integration",
  "menu.log.manage": "Log Manage",
  "menu.log.stream": "Log Stream",
  "menu.main": "Main",
  "menu.monitor": "Monitoring",
  "menu.monitor.bigdata": "Bigdata Monitor",
  "menu.monitor.bulletin": "Bulletin",
  "menu.monitor.cache": "Cache Monitor",
  "menu.monitor.center": "Monitors",
  "menu.monitor.cn": "Cloud Native",
  "menu.monitor.custom": "Custom Monitor",
  "menu.monitor.db": "DB Monitor",
  "menu.monitor.llm": "Ai LLM",
  "menu.monitor.mid": "Mid Monitor",
  "menu.monitor.network": "Network Monitor",
  "menu.monitor.os": "OS Monitor",
  "menu.monitor.program": "Program Monitor",
  "menu.monitor.prometheus": "Prometheus Task",
  "menu.monitor.promql": "Data Query",
  "menu.monitor.server": "Server Monitor",
  "menu.monitor.service": "Service Monitor",
  "menu.monitor.webserver": "Webserver Monitor",
  "menu.more": "More",
  "menu.search.placeholder": "Search Task Name、Host etc",
  "monitor": "Monitor",
  "monitor.advanced": "Advanced",
  "monitor.advanced.tip": "Advanced Setting Params",
  "monitor.app": "Monitor Type",
  "monitor.app.api": "HTTP API",
  "monitor.app.fullsite": "SiteMap Monitor",
  "monitor.app.http": "HTTP API",
  "monitor.app.mysql": "Mysql",
  "monitor.app.oracle": "Oracle",
  "monitor.app.ping": "PING Connect",
  "monitor.app.port": "Port Available",
  "monitor.app.redis": "Redis",
  "monitor.app.website": "Website Monitor",
  "monitor.availability": "Monitor Availability",
  "monitor.cancel": "Pause Monitor",
  "monitor.category": "Category",
  "monitor.category.auto": "Auto Task",
  "monitor.category.bigdata": "Bigdata",
  "monitor.category.cache": "Cache",
  "monitor.category.cn": "Cloud Native",
  "monitor.category.custom": "Custom",
  "monitor.category.db": "Database",
  "monitor.category.mid": "Middleware",
  "monitor.category.network": "Network",
  "monitor.category.os": "OS",
  "monitor.category.program": "Application",
  "monitor.category.server": "Server Monitor",
  "monitor.category.service": "Service",
  "monitor.category.webserver": "Webserver",
  "monitor.center.help": "Monitoring Center is the monitoring resource management portal. Displays the currently added monitors in the form of list, and supports label grouping, query filtering, and access to view monitoring details. <br> You can add, modify, delete, pause monitoring, import/export, batch management, and other operations on the monitors.",
  "monitor.center.help.link": "https://hertzbeat.apache.org/docs/",
  "monitor.center.search.placeholder": "Search monitor type to add: Linux, Redis",
  "monitor.coilRegisterAddresses.tip": "Input RegisterAddress",
  "monitor.collect.time": "Collect Time",
  "monitor.collect.time.tip": "Last Collect Time",
  "monitor.collector": "Collector",
  "monitor.collector.status.offline": "Offline",
  "monitor.collector.status.online": "Online",
  "monitor.collector.system.default": "Default System Dispatch",
  "monitor.collector.tip": "Choose which collector to dispatch this monitoring",
  "monitor.content.tip": "3025020101040",
  "monitor.contentType.tip": "Request Body Type",
  "monitor.copy": "Copy Monitor",
  "monitor.copy-monitor": "Copy Monitor",
  "monitor.copy.failed": "Copy Monitor Failed",
  "monitor.copy.notify.one-select": "Only one monitor can be selected to copy",
  "monitor.copy.success": "Copy Monitor Success",
  "monitor.delete": "Delete",
  "monitor.delete-monitor": "Delete Monitor",
  "monitor.description": "Description",
  "monitor.description.tip": "Description and remarks",
  "monitor.detail": "Monitor Detail",
  "monitor.detail.auto-refresh": "Auto Refresh After {{time}} s",
  "monitor.detail.basic": "Monitoring Basic",
  "monitor.detail.chart.back": "Zoom restore",
  "monitor.detail.chart.no-data": "No Metrics Data",
  "monitor.detail.chart.query-1d": "Query 1 Day",
  "monitor.detail.chart.query-1h": "Query 1 Hour",
  "monitor.detail.chart.query-1m": "Query 1 Month",
  "monitor.detail.chart.query-1w": "Query 1 Week",
  "monitor.detail.chart.query-3m": "Query 3 Month",
  "monitor.detail.chart.query-6h": "Query 6 Hours",
  "monitor.detail.chart.save": "Save as Image",
  "monitor.detail.chart.unit": "Unit",
  "monitor.detail.chart.zoom": "Zoom In",
  "monitor.detail.chart.data-loading": "Data Loading",
  "monitor.detail.chart.data-processing": "In data parsing",
  "monitor.detail.close-refresh": "Close Auto Refresh",
  "monitor.detail.config-refresh": "Set Auto Refresh For {{time}} s",
  "monitor.detail.description": "Desc",
  "monitor.detail.history": "Monitor Historical Chart Detail",
  "monitor.detail.name": "Name",
  "monitor.detail.port": "Port",
  "monitor.detail.realtime": "Monitor Real-Time Detail",
  "monitor.detail.show-basic": "Show Monitor Basic",
  "monitor.detail.status": "Status",
  "monitor.detail.time-series.unavailable": "Unable to provide historical chart, please configure time series database",
  "monitor.detail.value.null": "No Value",
  "monitor.detect": "Detect",
  "monitor.detect.failed": "Detect Failed",
  "monitor.detect.success": "Detect Success",
  "monitor.detect.tip": "Check and detect monitor available status",
  "monitor.edit": "Edit",
  "monitor.edit-monitor": "Edit Monitor",
  "monitor.edit.failed": "Update Monitor Failed",
  "monitor.edit.success": "Update Monitor Success",
  "monitor.enable": "Enable",
  "monitor.export": "Export Selected",
  "monitor.selected-count": "{{count}} selected",
  "monitor.clear-selection": "Clear",
  "monitor.select-current-page": "Select this page",
  "monitor.export-all": "Export All",
  "monitor.export.switch-type": "Please select the export file format",
  "monitor.export.use-type": "Export selected monitors in {{type}} format",
  "monitor.export-all.use-type": "Export all monitors in {{type}} format",
  "monitor.grafana.enabled.label": "Enable Grafana",
  "monitor.grafana.enabled.tip": "is enabled, the monitoring data will be displayed in Grafana",
  "monitor.grafana.upload.label": "Upload Grafana Template",
  "monitor.grafana.upload.tip": "Upload Grafana template file, support .json file",
  "monitor.headerName.tip": "Header Name",
  "monitor.headerValue.tip": "Header Value",
  "monitor.holdingRegisterAddresses.tip": "Input RegisterAddress",
  "monitor.host": "Target Host",
  "monitor.host.tip": "The target peer ip or domain name",
  "monitor.help": "Monitoring and management page, you can check the metric data and manage monitoring tasks here. The status of normal service is",
  "monitor.icon.bigdata": "dot-chart",
  "monitor.icon.cache": "group",
  "monitor.icon.center": "laptop",
  "monitor.icon.cn": "cloud-server",
  "monitor.icon.custom": "project",
  "monitor.icon.db": "console-sql",
  "monitor.icon.mid": "cluster",
  "monitor.icon.network": "global",
  "monitor.icon.os": "windows",
  "monitor.icon.program": "code",
  "monitor.icon.service": "appstore",
  "monitor.icon.webserver": "database",
  "monitor.import": "Import Monitor",
  "monitor.intervals": "Intervals",
  "monitor.intervals.tip": "Monitor the interval time of periodic collection of data, unit second",
  "monitor.period": "Monitor Period",
  "monitor.period.tip": "Monitor execution period expression or time interval",
  "monitor.scheduleType": "Schedule Type",
  "monitor.scheduleType.tip": "Select the monitor scheduling type",
  "monitor.scheduleType.interval": "Second Interval",
  "monitor.scheduleType.cron": "Cron Expression",
  "monitor.cronExpression": "Cron Expression",
  "monitor.cronExpression.tip": "Example: 0/30 * * * * ? means execute every 30 seconds",
  "monitor.cronExpression.invalid": "Invalid Cron expression format",
  "monitor.keyword.tip": "Enter keyword which occurrences need to be monitored",
  "monitor.list": "Monitor List",
  "monitor.name": "Task Name",
  "monitor.name.tip": "The unique name that identifies the task",
  "monitor.new": "New",
  "monitor.new-monitor": "New Monitor",
  "monitor.new.failed": "New Monitor Failed",
  "monitor.new.notify.change-to-http": "HTTPS has been disabled, and the port number has been automatically changed to 80. Please take note.",
  "monitor.new.notify.change-to-https": "HTTPS has been enabled, and the port number has been automatically changed to 443. Please take note.",
  "monitor.new.notify.change-to-ftp": "SFTP has been disabled, and the port number has been automatically changed to 21. Please take note.",
  "monitor.new.notify.change-to-sftp": "SFTP has been enabled, and the port number has been automatically changed to 22. Please take note.",
  "monitor.new.success": "New Monitor Success",
  "monitor.not-found": "This Monitor Not Found",
  "monitor.item.unavailable": "This monitor item is no longer available, possibly due to service being offline. Returning to list page...",
  "monitor.item.unavailable.refresh": "This monitor item is no longer available, the list will refresh automatically",
  "monitor.path.tip": "Exporter Url Endpoint Path",
  "monitor.payload.tip": "Available When POST PUT",
  "monitor.privateKey.tip": "BEGIN RSA PRIVATE KEY",
  "monitor.search.app": "Type Filter",
  "monitor.search.placeholder": "Search Monitor",
  "monitor.search.label": "Label Filter",
  "monitor.sitemap.tip": "Web SITEMAP EG:/sitemap.xml",
  "monitor.spinning-tip.detecting": "Available Detecting",
  "monitor.status": "Task Status",
  "monitor.status.all": "All Status",
  "monitor.status.down": "Down",
  "monitor.status.paused": "Paused",
  "monitor.status.unreachable": "Unreachable",
  "monitor.status.up": "Up",
  "monitor.status.unavailable": "Unavailable",
  "monitor.total": "Total",
  "monitor.uri.tip": "Website uri path(no ip port) EG:/console",
  "monitor.url.tip": "service:jmx:rmi:///jndi/rmi://host:port/jmxrmi",
  "monitor.sshHost.tip": "Required When Enabling SSH Tunnel",
  "monitor.sshPort.tip": "Required When Enabling SSH Tunnel",
  "monitor.sshUsername.tip": "Required When Enabling SSH Tunnel",
  "monitor.sshPrivateKey.tip": "BEGIN RSA PRIVATE KEY",
  "monitor.scrape.type.static": "Static Scrape",
  "monitor.scrape.type.http_sd": "Http Service Discovery",
  "monitor.scrape.type.nacos_sd": "Nacos Service Discovery",
  "monitor.scrape.type.dns_sd": "Dns Service Discovery",
  "monitor.scrape.type.eureka_sd": "Eureka Service Discovery",
  "monitor.scrape.type.consul_sd": "Consul Service Discovery",
  "monitor.scrape.type.zookeeper_sd": "Zookeeper Service Discovery",
  "monitor.favorite.add.success": "Added to favorites successfully",
  "monitor.favorite.add.failed": "Failed to add to favorites",
  "monitor.favorite.remove.success": "Removed from favorites successfully",
  "monitor.favorite.remove.failed": "Failed to remove from favorites",
  "monitor.detail.favorite": "Favorites",
  "monitor.favorite.empty": "No favorite metrics yet",
  "monitor.favorite.empty.realtime": "No favorite real-time metrics yet",
  "monitor.favorite.empty.history": "No favorite historical charts yet",
  "monitor.favorite.add": "Add to Favorites",
  "monitor.favorite.remove": "Remove from Favorites",
  "placeholder.key": "Key",
  "placeholder.value": "Value",
  "plugin.delete": "Delete Plugin",
  "plugin.edit": "Edit plugin",
  "plugin.help": "Plugin management is used for unified management of plugins, including upload and enable/disable operations, we can use the plugin mechanism to perform some other operations after the alarm except notification. <br>For example, you can use the plugin mechanism to execute specific scripts or SQL after the alarm occurs.",
  "plugin.help.link": "https://hertzbeat.apache.org/docs/help/plugin",
  "plugin.jar.file": "Jar File",
  "plugin.name": "Plugin Name",
  "plugin.param.edit": "Edit Params",
  "plugin.search": "Search plugins",
  "plugin.status": "Enabled Status",
  "plugin.type": "Plugin Type",
  "plugin.type.POST_ALERT": "POST ALERT",
  "plugin.type.POST_COLLECT": "POST COLLECT",
  "plugin.upload": "Upload Plugin",
  "question.link": "https://hertzbeat.apache.org/docs/help/issue/",
  "settings.object-store": "File Server Configuration",
  "settings.object-store.obs.accessKey": "AccessKey",
  "settings.object-store.obs.accessKey.placeholder": "Access Key ID of HUAWEI CLOUD",
  "settings.object-store.obs.bucketName": "Bucket",
  "settings.object-store.obs.bucketName.placeholder": "The name of the bucket you created in HUAWEI CLOUD OBS",
  "settings.object-store.obs.endpoint": "EndPoint",
  "settings.object-store.obs.endpoint.placeholder": "HUAWEI CLOUD OBS domain name, excluding the bucket name",
  "settings.object-store.obs.savePath": "SavePath",
  "settings.object-store.obs.savePath.placeholder": "Path to save the backup file, The default value is hertzbeat.",
  "settings.object-store.obs.secretKey": "SecretKey",
  "settings.object-store.obs.secretKey.placeholder": "Access Key Secret of HUAWEI CLOUD",
  "settings.object-store.type": "File Server Provider",
  "settings.object-store.type.database": "Local database (default)",
  "settings.object-store.type.file": "Local file",
  "settings.object-store.type.obs": "HUAWEI CLOUD OBS",
  "settings.server": "Message Server Setting",
  "settings.server.email": "Email Server",
  "settings.server.email.setting": "Configure Email Server",
  "settings.server.sms": "SMS Server",
  "settings.server.sms.setting": "Configure SMS Server",
  "settings.system-config": "System Configuration",
  "settings.system-config.locale": "System Language",
  "settings.system-config.locale.en_US": "English(en_US)",
  "settings.system-config.locale.zh_CN": "Simplified Chinese(zh_CN)",
  "settings.system-config.locale.zh_TW": "Traditional Chinese(zh_TW)",
  "settings.system-config.locale.ja-JP": "Japanese(ja_JP)",
  "settings.system-config.locale.pt_BR": "Portuguese(pt_BR)",
  "settings.system-config.ok": "Confirm Update",
  "settings.system-config.theme": "System Theme",
  "settings.system-config.theme.compact": "Compact Theme",
  "settings.system-config.theme.dark": "Dark Theme",
  "settings.system-config.theme.default": "Default Theme",
  "settings.system-config.timezone": "System Time Zone",
  "settings.token": "API Token Management",
  "settings.token.desc": "Manage long-lived API tokens for integration access. Create or revoke tokens at any time.",
  "settings.token.generate": "Generate Token",
  "settings.token.generate-title": "Generate New API Token",
  "settings.token.generate-fail": "Failed to generate token",
  "settings.token.generated-title": "Token Generated",
  "settings.token.name": "Token Name",
  "settings.token.name-placeholder": "Enter token name",
  "settings.token.value": "Token Value",
  "settings.token.creator": "Creator",
  "settings.token.create-time": "Created At",
  "settings.token.notice": "This token will only be displayed once. Please keep it secure and do not share it. You can revoke it by deleting it from this page.",
  "settings.token.delete-confirm": "Confirm Delete Token",
  "settings.token.delete-confirm-content": "All integrations using this token will lose access. Are you sure you want to delete \"{{name}}\"?",
  "settings.token.empty": "No API tokens yet. Click the button above to generate one.",
  "settings.token.expire-time": "Expiration",
  "settings.token.expire.never": "Never",
  "settings.token.expire.7d": "7 Days",
  "settings.token.expire.30d": "30 Days",
  "settings.token.expire.90d": "90 Days",
  "settings.token.expire.180d": "180 Days",
  "settings.token.expire.365d": "365 Days",
  "settings.token.expired": "Expired",
  "settings.token.last-used": "Last Used",
  "status.component": "Component",
  "status.component.config-state": "Configuration State",
  "status.component.config-state.tip": "When the status calculates mode is manual, the configured component service status.",
  "status.component.delete": "Delete Component",
  "status.component.desc": "Component Description",
  "status.component.desc.tip": "Config component service description information",
  "status.component.edit": "Edit Component",
  "status.component.method": "Status Calculate Mode",
  "status.component.method.0": "Automatic Calculation",
  "status.component.method.1": "Manual Configuration",
  "status.component.method.tip": "The way to calculate the component service status is to automatically calculate the availability based on tag association monitoring, or to manually configure the status.",
  "status.component.name": "Service Component",
  "status.component.name.tip": "Config component service displayed name, such as Gateway",
  "status.component.new": "New Component",
  "status.component.notify.need-org": "Please config your organization information first!",
  "status.component.state": "Component State",
  "status.component.state.0": "Normal",
  "status.component.state.1": "Abnormal",
  "status.component.state.2": "Unknown",
  "status.component.tag": "Match Label",
  "status.component.tag.tip": "Status calculation associates the label, and uses all monitoring availability status associated with the label as data to calculate the service status of this component.",
  "status.help": "Quickly build a powerful status page based on HertzBeat to easily communicate the real-time status of your services to users. For example, the status page provided by Github <a href='https://www.githubstatus.com'> https://www.githubstatus.com</a>. <br>Supports linkage and synchronization of status page component status and monitoring status, fault event maintenance and management mechanism, etc. Improve your transparency, professionalism and user trust, and reduce communication costs.",
  "status.help.link": "https://hertzbeat.apache.org/docs/help/status",
  "status.incident": "Incident",
  "status.incident.component": "Affect Component",
  "status.incident.delete": "Delete Incident",
  "status.incident.history": "Incident History",
  "status.incident.message": "Publish Message",
  "status.incident.message-latest": "Latest Message",
  "status.incident.message.tip.0": "We are investigating this incident, please check back later for updates.",
  "status.incident.message.tip.1": "We have confirmed the cause of the failure and are processing it.",
  "status.incident.message.tip.2": "We are monitoring this event and observing the processing effect",
  "status.incident.message.tip.3": "This incident has been resolved, thanks for understanding and support.",
  "status.incident.name": "Incident Name",
  "status.incident.name.tip": "Please briefly describe the current incident title",
  "status.incident.new": "Publish Incident",
  "status.incident.public.process-time": "Process time",
  "status.incident.public.start-at": "Start at",
  "status.incident.public.update-at": "Update at",
  "status.incident.state": "Incident Status",
  "status.incident.state.0": "Investigating",
  "status.incident.state.1": "Identified",
  "status.incident.state.2": "Monitoring",
  "status.incident.state.3": "Resolved",
  "status.incident.update": "Update Incident",
  "status.org.color": "Theme Color",
  "status.org.color.tip": "Please config the status page theme color",
  "status.org.configured": "Configured",
  "status.org.desc": "Introduction",
  "status.org.desc.tip": "Introduction to the organization information displayed on the status page",
  "status.org.edit": "Edit Organization",
  "status.org.empty.desc": "Set up your organization name, logo and theme color to publish a branded status page for your users.",
  "status.org.empty.title": "Organization information not configured yet",
  "status.org.feedback": "Feedback Link",
  "status.org.feedback.tip": "Please config the users feedback contact address",
  "status.org.home": "Website Link",
  "status.org.home.tip": "Please config the organization's website homepage address",
  "status.org.logo": "Logo Image",
  "status.org.logo.tip": "Please config the organization logo image URL address, suggest svg",
  "status.org.name": "Organization Name",
  "status.org.name.tip": "The name of the organization team displayed on the status page, such as TanCloud",
  "status.org.setup": "Set Up Now",
  "status.org.state": "Organization State",
  "status.org.title": "Organization",
  "status.preview": "View Status Page",
  "status.page": "Status Page",
  "status.public.30-day": "30 days ago",
  "status.public.feedback": "Feedback Issue",
  "status.public.org.state.0": "All Systems Operational",
  "status.public.org.state.1": "Some Systems Abnormal",
  "status.public.org.state.2": "All Systems Abnormal",
  "status.public.power-by": "Power by Apache HertzBeat™. Star Us !",
  "status.public.to-component": "Status Page",
  "status.public.to-incident": "Incident History",
  "status.public.today": "Today",
  "tag": "Label",
  "validation.confirm-password.required": "Please confirm your password!",
  "validation.date.required": "Please select the start and end date",
  "validation.email.invalid": "Invalid email！",
  "validation.email.required": "Please enter your email!",
  "validation.email.wrong-format": "The email address is in the wrong format!",
  "validation.goal.required": "Please enter a description of the goal",
  "validation.password.required": "Please enter your password!",
  "validation.password.strength.medium": "Strength: medium",
  "validation.password.strength.msg": "Please enter at least 6 characters and don't use passwords that are easy to guess.",
  "validation.password.strength.short": "Strength: too short",
  "validation.password.strength.strong": "Strength: strong",
  "validation.password.twice": "The passwords entered twice do not match!",
  "validation.phone-number.required": "Please enter your phone number!",
  "validation.phone-number.wrong-format": "Malformed phone number!",
  "validation.phone.invalid": "Invalid phone number！",
  "validation.required": "Please fill in the required fields! ",
  "validation.standard.required": "Please enter a metric",
  "validation.title.required": "Please enter a title",
  "validation.verification-code.invalid": "Invalid verification code, should be 6 digits！",
  "validation.verification-code.required": "Please enter the verification code!",
  "ai.bot.title": "AI Assistant",
  "ai.bot.greeting": "Hello! I am an AI assistant. How can I help you?",
  "ai.bot.input.placeholder": "Please enter a question...",
  "ai.bot.send": "Send",
  "ai.bot.connect-fail": "Sorry, there was an issue connecting to the AI assistant. Please try again later.",
  "ai.chat.assistant": "AI Assistant",
  "ai.chat.config.api-key": "API Key",
  "ai.chat.config.api-key.help": "Your Provider API key. The key will be validated when saved.",
  "ai.chat.config.api-key.required": "API Key is required",
  "ai.chat.config.base-url": "Base URL",
  "ai.chat.config.base-url.help": "Custom API endpoint URL. Leave empty to use default for selected provider.",
  "ai.chat.config.cancel": "Cancel",
  "ai.chat.config.model": "Model",
  "ai.chat.config.model.help": "Model name to use. Leave empty to use default for selected provider.",
  "ai.chat.config.provider": "AI Provider",
  "ai.chat.config.provider.help": "Choose your AI provider (OpenAI, ZhiPu, or ZAI)",
  "ai.chat.config.provider.required": "Please select an AI provider",
  "ai.chat.config.reset": "Reset to default values",
  "ai.chat.config.save": "Save",
  "ai.chat.config.title": "AI Provider Configuration",
  "ai.chat.input.hint": "Press Enter to send, Shift+Enter for new line",
  "ai.chat.input.placeholder": "Ask me anything about observability...",
  "ai.chat.loading": "Loading conversation history...",
  "ai.chat.modify-api-key": "Modify API Key",
  "ai.chat.new-chat": "New Chat",
  "ai.chat.thinking": "AI is thinking...",
  "ai.chat.title": "HertzBeat AI",
  "ai.chat.typing": "Typing...",
  "ai.chat.user": "You",
  "ai.chat.welcome.capabilities.alerts": "View and analyze alerts with comprehensive filtering",
  "ai.chat.welcome.capabilities.config": "Configure alert rules and thresholds",
  "ai.chat.welcome.capabilities.manage": "Query and manage monitors by status, type, or labels",
  "ai.chat.welcome.capabilities.metrics": "Access real-time and historical metrics data",
  "ai.chat.welcome.capabilities.monitor": "Add new monitors for websites, APIs, databases, and services",
  "ai.chat.welcome.capabilities.troubleshoot": "Troubleshoot performance issues across your infrastructure",
  "ai.chat.welcome.description": "I'm your intelligent observability companion, ready to help you manage and optimize your infrastructure observability. You can ask me to:",
  "ai.chat.welcome.title": "Welcome to HertzBeat AI!",
  "ai.chat.conversation.created": "New conversation created",
  "ai.chat.conversation.delete.title": "Delete Conversation",
  "ai.chat.conversation.delete.content": "Are you sure you want to delete this conversation?",
  "ai.chat.conversation.delete.confirm": "Delete",
  "ai.chat.conversation.delete.success": "Conversation deleted",
  "ai.chat.conversation.delete.failed": "Failed to delete conversation",
  "ai.chat.config.required.title": "AI Model Provider Configuration Required",
  "ai.chat.config.required.content": "To use AI Agent Chat, please configure your Model Provider.",
  "ai.chat.config.required.error": "Configuration Issue:",
  "ai.chat.config.required.button": "Configure Here",
  "ai.chat.config.validation.failed": "❌ API Key validation failed:",
  "ai.chat.config.save.success": "Model Provider configuration saved successfully!",
  "ai.chat.config.save.failed": "Failed to save configuration:",
  "ai.chat.error.api.key": "Please enter API Key",
  "ai.chat.error.provider": "Please select a provider",
  "ai.chat.error.base.url": "Please enter Base URL",
  "ai.chat.error.model": "Please enter Model",
  "ai.chat.error.conversations.load": "Failed to load conversations:",
  "ai.chat.error.conversation.create": "Failed to create new conversation:",
  "ai.chat.error.conversation.history": "Failed to load conversation history",
  "ai.chat.error.chat.response": "Failed to get AI response:",
  "ai.chat.error.processing": "Sorry, there was an error processing your request. Please check if the AI Agent service is running and try again.",
  "ai.chat.offline.mode": "AI Chat service unavailable. Running in offline mode.",
  "ai.chat.offline.response": "I apologize, but the AI Chat service is currently unavailable. Please ensure the HertzBeat AI module is running and try again later.",
  "ai.chat.security.form.title": "Security Form",
  "ai.chat.security.form.button": "Enter private parameters",
  "ai.chat.security.form.complete": "Complete",
  "ai.chat.security.form.default.callback": "Form completed",
  "ai.chat.config.participation.model": "AI Participation Mode",
  "ai.chat.config.participation.model.help": "Trusted Mode: All data is sent to the LLM for processing. Protected Mode: Restricts some AI capabilities, such as preventing private data from being sent to the LLM for processing.",
  "ai.chat.config.participation.model.protected": "Protected",
  "ai.chat.config.participation.model.trusted": "Trusted",
  "ai.chat.schedule.title": "Schedule Configuration",
  "ai.chat.schedule.create": "Create Schedule",
  "ai.chat.schedule.add": "Add New Task",
  "ai.chat.schedule.configured": "Configured Schedules",
  "ai.chat.schedule.skill": "Skill",
  "ai.chat.schedule.skill.select": "Select Skill",
  "ai.chat.schedule.skill.placeholder": "Select skill to execute",
  "ai.chat.schedule.cron": "Execution Time",
  "ai.chat.schedule.cron.label": "Execution Time (Cron Expression)",
  "ai.chat.schedule.cron.help": "Format: seconds minutes hours day month week",
  "ai.chat.schedule.cron.example.daily": "Example: 0 0 9 * * ? (daily at 9am)",
  "ai.chat.schedule.cron.example.weekly": "Example: 0 0 9 ? * MON (Monday 9am)",
  "ai.chat.schedule.cron.common": "Common: daily 9am",
  "ai.chat.schedule.cron.monday": "Monday 9am",
  "ai.chat.schedule.status": "Status",
  "ai.chat.schedule.action": "Action",
  "ai.chat.schedule.create.success": "Schedule created successfully",
  "ai.chat.schedule.create.failed": "Failed to create schedule",
  "ai.chat.schedule.delete.success": "Schedule deleted",
  "ai.chat.schedule.delete.failed": "Failed to delete schedule",
  "ai.chat.schedule.toggle.success": "Schedule status updated",
  "ai.chat.schedule.toggle.failed": "Failed to toggle schedule",
  "ai.chat.schedule.push": "Scheduled Push",
  "ai.chat.schedule.button": "Schedule",
  "ai.chat.schedule.tooltip": "Configure scheduled push tasks",
  "ai.chat.schedule.edit": "Edit Schedule",
  "ai.chat.schedule.update.success": "Schedule updated successfully",
  "ai.chat.schedule.update.failed": "Failed to update schedule",
  "setting.drawer.theme.color": "Theme Color",
  "setting.drawer.settings": "Settings",
  "setting.drawer.top": "Top",
  "setting.drawer.sidebar": "Sidebar",
  "setting.drawer.content": "Content",
  "setting.drawer.other": "Other",
  "setting.drawer.height": "Height",
  "setting.drawer.background.color": "Background Color",
  "setting.drawer.background.color.default": "Default same as main color system",
  "setting.drawer.top.padding": "Top left and right padding",
  "setting.drawer.fixed.header.sidebar": "Fixed header and sidebar",
  "setting.drawer.colorblind.mode": "Colorblind mode",
  "setting.drawer.preview": "Preview",
  "setting.drawer.reset": "Reset",
  "setting.drawer.copy": "Copy",
  "setting.drawer.info.message": "The configuration panel is only for preview in the development environment, it will not be displayed in the production environment. Please copy and manually modify the parameter configuration file src/styles/theme.less"
}
