diff --git a/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx b/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx index 97cd26f64a0..0525cc9ca7f 100644 --- a/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx +++ b/public/app/core/components/QueryOperationRow/QueryOperationRowHeader.tsx @@ -4,6 +4,7 @@ import { DraggableProvided } from 'react-beautiful-dnd'; import { GrafanaTheme2 } from '@grafana/data'; import { Icon, IconButton, useStyles2, Stack } from '@grafana/ui'; +import { t } from 'app/core/internationalization'; export interface QueryOperationRowHeaderProps { actionsElement?: React.ReactNode; @@ -41,13 +42,17 @@ export const QueryOperationRowHeader = ({ }: QueryOperationRowHeaderProps) => { const styles = useStyles2(getStyles); - let tooltipMessage = isContentVisible ? 'Collapse query row' : 'Expand query row'; + let tooltipMessage = isContentVisible + ? t('query-operation.header.collapse-row', 'Collapse query row') + : t('query-operation.header.expand-row', 'Expand query row'); if (expanderMessages !== undefined && isContentVisible) { tooltipMessage = expanderMessages.close; } else if (expanderMessages !== undefined) { tooltipMessage = expanderMessages?.open; } + const dragAndDropLabel = t('query-operation.header.drag-and-drop', 'Drag and drop to reorder'); + return (
@@ -76,7 +81,7 @@ export const QueryOperationRowHeader = ({ {actionsElement} {draggable && (
- +
)} diff --git a/public/app/features/query/components/QueryEditorRow.tsx b/public/app/features/query/components/QueryEditorRow.tsx index 28456e6b4f8..8a7c5877e4e 100644 --- a/public/app/features/query/components/QueryEditorRow.tsx +++ b/public/app/features/query/components/QueryEditorRow.tsx @@ -33,6 +33,7 @@ import { QueryOperationRow, QueryOperationRowRenderProps, } from 'app/core/components/QueryOperationRow/QueryOperationRow'; +import { t, Trans } from 'app/core/internationalization'; import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv'; import { DashboardModel } from 'app/features/dashboard/state/DashboardModel'; import { PanelModel } from 'app/features/dashboard/state/PanelModel'; @@ -301,7 +302,13 @@ export class QueryEditorRow extends PureComponentData source plugin does not export any Query Editor component
; + return ( +
+ + Data source plugin does not export any Query Editor component + +
+ ); }; onToggleEditMode = (e: React.MouseEvent, props: QueryOperationRowRenderProps) => { @@ -442,7 +449,7 @@ export class QueryEditorRow extends PureComponent {hasEditorHelp && ( extends PureComponent { this.onToggleEditMode(e, props); @@ -458,16 +465,24 @@ export class QueryEditorRow extends PureComponent )} {this.renderExtraActions()} - + {!hideDisableQuery ? ( ) : null} - + ); }; diff --git a/public/locales/de-DE/grafana.json b/public/locales/de-DE/grafana.json index 9c4e49fd6e1..bb887599753 100644 --- a/public/locales/de-DE/grafana.json +++ b/public/locales/de-DE/grafana.json @@ -961,6 +961,19 @@ "passwords-must-match": "" } }, + "query-operation": { + "header": { + "collapse-row": "", + "datasource-help": "", + "disable-query": "", + "drag-and-drop": "", + "duplicate-query": "", + "expand-row": "", + "remove-query": "", + "toggle-edit-mode": "" + }, + "query-editor-not-exported": "" + }, "refresh-picker": { "aria-label": { "choose-interval": "Automatische Aktualisierung ausgeschaltet. Aktualisierungszeitintervall auswählen", diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json index 251e2f4d964..d6e486306e8 100644 --- a/public/locales/en-US/grafana.json +++ b/public/locales/en-US/grafana.json @@ -961,6 +961,19 @@ "passwords-must-match": "Passwords must match" } }, + "query-operation": { + "header": { + "collapse-row": "Collapse query row", + "datasource-help": "Show data source help", + "disable-query": "Disable query", + "drag-and-drop": "Drag and drop to reorder", + "duplicate-query": "Duplicate query", + "expand-row": "Expand query row", + "remove-query": "Remove query", + "toggle-edit-mode": "Toggle text edit mode" + }, + "query-editor-not-exported": "Data source plugin does not export any Query Editor component" + }, "refresh-picker": { "aria-label": { "choose-interval": "Auto refresh turned off. Choose refresh time interval", diff --git a/public/locales/es-ES/grafana.json b/public/locales/es-ES/grafana.json index 82b14a0e51f..4162e86aa97 100644 --- a/public/locales/es-ES/grafana.json +++ b/public/locales/es-ES/grafana.json @@ -967,6 +967,19 @@ "passwords-must-match": "" } }, + "query-operation": { + "header": { + "collapse-row": "", + "datasource-help": "", + "disable-query": "", + "drag-and-drop": "", + "duplicate-query": "", + "expand-row": "", + "remove-query": "", + "toggle-edit-mode": "" + }, + "query-editor-not-exported": "" + }, "refresh-picker": { "aria-label": { "choose-interval": "Actualización automática desactivada. Elija un intervalo de tiempo de actualización", diff --git a/public/locales/fr-FR/grafana.json b/public/locales/fr-FR/grafana.json index 4ca33b4053b..1511701299d 100644 --- a/public/locales/fr-FR/grafana.json +++ b/public/locales/fr-FR/grafana.json @@ -967,6 +967,19 @@ "passwords-must-match": "" } }, + "query-operation": { + "header": { + "collapse-row": "", + "datasource-help": "", + "disable-query": "", + "drag-and-drop": "", + "duplicate-query": "", + "expand-row": "", + "remove-query": "", + "toggle-edit-mode": "" + }, + "query-editor-not-exported": "" + }, "refresh-picker": { "aria-label": { "choose-interval": "Actualisation automatique désactivée. Choisir un intervalle de temps d'actualisation", diff --git a/public/locales/pseudo-LOCALE/grafana.json b/public/locales/pseudo-LOCALE/grafana.json index b818b37cf15..db3f41cc478 100644 --- a/public/locales/pseudo-LOCALE/grafana.json +++ b/public/locales/pseudo-LOCALE/grafana.json @@ -961,6 +961,19 @@ "passwords-must-match": "Päşşŵőřđş mūşŧ mäŧčĥ" } }, + "query-operation": { + "header": { + "collapse-row": "Cőľľäpşę qūęřy řőŵ", + "datasource-help": "Ŝĥőŵ đäŧä şőūřčę ĥęľp", + "disable-query": "Đįşäþľę qūęřy", + "drag-and-drop": "Đřäģ äʼnđ đřőp ŧő řęőřđęř", + "duplicate-query": "Đūpľįčäŧę qūęřy", + "expand-row": "Ēχpäʼnđ qūęřy řőŵ", + "remove-query": "Ŗęmővę qūęřy", + "toggle-edit-mode": "Ŧőģģľę ŧęχŧ ęđįŧ mőđę" + }, + "query-editor-not-exported": "Đäŧä şőūřčę pľūģįʼn đőęş ʼnőŧ ęχpőřŧ äʼny Qūęřy Ēđįŧőř čőmpőʼnęʼnŧ" + }, "refresh-picker": { "aria-label": { "choose-interval": "Åūŧő řęƒřęşĥ ŧūřʼnęđ őƒƒ. Cĥőőşę řęƒřęşĥ ŧįmę įʼnŧęřväľ", diff --git a/public/locales/zh-Hans/grafana.json b/public/locales/zh-Hans/grafana.json index b68bc1e5179..1b8bf21dcd4 100644 --- a/public/locales/zh-Hans/grafana.json +++ b/public/locales/zh-Hans/grafana.json @@ -955,6 +955,19 @@ "passwords-must-match": "" } }, + "query-operation": { + "header": { + "collapse-row": "", + "datasource-help": "", + "disable-query": "", + "drag-and-drop": "", + "duplicate-query": "", + "expand-row": "", + "remove-query": "", + "toggle-edit-mode": "" + }, + "query-editor-not-exported": "" + }, "refresh-picker": { "aria-label": { "choose-interval": "自动刷新已关闭。选择刷新时间间隔",