From f180bb46f8e46e2dd8927a6750420e2c7d8d7a28 Mon Sep 17 00:00:00 2001 From: Josh Hunt Date: Wed, 23 Nov 2022 12:12:33 +0000 Subject: [PATCH] I18n: Translate Dashboard Starred notification (#59138) --- .../dashboard/services/DashboardSrv.ts | 34 +++++++++++-------- public/locales/de-DE/grafana.json | 4 +++ public/locales/en-US/grafana.json | 4 +++ public/locales/es-ES/grafana.json | 4 +++ public/locales/fr-FR/grafana.json | 4 +++ public/locales/pseudo-LOCALE/grafana.json | 4 +++ public/locales/zh-Hans/grafana.json | 4 +++ 7 files changed, 44 insertions(+), 14 deletions(-) diff --git a/public/app/features/dashboard/services/DashboardSrv.ts b/public/app/features/dashboard/services/DashboardSrv.ts index 11e32a26eeb..41f7ca91703 100644 --- a/public/app/features/dashboard/services/DashboardSrv.ts +++ b/public/app/features/dashboard/services/DashboardSrv.ts @@ -1,7 +1,9 @@ import { lastValueFrom } from 'rxjs'; +import { AppEvents } from '@grafana/data'; import { BackendSrvRequest } from '@grafana/runtime'; import { appEvents } from 'app/core/app_events'; +import { t } from 'app/core/internationalization'; import { getBackendSrv } from 'app/core/services/backend_srv'; import { saveDashboard } from 'app/features/manage-dashboards/state/actions'; import { DashboardMeta } from 'app/types'; @@ -92,23 +94,27 @@ export class DashboardSrv { starDashboard(dashboardId: string, isStarred: boolean) { const backendSrv = getBackendSrv(); - let promise; - if (isStarred) { - promise = backendSrv.delete('/api/user/stars/dashboard/' + dashboardId).then(() => { - return false; - }); - } else { - promise = backendSrv.post('/api/user/stars/dashboard/' + dashboardId).then(() => { - return true; - }); - } + const request = { + showSuccessAlert: false, + url: '/api/user/stars/dashboard/' + dashboardId, + method: isStarred ? 'DELETE' : 'POST', + }; - return promise.then((res: boolean) => { - if (this.dashboard && this.dashboard.id === dashboardId) { - this.dashboard.meta.isStarred = res; + return backendSrv.request(request).then(() => { + const newIsStarred = !isStarred; + + if (this.dashboard?.id === dashboardId) { + this.dashboard.meta.isStarred = newIsStarred; } - return res; + + const message = newIsStarred + ? t('notifications.starred-dashboard', 'Dashboard starred') + : t('notifications.unstarred-dashboard', 'Dashboard unstarred'); + + appEvents.emit(AppEvents.alertSuccess, [message]); + + return newIsStarred; }); } } diff --git a/public/locales/de-DE/grafana.json b/public/locales/de-DE/grafana.json index 02df8d71da9..3d974b4a744 100644 --- a/public/locales/de-DE/grafana.json +++ b/public/locales/de-DE/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "Das Neueste aus dem Blog" }, + "notifications": { + "starred-dashboard": "", + "unstarred-dashboard": "" + }, "panel": { "header-menu": { "hide-legend": "", diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json index d59f3850cf2..99188ce13ff 100644 --- a/public/locales/en-US/grafana.json +++ b/public/locales/en-US/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "Latest from the blog" }, + "notifications": { + "starred-dashboard": "Dashboard starred", + "unstarred-dashboard": "Dashboard unstarred" + }, "panel": { "header-menu": { "hide-legend": "Hide legend", diff --git a/public/locales/es-ES/grafana.json b/public/locales/es-ES/grafana.json index 3aef2967296..45a61832a48 100644 --- a/public/locales/es-ES/grafana.json +++ b/public/locales/es-ES/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "Últimas entradas del blog" }, + "notifications": { + "starred-dashboard": "", + "unstarred-dashboard": "" + }, "panel": { "header-menu": { "hide-legend": "", diff --git a/public/locales/fr-FR/grafana.json b/public/locales/fr-FR/grafana.json index f6d9d51910e..4a39449860f 100644 --- a/public/locales/fr-FR/grafana.json +++ b/public/locales/fr-FR/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "Dernières nouvelles sur le blog" }, + "notifications": { + "starred-dashboard": "", + "unstarred-dashboard": "" + }, "panel": { "header-menu": { "hide-legend": "", diff --git a/public/locales/pseudo-LOCALE/grafana.json b/public/locales/pseudo-LOCALE/grafana.json index 05a7d6ea8f3..abce1243e4c 100644 --- a/public/locales/pseudo-LOCALE/grafana.json +++ b/public/locales/pseudo-LOCALE/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "Ŀäŧęşŧ ƒřőm ŧĥę þľőģ" }, + "notifications": { + "starred-dashboard": "Đäşĥþőäřđ şŧäřřęđ", + "unstarred-dashboard": "Đäşĥþőäřđ ūʼnşŧäřřęđ" + }, "panel": { "header-menu": { "hide-legend": "Ħįđę ľęģęʼnđ", diff --git a/public/locales/zh-Hans/grafana.json b/public/locales/zh-Hans/grafana.json index c9ec58cdae6..87201688324 100644 --- a/public/locales/zh-Hans/grafana.json +++ b/public/locales/zh-Hans/grafana.json @@ -318,6 +318,10 @@ "news": { "title": "最新博客" }, + "notifications": { + "starred-dashboard": "", + "unstarred-dashboard": "" + }, "panel": { "header-menu": { "hide-legend": "",