diff --git a/apps/daas/src/i18n/langs/en.js b/apps/daas/src/i18n/langs/en.js index ef5d52998f..ca08c2c23a 100644 --- a/apps/daas/src/i18n/langs/en.js +++ b/apps/daas/src/i18n/langs/en.js @@ -2740,4 +2740,124 @@ export default { license_expired_today: 'License expires today', license_expired_days: 'License has expired {val} days', license_expire_days: 'License expires in {val} days', + // TAP-13052 告警事件 / 通知记录 / 操作审计 + page_title_ops_center: 'Operations', + page_title_message_center: 'Messages & Notifications', + page_title_alarm_events: 'Alarm Events', + page_title_notification_records: 'Notification Records', + page_title_operation_audit: 'Operation Audit', + notification_modular_alarm: 'alarm event', + notification_operation_unread: 'marked as unread', + notification_operation_close: 'closed', + alarm_event_stats_alarming: 'Alarming', + alarm_event_stats_severe: 'Critical/Emergency', + alarm_event_stats_today_new: 'New Today', + alarm_event_stats_today_recovered: 'Recovered Today', + alarm_event_object_type: 'Object Type', + alarm_object_type_TASK: 'Task', + alarm_object_type_NODE: 'Node', + alarm_object_type_CONNECTION: 'Connection', + alarm_object_type_AGENT: 'Agent', + alarm_object_type_INSPECT: 'Validation Task', + alarm_object_type_API_SERVER: 'API Server', + alarm_event_notified: 'Notified', + alarm_event_notified_NONE: 'Not notified', + alarm_event_notified_NOTIFIED: 'Notified', + alarm_event_notified_PARTIAL_FAILED: 'Partially failed', + alarm_event_notified_FAILED: 'Failed', + alarm_event_agent: 'Agent', + alarm_event_keyword_placeholder: 'Task/object name or ID', + alarm_event_occurrence_count: 'Occurrences', + alarm_event_notification_result: 'Notification Result', + alarm_event_go_task: 'Go to Task', + alarm_event_close_hint: + 'Closing only stops tracking this alarm; it does not mean the problem has recovered', + alarm_event_close_confirm: + 'Closing stops tracking the selected alarms. It does not mean the problem has recovered, and it will be recorded in the operation audit. Close them?', + alarm_event_detail: 'Alarm Details', + alarm_event_overview: 'Overview', + alarm_event_id: 'Alarm ID', + alarm_event_type: 'Alarm Type', + alarm_event_duration: 'Duration', + alarm_event_minutes: '{0} min', + alarm_event_hours: '{0} h', + alarm_event_recovery_time: 'Recovered At', + alarm_event_close_time: 'Closed At', + alarm_event_current_value: 'Current Value', + alarm_event_threshold: 'Threshold', + alarm_event_related_object: 'Related Object', + alarm_event_object_deleted: 'Object deleted', + alarm_event_task: 'Task', + alarm_event_node: 'Node', + alarm_event_open_monitor: 'Open Task Monitor', + alarm_event_open_setting: 'Open Alarm Settings', + alarm_event_notification_overview: 'Notification Overview', + alarm_event_latest_notify: 'Last notified', + alarm_event_view_notifications: 'View notification records', + delivery_channel_system: 'In-app message', + delivery_channel_email: 'Email', + delivery_channel_webhook: 'Webhook', + delivery_status_success: 'All succeeded', + delivery_status_partial_failed: 'Partially failed', + delivery_status_failed: 'Failed', + delivery_status_skipped: 'Skipped', + delivery_status_none: 'No delivery record', + delivery_summary_hint: 'Numbers are succeeded/recipients', + delivery_recipient_success: 'Succeeded', + delivery_recipient_failed: 'Failed', + delivery_recipient_skipped: 'Skipped', + delivery_skip_no_receivers: 'No receivers configured', + delivery_skip_blacklist: 'Blacklisted', + delivery_skip_rate_limit: 'Sending limit exceeded', + notification_record_tab_all: 'All', + notification_record_tab_unread: 'Unread', + notification_record_tab_failed: 'Failed', + notification_record_notify_time: 'Notified At', + notification_record_channel: 'Channel', + notification_record_delivery_status: 'Delivery Status', + notification_record_read_state: 'Read Status', + notification_record_read: 'Read', + notification_record_unread: 'Unread', + notification_record_recipient_placeholder: 'Recipient (email/phone)', + notification_record_keyword_placeholder: 'Task/object name or ID', + notification_record_content: 'Content', + notification_record_legacy: 'Historical record without delivery details', + notification_record_alarm_missing: + 'Alarm event was cleared when the task was rerun', + notification_record_others: "Another user's notification", + notification_record_others_hint: + "Another user's notification; viewing it does not change their read state", + alarm_event_archived: 'Archived when the task was rerun', + notification_record_delivery: 'Delivery', + notification_record_latest_notify: 'Last Notified', + notification_record_mark_read: 'Mark as read', + notification_record_mark_unread: 'Mark as unread', + notification_record_mark_all_read: 'Mark all as read', + notification_record_confirm_read: + '{0} notifications under the current filter will be marked as read. Continue?', + notification_record_confirm_unread: + '{0} selected notifications will be marked as unread. Continue?', + notification_record_truncated: + '(Up to 1000 per operation; repeat for the rest)', + notification_record_nothing_to_mark: 'Nothing to update', + notification_record_detail: 'Notification Details', + notification_record_read_at: 'Read at', + notification_record_basic: 'Basic Information', + notification_record_view_alarm: 'View Alarm Event', + notification_record_deliveries: 'Deliveries', + notification_record_no_delivery: + 'No delivery details (historical record or no external channel)', + notification_record_occurrence_snapshot: '{0} occurrences when sent', + notification_record_recipient: 'Recipient', + notification_record_status: 'Status', + notification_record_sent_at: 'Sent At', + notification_record_reason: 'Failure/skip reason', + notification_record_smtp_hint: + 'Email "succeeded" means the mail server accepted it, not that the recipient opened it. Recipients of the same send share one result; addresses explicitly rejected by the server are marked failed separately.', + notification_bell_title: 'Unread ({0})', + notification_platform_license: + 'License expires in {0} days, please renew in time', + notification_view_all_records: 'View all notification records', + notification_setting_retired_tip: + 'In-app system notifications are retired. Task errors, validation errors and Agent status are now notified by alarm rules; configure channels and recipients in Alarm Settings. Existing email notifications below still apply.', } diff --git a/apps/daas/src/i18n/langs/zh-CN.js b/apps/daas/src/i18n/langs/zh-CN.js index 6a12e1baa4..07293f146a 100644 --- a/apps/daas/src/i18n/langs/zh-CN.js +++ b/apps/daas/src/i18n/langs/zh-CN.js @@ -2595,4 +2595,118 @@ export default { license_expired_today: 'License 今日到期', license_expired_days: 'License 已过期 {val} 天', license_expire_days: 'License 还有 {val} 天到期', + // TAP-13052 告警事件 / 通知记录 / 操作审计 + page_title_ops_center: '运维中心', + page_title_message_center: '消息与通知', + page_title_alarm_events: '告警事件', + page_title_notification_records: '通知记录', + page_title_operation_audit: '操作审计', + notification_modular_alarm: '告警事件', + notification_operation_unread: '标记为未读', + notification_operation_close: '关闭了', + alarm_event_stats_alarming: '告警中', + alarm_event_stats_severe: '严重/紧急', + alarm_event_stats_today_new: '今日新增', + alarm_event_stats_today_recovered: '今日已恢复', + alarm_event_object_type: '对象类型', + alarm_object_type_TASK: '任务', + alarm_object_type_NODE: '节点', + alarm_object_type_CONNECTION: '连接', + alarm_object_type_AGENT: '引擎', + alarm_object_type_INSPECT: '校验任务', + alarm_object_type_API_SERVER: 'API Server', + alarm_event_notified: '是否已通知', + alarm_event_notified_NONE: '未通知', + alarm_event_notified_NOTIFIED: '已通知', + alarm_event_notified_PARTIAL_FAILED: '部分失败', + alarm_event_notified_FAILED: '全部失败', + alarm_event_agent: '所属 Agent', + alarm_event_keyword_placeholder: '任务/对象名称或 ID', + alarm_event_occurrence_count: '发生次数', + alarm_event_notification_result: '通知结果', + alarm_event_go_task: '前往任务', + alarm_event_close_hint: '关闭只表示结束对该告警的跟踪,不代表问题已恢复', + alarm_event_close_confirm: + '关闭后将结束对所选告警的跟踪,不代表问题已恢复,且会记录到操作审计。确定关闭吗?', + alarm_event_detail: '告警详情', + alarm_event_overview: '告警概览', + alarm_event_id: '告警 ID', + alarm_event_type: '告警类型', + alarm_event_duration: '持续时长', + alarm_event_minutes: '{0} 分钟', + alarm_event_hours: '{0} 小时', + alarm_event_recovery_time: '恢复时间', + alarm_event_close_time: '关闭时间', + alarm_event_current_value: '当前值', + alarm_event_threshold: '阈值', + alarm_event_related_object: '关联对象', + alarm_event_object_deleted: '对象已删除', + alarm_event_task: '任务', + alarm_event_node: '节点', + alarm_event_open_monitor: '打开任务监控', + alarm_event_open_setting: '打开告警设置', + alarm_event_notification_overview: '通知概览', + alarm_event_latest_notify: '最近通知时间', + alarm_event_view_notifications: '查看全部通知记录', + delivery_channel_system: '站内消息', + delivery_channel_email: '邮件', + delivery_channel_webhook: 'Webhook', + delivery_status_success: '全部成功', + delivery_status_partial_failed: '部分失败', + delivery_status_failed: '全部失败', + delivery_status_skipped: '已跳过', + delivery_status_none: '无发送记录', + delivery_summary_hint: '数字为 成功数/收件人数', + delivery_recipient_success: '成功', + delivery_recipient_failed: '失败', + delivery_recipient_skipped: '跳过', + delivery_skip_no_receivers: '未配置接收人', + delivery_skip_blacklist: '在黑名单中', + delivery_skip_rate_limit: '超出发送限额', + notification_record_tab_all: '全部', + notification_record_tab_unread: '未读', + notification_record_tab_failed: '发送失败', + notification_record_notify_time: '通知时间', + notification_record_channel: '通知渠道', + notification_record_delivery_status: '发送状态', + notification_record_read_state: '阅读状态', + notification_record_read: '已读', + notification_record_unread: '未读', + notification_record_recipient_placeholder: '收件人(邮箱/手机号)', + notification_record_keyword_placeholder: '任务/对象名称或 ID', + notification_record_content: '通知内容', + notification_record_legacy: '历史记录,无发送明细', + notification_record_alarm_missing: '告警事件已在任务重新运行时清除', + notification_record_others: '其他用户的通知', + notification_record_others_hint: '其他用户的通知,查看不会改变对方的阅读状态', + alarm_event_archived: '任务重新运行时归档', + notification_record_delivery: '发送结果', + notification_record_latest_notify: '最近通知时间', + notification_record_mark_read: '标为已读', + notification_record_mark_unread: '标为未读', + notification_record_mark_all_read: '全部标为已读', + notification_record_confirm_read: + '将把当前筛选条件下的 {0} 条通知标为已读,确定吗?', + notification_record_confirm_unread: '将把选中的 {0} 条通知标为未读,确定吗?', + notification_record_truncated: '(单次最多处理 1000 条,其余请再次操作)', + notification_record_nothing_to_mark: '没有需要处理的通知', + notification_record_detail: '通知详情', + notification_record_read_at: '读取时间', + notification_record_basic: '基本信息', + notification_record_view_alarm: '查看告警事件', + notification_record_deliveries: '发送明细', + notification_record_no_delivery: + '该通知没有发送明细(历史记录或未配置外部渠道)', + notification_record_occurrence_snapshot: '发送时已发生 {0} 次', + notification_record_recipient: '接收人', + notification_record_status: '状态', + notification_record_sent_at: '发送时间', + notification_record_reason: '失败/跳过原因', + notification_record_smtp_hint: + '邮件“成功”表示邮件服务器已接收,不代表收件人已打开;同一次发送的收件人共用同一结果,服务器明确拒收的地址会单独标记失败。', + notification_bell_title: '未读通知({0})', + notification_platform_license: 'License 还有 {0} 天到期,请及时续期', + notification_view_all_records: '查看全部通知记录', + notification_setting_retired_tip: + '站内系统通知已下线:任务异常、校验异常、Agent 状态等提醒统一由告警规则产生,请在告警设置中配置渠道与接收人;下方已配置的邮件提醒仍然生效。', } diff --git a/apps/daas/src/i18n/langs/zh-TW.js b/apps/daas/src/i18n/langs/zh-TW.js index ca46ecdfd1..48407a0a99 100644 --- a/apps/daas/src/i18n/langs/zh-TW.js +++ b/apps/daas/src/i18n/langs/zh-TW.js @@ -2579,4 +2579,119 @@ export default { license_expired_today: 'License 今日到期', license_expired_days: 'License 已過期 {val} 天', license_expire_days: 'License 還有 {val} 天到期', + // TAP-13052 告警事件 / 通知记录 / 操作审计 + page_title_ops_center: '運維中心', + page_title_message_center: '訊息與通知', + page_title_alarm_events: '告警事件', + page_title_notification_records: '通知記錄', + page_title_operation_audit: '操作審計', + notification_modular_alarm: '告警事件', + notification_operation_unread: '標記為未讀', + notification_operation_close: '關閉了', + alarm_event_stats_alarming: '告警中', + alarm_event_stats_severe: '嚴重/緊急', + alarm_event_stats_today_new: '今日新增', + alarm_event_stats_today_recovered: '今日已恢復', + alarm_event_object_type: '對象類型', + alarm_object_type_TASK: '任務', + alarm_object_type_NODE: '節點', + alarm_object_type_CONNECTION: '連接', + alarm_object_type_AGENT: '引擎', + alarm_object_type_INSPECT: '校驗任務', + alarm_object_type_API_SERVER: 'API Server', + alarm_event_notified: '是否已通知', + alarm_event_notified_NONE: '未通知', + alarm_event_notified_NOTIFIED: '已通知', + alarm_event_notified_PARTIAL_FAILED: '部分失敗', + alarm_event_notified_FAILED: '全部失敗', + alarm_event_agent: '所屬 Agent', + alarm_event_keyword_placeholder: '任務/對象名稱或 ID', + alarm_event_occurrence_count: '發生次數', + alarm_event_notification_result: '通知結果', + alarm_event_go_task: '前往任務', + alarm_event_close_hint: '關閉只表示結束對該告警的追蹤,不代表問題已恢復', + alarm_event_close_confirm: + '關閉後將結束對所選告警的追蹤,不代表問題已恢復,且會記錄到操作審計。確定關閉嗎?', + alarm_event_detail: '告警詳情', + alarm_event_overview: '告警概覽', + alarm_event_id: '告警 ID', + alarm_event_type: '告警類型', + alarm_event_duration: '持續時長', + alarm_event_minutes: '{0} 分鐘', + alarm_event_hours: '{0} 小時', + alarm_event_recovery_time: '恢復時間', + alarm_event_close_time: '關閉時間', + alarm_event_current_value: '當前值', + alarm_event_threshold: '閾值', + alarm_event_related_object: '關聯對象', + alarm_event_object_deleted: '對象已刪除', + alarm_event_task: '任務', + alarm_event_node: '節點', + alarm_event_open_monitor: '打開任務監控', + alarm_event_open_setting: '打開告警設置', + alarm_event_notification_overview: '通知概覽', + alarm_event_latest_notify: '最近通知時間', + alarm_event_view_notifications: '查看全部通知記錄', + delivery_channel_system: '站內訊息', + delivery_channel_email: '郵件', + delivery_channel_webhook: 'Webhook', + delivery_status_success: '全部成功', + delivery_status_partial_failed: '部分失敗', + delivery_status_failed: '全部失敗', + delivery_status_skipped: '已跳過', + delivery_status_none: '無發送記錄', + delivery_summary_hint: '數字為 成功數/收件人數', + delivery_recipient_success: '成功', + delivery_recipient_failed: '失敗', + delivery_recipient_skipped: '跳過', + delivery_skip_no_receivers: '未配置接收人', + delivery_skip_blacklist: '在黑名單中', + delivery_skip_rate_limit: '超出發送限額', + notification_record_tab_all: '全部', + notification_record_tab_unread: '未讀', + notification_record_tab_failed: '發送失敗', + notification_record_notify_time: '通知時間', + notification_record_channel: '通知渠道', + notification_record_delivery_status: '發送狀態', + notification_record_read_state: '閱讀狀態', + notification_record_read: '已讀', + notification_record_unread: '未讀', + notification_record_recipient_placeholder: '收件人(郵箱/手機號)', + notification_record_keyword_placeholder: '任務/對象名稱或 ID', + notification_record_content: '通知內容', + notification_record_legacy: '歷史記錄,無發送明細', + notification_record_alarm_missing: '告警事件已在任務重新運行時清除', + notification_record_others: '其他使用者的通知', + notification_record_others_hint: + '其他使用者的通知,查看不會改變對方的閱讀狀態', + alarm_event_archived: '任務重新運行時歸檔', + notification_record_delivery: '發送結果', + notification_record_latest_notify: '最近通知時間', + notification_record_mark_read: '標為已讀', + notification_record_mark_unread: '標為未讀', + notification_record_mark_all_read: '全部標為已讀', + notification_record_confirm_read: + '將把當前篩選條件下的 {0} 條通知標為已讀,確定嗎?', + notification_record_confirm_unread: '將把選中的 {0} 條通知標為未讀,確定嗎?', + notification_record_truncated: '(單次最多處理 1000 條,其餘請再次操作)', + notification_record_nothing_to_mark: '沒有需要處理的通知', + notification_record_detail: '通知詳情', + notification_record_read_at: '讀取時間', + notification_record_basic: '基本資訊', + notification_record_view_alarm: '查看告警事件', + notification_record_deliveries: '發送明細', + notification_record_no_delivery: + '該通知沒有發送明細(歷史記錄或未配置外部渠道)', + notification_record_occurrence_snapshot: '發送時已發生 {0} 次', + notification_record_recipient: '接收人', + notification_record_status: '狀態', + notification_record_sent_at: '發送時間', + notification_record_reason: '失敗/跳過原因', + notification_record_smtp_hint: + '郵件「成功」表示郵件伺服器已接收,不代表收件人已開啟;同一次發送的收件人共用同一結果,伺服器明確拒收的地址會單獨標記失敗。', + notification_bell_title: '未讀通知({0})', + notification_platform_license: 'License 還有 {0} 天到期,請及時續期', + notification_view_all_records: '查看全部通知記錄', + notification_setting_retired_tip: + '站內系統通知已下線:任務異常、校驗異常、Agent 狀態等提醒統一由告警規則產生,請在告警設置中配置渠道與接收人;下方已配置的郵件提醒仍然生效。', } diff --git a/apps/daas/src/layouts/NotifyLayout.vue b/apps/daas/src/layouts/NotifyLayout.vue deleted file mode 100644 index f635f66897..0000000000 --- a/apps/daas/src/layouts/NotifyLayout.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - diff --git a/apps/daas/src/layouts/Sidebar.vue b/apps/daas/src/layouts/Sidebar.vue index 39b28443c4..82a502d209 100644 --- a/apps/daas/src/layouts/Sidebar.vue +++ b/apps/daas/src/layouts/Sidebar.vue @@ -173,7 +173,7 @@ onMounted(() => { -
+