diff --git a/web/src/locales/en-US.js b/web/src/locales/en-US.js
index 54c3df60..5cb38379 100644
--- a/web/src/locales/en-US.js
+++ b/web/src/locales/en-US.js
@@ -1,3 +1,5 @@
+import alert from './en-US/alert';
+
export default {
'navBar.lang': 'Languages',
@@ -394,4 +396,6 @@ export default {
'app.setting.copyinfo': 'copy success,please replace defaultSettings in src/models/setting.js',
'app.setting.production.hint':
'Setting panel shows in development environment only, please manually modify',
+
+ ...alert,
};
diff --git a/web/src/locales/en-US/alert.js b/web/src/locales/en-US/alert.js
new file mode 100644
index 00000000..7961970f
--- /dev/null
+++ b/web/src/locales/en-US/alert.js
@@ -0,0 +1,68 @@
+export default {
+ 'alert.button.acknowledge': 'Acknowledge',
+ 'alert.button.create-monitor': 'Create monitor',
+ 'alert.button.create-trigger': 'Create trigger',
+ 'alert.button.add-destination': 'Add destination',
+
+ 'alert.dashboard': 'Dashboard',
+ 'alert.dashboard.alerts': 'Alerts',
+ 'alert.dashboard.severity-options.all': 'All severity levels',
+ 'alert.dashboard.state-options.all': 'All alerts',
+ 'alert.dashboard.state-options.active': 'Active',
+ 'alert.dashboard.state-options.acknowledged': 'Acknowledged',
+ 'alert.dashboard.state-options.completed': 'Completed',
+ 'alert.dashboard.state-options.error': 'Error',
+ 'alert.dashboard.state-options.deleted': 'Deleted',
+ 'alert.dashboard.create-monitor-text': 'There are no existing alerts. Create a monitor to add triggers and actions. Once an alarm is triggered, the state will show in this table.',
+ 'alert.dashboard.create-trigger-text': 'There are no existing alerts. Create a trigger to start alerting. Once an alarm is triggered, the state will show in this table.',
+ 'alert.dashboard.table.columns.start_time': 'Alert start time',
+ 'alert.dashboard.table.columns.end_time': 'Alert end time',
+ 'alert.dashboard.table.columns.monitor_name': 'Monitor name',
+ 'alert.dashboard.table.columns.trigger_name': 'Trigger name',
+ 'alert.dashboard.table.columns.severity': 'Severity',
+ 'alert.dashboard.table.columns.state': 'State',
+ 'alert.dashboard.table.columns.acknowledged_time': 'Time acknowledged',
+
+ 'alert.monitor': 'Monitors',
+ 'alert.monitor.monitors': 'Monitors',
+ 'alert.monitor.actions': 'Actions',
+ 'alert.monitor.actions.acknowledge': 'Acknowledge',
+ 'alert.monitor.actions.enable': 'Enable',
+ 'alert.monitor.actions.disable': 'Disable',
+ 'alert.monitor.actions.delete': 'Delete',
+ 'alert.monitor.state.all': 'All states',
+ 'alert.monitor.state.enabled': 'Enabled',
+ 'alert.monitor.state.disabled': 'Disabled',
+ 'alert.monitor.filter-text': 'There are no monitors matching your applied filters. Reset your filters to view your monitors.',
+ 'alert.monitor.empty-monitor-text': 'There are no existing monitors. Create a monitor to add triggers and actions.',
+ 'alert.monitor.loading-monitors': 'Loading monitors...',
+ 'alert.monitor.reset-filters': 'Reset Filters',
+ 'alert.monitor.table.columns.name': 'Monitor name',
+ 'alert.monitor.table.columns.user': 'Last updated by',
+ 'alert.monitor.table.columns.latest_alert': 'Latest alert',
+ 'alert.monitor.table.columns.state': 'State',
+ 'alert.monitor.table.columns.last_notification_time': 'Last notification time',
+ 'alert.monitor.table.columns.active': 'Active',
+ 'alert.monitor.table.columns.acknowledged': 'Acknowledged',
+ 'alert.monitor.table.columns.errors': 'Errors',
+ 'alert.monitor.table.columns.ignored': 'Ignored',
+
+ 'alert.destination': 'Destinations',
+ 'alert.destination.destinations': 'Destinations',
+ 'alert.destination.actions': 'Actions',
+ 'alert.destination.actions.manger-email-senders': 'Manage email senders',
+ 'alert.destination.actions.manger-email-groups': 'Manage email groups',
+ 'alert.destination.loading-destinations': 'Loading destinations...',
+ 'alert.destination.filter-text': 'There are no destinations matching your applied filters. Reset your filters to view all destinations.',
+ 'alert.destination.empty-destination-text': 'There are no existing destinations. Add a destination.',
+ 'alert.destination.reset-filters': 'Reset Filters',
+ 'alert.destination.type.all': 'All type',
+ 'alert.destination.type.email': 'Email',
+ 'alert.destination.type.custom_webhook': 'Custom webhook',
+ 'alert.destination.type.slack': 'Slack',
+ 'alert.destination.type.chime': 'Amazon Chime',
+ 'alert.destination.table.columns.name': 'Destination name',
+ 'alert.destination.table.columns.type': 'Destination type',
+
+ 'alert.trigger': 'Triggers',
+};
diff --git a/web/src/locales/zh-CN.js b/web/src/locales/zh-CN.js
index 90f90468..90df86ce 100644
--- a/web/src/locales/zh-CN.js
+++ b/web/src/locales/zh-CN.js
@@ -1,3 +1,5 @@
+import alert from './zh-CN/alert';
+
export default {
'navBar.lang': '语言',
@@ -395,4 +397,6 @@ export default {
'app.setting.copyinfo': '拷贝成功,请到 src/defaultSettings.js 中替换默认配置',
'app.setting.production.hint':
'配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件',
+
+ ...alert,
};
diff --git a/web/src/locales/zh-CN/alert.js b/web/src/locales/zh-CN/alert.js
new file mode 100644
index 00000000..a1a81dcb
--- /dev/null
+++ b/web/src/locales/zh-CN/alert.js
@@ -0,0 +1,69 @@
+export default {
+ 'alert.button.acknowledge': '确认',
+ 'alert.button.create-monitor': '创建监控项',
+ 'alert.button.create-trigger': '创建触发器',
+ 'alert.button.add-destination': '添加渠道',
+
+ 'alert.dashboard': '告警概览',
+ 'alert.dashboard.alerts': '告警管理',
+ 'alert.dashboard.severity-options.all': '所有告警级别',
+ 'alert.dashboard.state-options.all': '所有状态',
+ 'alert.dashboard.state-options.active': '激活的',
+ 'alert.dashboard.state-options.acknowledged': '已确认',
+ 'alert.dashboard.state-options.completed': '已完成',
+ 'alert.dashboard.state-options.error': '错误',
+ 'alert.dashboard.state-options.deleted': '已删除',
+ 'alert.dashboard.create-monitor-text': '暂无监控项。 创建监控项以添加触发器和操作。 一旦触发警报,状态将显示在此表中。',
+ 'alert.dashboard.create-trigger-text': '暂无监控项。 创建触发器以开始警报。 一旦触发警报,状态将显示在此表中。',
+ 'alert.dashboard.table.columns.start_time': '告警开始时间',
+ 'alert.dashboard.table.columns.end_time': '告警截止时间',
+ 'alert.dashboard.table.columns.monitor_name': '监控项名称',
+ 'alert.dashboard.table.columns.trigger_name': '触发器名称',
+ 'alert.dashboard.table.columns.severity': '告警级别',
+ 'alert.dashboard.table.columns.state': '状态',
+ 'alert.dashboard.table.columns.acknowledged_time': '确认时间',
+
+ 'alert.monitor': '监控管理',
+ 'alert.monitor.monitors': '监控管理',
+ 'alert.monitor.actions': '操作',
+ 'alert.monitor.actions.acknowledge': '确认',
+ 'alert.monitor.actions.enable': '启用',
+ 'alert.monitor.actions.disable': '禁用',
+ 'alert.monitor.actions.delete': '删除',
+ 'alert.monitor.state.all': '所有状态',
+ 'alert.monitor.state.enabled': '已启用',
+ 'alert.monitor.state.disabled': '已禁用',
+ 'alert.monitor.filter-text': '未搜索到结果。',
+ 'alert.monitor.empty-monitor-text': '暂无监控项。 创建监控项以添加触发器和操作。',
+ 'alert.monitor.loading-monitors': '加载中...',
+ 'alert.monitor.reset-filters': '重置过滤条件',
+ 'alert.monitor.table.columns.name': '监控器名称',
+ 'alert.monitor.table.columns.user': '最近操作者',
+ 'alert.monitor.table.columns.latest_alert': '最近告警',
+ 'alert.monitor.table.columns.state': '状态',
+ 'alert.monitor.table.columns.last_notification_time': '最近通知时间',
+ 'alert.monitor.table.columns.active': '激活的',
+ 'alert.monitor.table.columns.acknowledged': '已确认',
+ 'alert.monitor.table.columns.errors': '错误',
+ 'alert.monitor.table.columns.ignored': '已忽略',
+
+ 'alert.destination': '通知渠道',
+
+ 'alert.destination.destinations': '通知渠道管理',
+ 'alert.destination.actions': '操作',
+ 'alert.destination.actions.manger-email-senders': '管理邮件发送者',
+ 'alert.destination.actions.manger-email-groups': '管理邮件组',
+ 'alert.destination.loading-destinations': '加载中...',
+ 'alert.destination.filter-text': '未搜索到结果。',
+ 'alert.destination.empty-destination-text': '暂无通知渠道。 添加渠道。',
+ 'alert.destination.reset-filters': '重置过滤条件',
+ 'alert.destination.type.all': '所有类型',
+ 'alert.destination.type.email': 'Email',
+ 'alert.destination.type.custom_webhook': 'Webhook',
+ 'alert.destination.type.slack': 'Slack',
+ 'alert.destination.type.chime': 'Amazon Chime',
+ 'alert.destination.table.columns.name': '渠道名称',
+ 'alert.destination.table.columns.type': '渠道类型',
+
+ 'alert.trigger': '触发器',
+};
diff --git a/web/src/pages/Alerting/pages/Dashboard/components/DashboardControls/DashboardControls.js b/web/src/pages/Alerting/pages/Dashboard/components/DashboardControls/DashboardControls.js
index bdb0d34c..dcd701ca 100644
--- a/web/src/pages/Alerting/pages/Dashboard/components/DashboardControls/DashboardControls.js
+++ b/web/src/pages/Alerting/pages/Dashboard/components/DashboardControls/DashboardControls.js
@@ -16,9 +16,10 @@
import React from 'react';
import { EuiFieldSearch, EuiFlexGroup, EuiSelect, EuiFlexItem, EuiPagination } from '@elastic/eui';
import { ALERT_STATE } from '../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
const severityOptions = [
- { value: 'ALL', text: 'All severity levels' },
+ { value: 'ALL', text: formatMessage({ id: 'alert.dashboard.severity-options.all' }) },
{ value: '1', text: '1' },
{ value: '2', text: '2' },
{ value: '3', text: '3' },
@@ -27,12 +28,12 @@ const severityOptions = [
];
const stateOptions = [
- { value: 'ALL', text: 'All alerts' },
- { value: ALERT_STATE.ACTIVE, text: 'Active' },
- { value: ALERT_STATE.ACKNOWLEDGED, text: 'Acknowledged' },
- { value: ALERT_STATE.COMPLETED, text: 'Completed' },
- { value: ALERT_STATE.ERROR, text: 'Error' },
- { value: ALERT_STATE.DELETED, text: 'Deleted' },
+ { value: 'ALL', text: formatMessage({ id: 'alert.dashboard.state-options.all' }) },
+ { value: ALERT_STATE.ACTIVE, text: formatMessage({ id: 'alert.dashboard.state-options.active' }) },
+ { value: ALERT_STATE.ACKNOWLEDGED, text: formatMessage({ id: 'alert.dashboard.state-options.acknowledged' }) },
+ { value: ALERT_STATE.COMPLETED, text: formatMessage({ id: 'alert.dashboard.state-options.completed' }) },
+ { value: ALERT_STATE.ERROR, text: formatMessage({ id: 'alert.dashboard.state-options.error' }) },
+ { value: ALERT_STATE.DELETED, text: formatMessage({ id: 'alert.dashboard.state-options.deleted' }) },
];
const DashboardControls = ({
@@ -50,7 +51,7 @@ const DashboardControls = ({
diff --git a/web/src/pages/Alerting/pages/Dashboard/components/DashboardEmptyPrompt/DashboardEmptyPrompt.js b/web/src/pages/Alerting/pages/Dashboard/components/DashboardEmptyPrompt/DashboardEmptyPrompt.js
index c0da1495..24289112 100644
--- a/web/src/pages/Alerting/pages/Dashboard/components/DashboardEmptyPrompt/DashboardEmptyPrompt.js
+++ b/web/src/pages/Alerting/pages/Dashboard/components/DashboardEmptyPrompt/DashboardEmptyPrompt.js
@@ -18,19 +18,18 @@ import PropTypes from 'prop-types';
import { EuiButton, EuiEmptyPrompt, EuiText } from '@elastic/eui';
import { APP_PATH,PLUGIN_NAME } from '../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
-const createMonitorText =
- 'There are no existing alerts. Create a monitor to add triggers and actions. Once an alarm is triggered, the state will show in this table.';
-const createTriggerText =
- 'There are no existing alerts. Create a trigger to start alerting. Once an alarm is triggered, the state will show in this table.';
+const createMonitorText = formatMessage({ id: 'alert.dashboard.create-monitor-text' });
+const createTriggerText = formatMessage({ id: 'alert.dashboard.create-trigger-text' });
const createMonitorButton = (
- Create monitor
+ {formatMessage({ id: 'alert.button.create-monitor' })}
);
const createTriggerButton = onCreateTrigger => (
- Create trigger
+ {formatMessage({ id: 'alert.button.create-trigger' })}
);
diff --git a/web/src/pages/Alerting/pages/Dashboard/containers/Dashboard.js b/web/src/pages/Alerting/pages/Dashboard/containers/Dashboard.js
index 59ddac60..f54f1b31 100644
--- a/web/src/pages/Alerting/pages/Dashboard/containers/Dashboard.js
+++ b/web/src/pages/Alerting/pages/Dashboard/containers/Dashboard.js
@@ -24,6 +24,7 @@ import DashboardControls from '../components/DashboardControls';
import { columns } from '../utils/tableUtils';
import { KIBANA_AD_PLUGIN } from '../../../utils/constants';
import { backendErrorNotification } from '../../../utils/helpers';
+import { formatMessage } from 'umi/locale';
const DEFAULT_PAGE_SIZE_OPTIONS = [5, 10, 20, 50];
const DEFAULT_QUERY_PARAMS = {
@@ -323,7 +324,7 @@ export default class Dashboard extends Component {
};
const actions = () => {
- const actions = [Acknowledge];
+ const actions = [{formatMessage({ id: 'alert.button.acknowledge'})}];
// if (detectorIds.length) {
// actions.unshift(
//
@@ -336,7 +337,7 @@ export default class Dashboard extends Component {
return (
{
const momentTime = moment(time);
@@ -30,7 +31,7 @@ const renderTime = (time) => {
export const columns = [
{
field: 'start_time',
- name: 'Alert start time',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.start_time' }),
sortable: true,
truncateText: false,
render: renderTime,
@@ -38,7 +39,7 @@ export const columns = [
},
{
field: 'end_time',
- name: 'Alert end time',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.end_time' }),
sortable: true,
truncateText: false,
render: renderTime,
@@ -46,7 +47,7 @@ export const columns = [
},
{
field: 'monitor_name',
- name: 'Monitor name',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.monitor_name' }),
sortable: true,
truncateText: true,
textOnly: true,
@@ -56,20 +57,20 @@ export const columns = [
},
{
field: 'trigger_name',
- name: 'Trigger name',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.trigger_name' }),
sortable: true,
truncateText: true,
textOnly: true,
},
{
field: 'severity',
- name: 'Severity',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.severity' }),
sortable: false,
truncateText: false,
},
{
field: 'state',
- name: 'State',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.state' }),
sortable: false,
truncateText: false,
render: (state, alert) => {
@@ -80,7 +81,7 @@ export const columns = [
},
{
field: 'acknowledged_time',
- name: 'Time acknowledged',
+ name: formatMessage({ id: 'alert.dashboard.table.columns.acknowledged_time' }),
sortable: true,
truncateText: false,
render: renderTime,
diff --git a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsActions/DestinationsActions.js b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsActions/DestinationsActions.js
index 83dc717e..77cdc103 100644
--- a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsActions/DestinationsActions.js
+++ b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsActions/DestinationsActions.js
@@ -25,6 +25,7 @@ import {
import { APP_PATH } from '../../../../../utils/constants';
import { PLUGIN_NAME } from '../../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
export default class DestinationsActions extends Component {
state = {
@@ -40,7 +41,7 @@ export default class DestinationsActions extends Component {
this.props.onClickManageSenders();
}}
>
- Manage email senders
+ {formatMessage({ id: 'alert.destination.actions.manger-email-senders' })}
,
- Manage email groups
+ {formatMessage({ id: 'alert.destination.actions.manger-email-groups' })}
,
];
};
@@ -73,7 +74,7 @@ export default class DestinationsActions extends Component {
id="destinationActionsPopover"
button={
- Actions
+ {formatMessage({ id: 'alert.destination.actions' })}
}
isOpen={isActionsOpen}
@@ -87,7 +88,7 @@ export default class DestinationsActions extends Component {
) : null}
- Add destination
+ {formatMessage({ id: 'alert.button.add-destination' })}
diff --git a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsControls/DestinationsControls.js b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsControls/DestinationsControls.js
index a3c5f9c7..dd2a4980 100644
--- a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsControls/DestinationsControls.js
+++ b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/DestinationsControls/DestinationsControls.js
@@ -17,6 +17,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { EuiFieldSearch, EuiFlexGroup, EuiFlexItem, EuiPagination, EuiSelect } from '@elastic/eui';
import { DESTINATION_OPTIONS } from '../../../utils/constants';
+import { formatMessage } from 'umi/locale';
const filterTypes = [{ value: 'ALL', text: 'All type' }, ...DESTINATION_OPTIONS];
@@ -47,14 +48,14 @@ const DestinationsControls = ({
allowList,
}) => {
const allowedOptions = DESTINATION_OPTIONS.filter((option) => allowList.includes(option.value));
- const filterTypes = [{ value: 'ALL', text: 'All type' }, ...allowedOptions];
+ const filterTypes = [{ value: 'ALL', text: formatMessage({ id: 'alert.destination.type.all' }) }, ...allowedOptions];
return (
diff --git a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/EmptyDestinations/EmptyDestinations.js b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/EmptyDestinations/EmptyDestinations.js
index 2d0eec5d..d021397f 100644
--- a/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/EmptyDestinations/EmptyDestinations.js
+++ b/web/src/pages/Alerting/pages/Destinations/components/DestinationsList/EmptyDestinations/EmptyDestinations.js
@@ -19,19 +19,19 @@ import { EuiButton, EuiEmptyPrompt, EuiText } from '@elastic/eui';
import { APP_PATH } from '../../../../../utils/constants';
import { PLUGIN_NAME } from '../../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
-const filterText =
- 'There are no destinations matching your applied filters. Reset your filters to view all destinations.';
-const emptyText = 'There are no existing destinations. Add a destination.';
+const filterText = formatMessage({ id: 'alert.destination.filter-text' });
+const emptyText = formatMessage({ id: 'alert.destination.empty-destination-text' });
const createDestinationButton = (
- Add destination
+ {formatMessage({ id: 'alert.button.add-destination' })}
);
const resetFiltersButton = resetFilters => (
- Reset filters
+ {formatMessage({ id: 'alert.destination.reset-filters' })}
);
diff --git a/web/src/pages/Alerting/pages/Destinations/containers/DestinationsList/DestinationsList.js b/web/src/pages/Alerting/pages/Destinations/containers/DestinationsList/DestinationsList.js
index d7f615c7..0a9e6f6e 100644
--- a/web/src/pages/Alerting/pages/Destinations/containers/DestinationsList/DestinationsList.js
+++ b/web/src/pages/Alerting/pages/Destinations/containers/DestinationsList/DestinationsList.js
@@ -35,6 +35,7 @@ import ManageEmailGroups from '../CreateDestination/ManageEmailGroups';
import { getAllowList } from '../../utils/helpers';
import { DESTINATION_TYPE } from '../../utils/constants';
import { backendErrorNotification } from '../../../../utils/helpers';
+import { formatMessage } from 'umi/locale';
class DestinationsList extends React.Component {
constructor(props) {
@@ -67,17 +68,17 @@ class DestinationsList extends React.Component {
this.columns = [
...staticColumns,
{
- name: 'Actions',
+ name: formatMessage({ id: 'alert.destination.actions' }),
width: '35px',
actions: [
{
- name: 'Edit',
+ name: formatMessage({ id: 'form.button.edit' }),
description: 'Edit this destination.',
enabled: this.isEditEnabled,
onClick: this.handleEditDestination,
},
{
- name: 'Delete',
+ name: formatMessage({ id: 'form.button.delete' }),
description: 'Delete this destination.',
onClick: this.handleDeleteAction,
},
@@ -310,7 +311,7 @@ class DestinationsList extends React.Component {
) : null}
{
if (pathname.includes('monitors')) return 'monitors';
@@ -39,17 +40,17 @@ export default class Home extends Component {
this.tabs = [
{
id: 'dashboard',
- name: 'Dashboard',
+ name: formatMessage({ id: 'alert.dashboard' }),
route: 'dashboard',
},
{
id: 'monitors',
- name: 'Monitors',
+ name: formatMessage({ id: 'alert.monitor' }),
route: 'monitors',
},
{
id: 'destinations',
- name: 'Destinations',
+ name: formatMessage({ id: 'alert.destination' }),
route: 'destinations',
},
];
diff --git a/web/src/pages/Alerting/pages/Monitors/components/MonitorActions/MonitorActions.js b/web/src/pages/Alerting/pages/Monitors/components/MonitorActions/MonitorActions.js
index 934b49f3..3bca6fe0 100644
--- a/web/src/pages/Alerting/pages/Monitors/components/MonitorActions/MonitorActions.js
+++ b/web/src/pages/Alerting/pages/Monitors/components/MonitorActions/MonitorActions.js
@@ -25,6 +25,7 @@ import {
import { APP_PATH } from '../../../../utils/constants';
import { PLUGIN_NAME } from '../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
export default class MonitorActions extends Component {
state = {
@@ -41,7 +42,7 @@ export default class MonitorActions extends Component {
this.props.onBulkAcknowledge();
}}
>
- Acknowledge
+ {formatMessage({ id: 'alert.monitor.actions.acknowledge' })}
,
- Enable
+ {formatMessage({ id: 'alert.monitor.actions.enable' })}
,
- Disable
+ {formatMessage({ id: 'alert.monitor.actions.disable' })}
,
- Delete
+ {formatMessage({ id: 'alert.monitor.actions.delete' })}
,
];
};
@@ -99,7 +100,7 @@ export default class MonitorActions extends Component {
iconSide="right"
data-test-subj="actionsButton"
>
- Actions
+ {formatMessage({ id: 'alert.monitor.actions' })}
}
isOpen={isActionsOpen}
@@ -112,7 +113,7 @@ export default class MonitorActions extends Component {
- Edit
+ {formatMessage({ id: 'form.button.edit' })}
@@ -121,7 +122,7 @@ export default class MonitorActions extends Component {
href={`#/${PLUGIN_NAME}${APP_PATH.CREATE_MONITOR}`}
data-test-subj="createButton"
>
- Create monitor
+ {formatMessage({ id: 'alert.button.create-monitor' })}
diff --git a/web/src/pages/Alerting/pages/Monitors/components/MonitorControls/MonitorControls.js b/web/src/pages/Alerting/pages/Monitors/components/MonitorControls/MonitorControls.js
index 18dcfed5..af0ec94e 100644
--- a/web/src/pages/Alerting/pages/Monitors/components/MonitorControls/MonitorControls.js
+++ b/web/src/pages/Alerting/pages/Monitors/components/MonitorControls/MonitorControls.js
@@ -15,11 +15,12 @@
import React from 'react';
import { EuiFieldSearch, EuiFlexGroup, EuiFlexItem, EuiPagination, EuiSelect } from '@elastic/eui';
+import { formatMessage } from 'umi/locale';
const states = [
- { value: 'all', text: 'All states' },
- { value: 'enabled', text: 'Enabled' },
- { value: 'disabled', text: 'Disabled' },
+ { value: 'all', text: formatMessage({ id: 'alert.monitor.state.all' }) },
+ { value: 'enabled', text: formatMessage({ id: 'alert.monitor.state.enabled' }) },
+ { value: 'disabled', text: formatMessage({ id: 'alert.monitor.state.disabled' }) },
];
const MonitorControls = ({
@@ -36,7 +37,7 @@ const MonitorControls = ({
diff --git a/web/src/pages/Alerting/pages/Monitors/components/MonitorEmptyPrompt/MonitorEmptyPrompt.js b/web/src/pages/Alerting/pages/Monitors/components/MonitorEmptyPrompt/MonitorEmptyPrompt.js
index c0f5e6b7..808d309f 100644
--- a/web/src/pages/Alerting/pages/Monitors/components/MonitorEmptyPrompt/MonitorEmptyPrompt.js
+++ b/web/src/pages/Alerting/pages/Monitors/components/MonitorEmptyPrompt/MonitorEmptyPrompt.js
@@ -18,20 +18,19 @@ import { EuiButton, EuiEmptyPrompt, EuiText } from '@elastic/eui';
import { APP_PATH } from '../../../../utils/constants';
import { PLUGIN_NAME } from '../../../../utils/constants';
+import { formatMessage } from 'umi/locale';
-const filterText =
- 'There are no monitors matching your applied filters. Reset your filters to view your monitors.';
-const emptyMonitorText =
- 'There are no existing monitors. Create a monitor to add triggers and actions.';
-const loadingText = 'Loading monitors...';
+const filterText = formatMessage({ id: 'alert.monitor.filter-text' });
+const emptyMonitorText = formatMessage({ id: 'alert.monitor.empty-monitor-text' });
+const loadingText = formatMessage({ id: 'loading-monitors' });
const createMonitorButton = (
- Create monitor
+ {formatMessage({ id: 'alert.button.create-monitor' })}
);
const resetFiltersButton = resetFilters => (
- Reset Filters
+ {formatMessage({ id: 'reset-filters' })}
);
diff --git a/web/src/pages/Alerting/pages/Monitors/containers/Monitors/Monitors.js b/web/src/pages/Alerting/pages/Monitors/containers/Monitors/Monitors.js
index 0dfc7be2..523ac867 100644
--- a/web/src/pages/Alerting/pages/Monitors/containers/Monitors/Monitors.js
+++ b/web/src/pages/Alerting/pages/Monitors/containers/Monitors/Monitors.js
@@ -28,6 +28,7 @@ import { getURLQueryParams } from './utils/helpers';
import { columns as staticColumns } from './utils/tableUtils';
import { MONITOR_ACTIONS } from '../../../../utils/constants';
import { backendErrorNotification } from '../../../../utils/helpers';
+import { formatMessage } from 'umi/locale';
const MAX_MONITOR_COUNT = 1000;
@@ -84,26 +85,26 @@ export default class Monitors extends Component {
this.columns = [
...staticColumns,
{
- name: 'Actions',
+ name: formatMessage({ id: 'alert.monitor.actions' }),
width: '75px',
actions: [
{
- name: 'Acknowledge',
+ name: formatMessage({ id: 'alert.monitor.actions.acknowledge' }),
description: 'Acknowledge this Monitor',
onClick: this.onClickAcknowledge,
},
{
- name: 'Enable',
+ name: formatMessage({ id: 'alert.monitor.actions.enable' }),
description: 'Enable this Monitor',
onClick: this.onClickEnable,
},
{
- name: 'Disable',
+ name: formatMessage({ id: 'alert.monitor.actions.disable' }),
description: 'Disable this Monitor',
onClick: this.onClickDisable,
},
{
- name: 'Delete',
+ name: formatMessage({ id: 'alert.monitor.actions.delete' }),
description: 'Delete this Monitor',
onClick: this.onClickDelete,
},
@@ -400,7 +401,7 @@ export default class Monitors extends Component {
/>
}
bodyStyles={{ padding: 'initial' }}
- title="Monitors"
+ title={formatMessage({ id: 'alert.monitor.monitors' })}
>
{
const momentTime = moment(time);
@@ -28,7 +29,7 @@ const renderTime = (time) => {
export const columns = [
{
field: 'name',
- name: 'Monitor name',
+ name: formatMessage({ id: 'alert.monitor.table.columns.name' }),
sortable: true,
truncateText: true,
textOnly: true,
@@ -37,7 +38,7 @@ export const columns = [
},
{
field: 'user',
- name: 'Last updated by',
+ name: formatMessage({ id: 'alert.monitor.table.columns.user' }),
sortable: true,
truncateText: true,
textOnly: true,
@@ -53,7 +54,7 @@ export const columns = [
},
{
field: 'latestAlert',
- name: 'Latest alert',
+ name: formatMessage({ id: 'alert.monitor.table.columns.latest_alert' }),
sortable: false,
truncateText: true,
textOnly: true,
@@ -61,7 +62,7 @@ export const columns = [
},
{
field: 'enabled',
- name: 'State',
+ name: formatMessage({ id: 'alert.monitor.table.columns.state' }),
sortable: false,
truncateText: false,
// width: '100px',
@@ -69,7 +70,7 @@ export const columns = [
},
{
field: 'lastNotificationTime',
- name: 'Last notification time',
+ name: formatMessage({ id: 'alert.monitor.table.columns.last_notification_time' }),
sortable: true,
truncateText: false,
render: renderTime,
@@ -78,28 +79,28 @@ export const columns = [
},
{
field: 'active',
- name: 'Active',
+ name: formatMessage({ id: 'alert.monitor.table.columns.active' }),
sortable: true,
truncateText: false,
// width: '100px',
},
{
field: 'acknowledged',
- name: 'Acknowledged',
+ name: formatMessage({ id: 'alert.monitor.table.columns.acknowledged' }),
sortable: true,
truncateText: false,
// width: '100px',
},
{
field: 'errors',
- name: 'Errors',
+ name: formatMessage({ id: 'alert.monitor.table.columns.errors' }),
sortable: true,
truncateText: false,
// width: '100px',
},
{
field: 'ignored',
- name: 'Ignored',
+ name: formatMessage({ id: 'alert.monitor.table.columns.ignored' }),
sortable: true,
truncateText: false,
// width: '100px',