The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/public/app/core/utils/navBarItem-translations.ts

325 lines
15 KiB

import { t } from '@grafana/i18n/internal';
import { config } from '@grafana/runtime';
// Maps the ID of the nav item to a translated phrase to later pass to <Trans />
// Because the navigation content is dynamic (defined in the backend), we can not use
// the normal inline message definition method.
// see pkg/api/index.go
export function getNavTitle(navId: string | undefined) {
// the switch cases must match the ID of the navigation item, as defined in the backend nav model
switch (navId) {
case 'home':
return t('nav.home.title', 'Home');
case 'home-setup-guide':
return t('nav.setup-guide.title', 'Setup guide');
case 'new':
return t('nav.new.title', 'New');
case 'create':
return t('nav.create.title', 'Create');
case 'create-dashboard':
return t('nav.create-dashboard.title', 'Dashboard');
case 'folder':
return t('nav.create-folder.title', 'Folder');
case 'import':
return t('nav.create-import.title', 'Import dashboard');
case 'alert':
return t('nav.create-alert.title', 'New alert rule');
case 'bookmarks':
return t('nav.bookmarks.title', 'Bookmarks');
case 'bookmarks-empty':
return t('nav.bookmarks-empty.title', 'Bookmark pages for them to appear here');
case 'starred':
return t('nav.starred.title', 'Starred');
case 'starred-empty':
return t('nav.starred-empty.title', 'Your starred dashboards will appear here');
case 'dashboards':
return t('nav.dashboards.title', 'Dashboards');
case 'dashboards/browse':
return t('nav.dashboards.title', 'Dashboards');
case 'dashboards/playlists':
return t('nav.playlists.title', 'Playlists');
case 'dashboards/snapshots':
return t('nav.snapshots.title', 'Snapshots');
case 'dashboards/library-panels':
return t('nav.library-panels.title', 'Library panels');
case 'reports':
return t('nav.reporting.title', 'Reporting');
case 'dashboards/public':
return config.featureToggles.newDashboardSharingComponent
? t('nav.shared-dashboard.title', 'Shared dashboards')
: t('nav.public.title', 'Public dashboards');
case 'dashboards/recently-deleted':
return t('nav.recently-deleted.title', 'Recently deleted');
case 'dashboards/new':
return t('nav.new-dashboard.title', 'New dashboard');
case 'dashboards/folder/new':
return t('nav.new-folder.title', 'New folder');
case 'dashboards/import':
return t('nav.create-import.title', 'Import dashboard');
case 'scenes':
return t('nav.scenes.title', 'Scenes');
case 'explore':
return t('nav.explore.title', 'Explore');
case 'drilldown':
return t('nav.drilldown.title', 'Drilldown');
case 'alerting':
return t('nav.alerting.title', 'Alerting');
case 'plugin-page-grafana-oncall-app':
return t('nav.oncall.title', 'OnCall');
case 'alerting-legacy':
return t('nav.alerting-legacy.title', 'Alerting (legacy)');
case 'alerting-upgrade':
return t('nav.alerting-upgrade.title', 'Alerting upgrade');
case 'alert-home':
return t('nav.alerting-home.title', 'Home');
case 'alert-list':
return t('nav.alerting-list.title', 'Alert rules');
case 'alert-list-legacy':
return t('nav.alert-list-legacy.title', 'Alert rules');
case 'receivers':
return t('nav.alerting-receivers.title', 'Contact points');
case 'am-routes':
return t('nav.alerting-am-routes.title', 'Notification policies');
case 'channels':
return t('nav.alerting-channels.title', 'Notification channels');
case 'silences':
return t('nav.alerting-silences.title', 'Silences');
case 'groups':
return t('nav.alerting-groups.title', 'Active notifications');
case 'alerting-admin':
return t('nav.alerting-admin.title', 'Settings');
case 'alerts/recently-deleted':
return t('nav.alerts-recently-deleted.title', 'Recently deleted');
case 'cfg':
return t('nav.config.title', 'Administration');
case 'cfg/general':
return t('nav.config-general.title', 'General');
case 'cfg/plugins':
return t('nav.config-plugins.title', 'Plugins and data');
case 'cfg/access':
return t('nav.config-access.title', 'Users and access');
case 'datasources':
return t('nav.datasources.title', 'Data sources');
case 'authentication':
return t('nav.authentication.title', 'Authentication');
case 'licensing':
return t('nav.statistics-and-licensing.title', 'Statistics and licensing');
case 'recordedQueries':
return t('nav.recorded-queries.title', 'Recorded queries');
case 'correlations':
return t('nav.correlations.title', 'Correlations');
case 'users':
return t('nav.users.title', 'Users');
case 'teams':
return t('nav.teams.title', 'Teams');
case 'plugins':
return t('nav.plugins.title', 'Plugins');
case 'org-settings':
return t('nav.org-settings.title', 'Default preferences');
case 'apikeys':
return t('nav.api-keys.title', 'API keys');
case 'serviceaccounts':
return t('nav.service-accounts.title', 'Service accounts');
case 'admin':
return t('nav.admin.title', 'Server admin');
case 'support-bundles':
return t('nav.support-bundles.title', 'Support bundles');
case 'global-users':
return t('nav.global-users.title', 'Users');
case 'global-orgs':
return t('nav.global-orgs.title', 'Organizations');
case 'server-settings':
return t('nav.server-settings.title', 'Settings');
case 'storage':
return t('nav.storage.title', 'Storage');
case 'migrate-to-cloud':
return t('nav.migrate-to-cloud.title', 'Migrate to Grafana Cloud');
case 'upgrading':
return t('nav.upgrading.title', 'Stats and license');
case 'monitoring':
return t('nav.monitoring.title', 'Observability');
case 'infrastructure':
return t('nav.infrastructure.title', 'Infrastructure');
case 'frontend':
return t('nav.frontend.title', 'Frontend');
case 'apps':
return t('nav.apps.title', 'More apps');
case 'alerts-and-incidents':
return t('nav.alerts-and-incidents.title', 'Alerts & IRM');
case 'testing-and-synthetics':
return t('nav.testing-and-synthetics.title', 'Testing & synthetics');
case 'plugin-page-grafana-incident-app':
return t('nav.incidents.title', 'Incident');
case 'plugin-page-grafana-ml-app':
return t('nav.machine-learning.title', 'Machine learning');
case 'plugin-page-grafana-slo-app':
return t('nav.slo.title', 'SLO');
case 'plugin-page-k6-app':
return t('nav.k6.title', 'Performance');
case 'plugin-page-grafana-k8s-app':
return t('nav.kubernetes.title', 'Kubernetes');
case 'plugin-page-grafana-dbo11y-app':
return t('nav.databases.title', 'Databases');
case 'plugin-page-grafana-app-observability-app':
return t('nav.application.title', 'Application');
case 'plugin-page-grafana-pyroscope-app':
return t('nav.profiles.title', 'Profiles');
case 'plugin-page-grafana-kowalski-app':
return t('nav.frontend-app.title', 'Frontend');
case 'plugin-page-grafana-synthetic-monitoring-app':
return t('nav.synthetics.title', 'Synthetics');
case 'help':
return t('nav.help.title', 'Help');
case 'profile/settings':
return t('nav.profile/settings.title', 'Profile');
case 'profile/notifications':
return t('nav.profile/notifications.title', 'Notification history');
case 'profile/password':
return t('nav.profile/password.title', 'Change password');
case 'sign-out':
return t('nav.sign-out.title', 'Sign out');
case 'search':
return t('nav.search-dashboards.title', 'Search dashboards');
case 'connections':
return t('nav.connections.title', 'Connections');
case 'connections-add-new-connection':
return t('nav.add-new-connections.title', 'Add new connection');
case 'standalone-plugin-page-/connections/collector':
return t('nav.collector.title', 'Collector');
case 'connections-datasources':
return t('nav.data-sources.title', 'Data sources');
case 'standalone-plugin-page-/connections/infrastructure':
return t('nav.integrations.title', 'Integrations');
case 'standalone-plugin-page-/connections/connect-data':
return t('nav.connect-data.title', 'Connect data');
case 'standalone-plugin-page-/connections/private-data-source-connections':
return t('nav.private-data-source-connections.title', 'Private data source connect');
case 'plugin-page-grafana-detect-app':
return t('nav.detect.title', 'Detect');
case 'plugin-page-grafana-quaderno-app':
return t('nav.grafana-quaderno.title', 'Grafana Quaderno');
default:
return undefined;
}
}
export function getNavSubTitle(navId: string | undefined) {
switch (navId) {
case 'dashboards':
return t('nav.dashboards.subtitle', 'Create and manage dashboards to visualize your data');
case 'dashboards/browse':
return t('nav.dashboards.subtitle', 'Create and manage dashboards to visualize your data');
case 'manage-folder':
return t('nav.manage-folder.subtitle', 'Manage folder dashboards and permissions');
case 'dashboards/playlists':
return t('nav.playlists.subtitle', 'Groups of dashboards that are displayed in a sequence');
case 'dashboards/snapshots':
return t(
'nav.snapshots.subtitle',
'Interactive, publically available, point-in-time representations of dashboards and panels'
);
case 'dashboards/public':
return config.featureToggles.newDashboardSharingComponent
? t('nav.shared-dashboard.subtitle', "Manage your organization's externally shared dashboards")
: undefined;
case 'dashboards/library-panels':
return t('nav.library-panels.subtitle', 'Reusable panels that can be added to multiple dashboards');
case 'dashboards/recently-deleted':
return t(
'nav.recently-deleted.subtitle',
'Any items listed here for more than 30 days will be automatically deleted.'
);
case 'alerting':
return t('nav.alerting.subtitle', 'Learn about problems in your systems moments after they occur');
case 'alerting-upgrade':
return t(
'nav.alerting-upgrade.subtitle',
'Upgrade your existing legacy alerts and notification channels to the new Grafana Alerting'
);
case 'alerting-admin':
return t(
'nav.alerting-admin.subtitle',
'Manage Alertmanager configurations and enable receiving Grafana-managed alerts'
);
case 'alert-list':
return t('nav.alerting-list.subtitle', 'Rules that determine whether an alert will fire');
case 'receivers':
return t(
'nav.alerting-receivers.subtitle',
'Choose how to notify your contact points when an alert instance fires'
);
case 'am-routes':
return t('nav.alerting-am-routes.subtitle', 'Determine how alerts are routed to contact points');
case 'silences':
return t('nav.alerting-silences.subtitle', 'Stop notifications from one or more alerting rules');
case 'groups':
return t('nav.alerting-groups.subtitle', 'See grouped alerts with active notifications');
case 'alerts/recently-deleted':
return t('nav.alerts-recently-deleted.subtitle', 'See recently deleted alert rules');
case 'datasources':
return t('nav.datasources.subtitle', 'Add and configure data sources');
case 'correlations':
return t('nav.correlations.subtitle', 'Add and configure correlations');
case 'users':
return t('nav.users.subtitle', 'Invite and assign roles to users');
case 'teams':
return t('nav.teams.subtitle', 'Groups of users that have common dashboard and permission needs');
case 'plugins':
return t('nav.plugins.subtitle', 'Extend the Grafana experience with plugins');
case 'org-settings':
return t('nav.org-settings.subtitle', 'Manage preferences across an organization');
case 'apikeys':
return t('nav.api-keys.subtitle', 'Manage and create API keys that are used to interact with Grafana HTTP APIs');
case 'serviceaccounts':
return t('nav.service-accounts.subtitle', 'Use service accounts to run automated workloads in Grafana');
case 'groupsync':
return t('nav.groupsync.subtitle', 'Manage mappings of Identity Provider groups to Grafana Roles');
case 'global-users':
return t('nav.global-users.subtitle', 'Manage users in Grafana');
case 'global-orgs':
return t('nav.global-orgs.subtitle', 'Isolated instances of Grafana running on the same server');
case 'server-settings':
return t('nav.server-settings.subtitle', 'View the settings defined in your Grafana config');
case 'storage':
return t('nav.storage.subtitle', 'Manage file storage');
case 'migrate-to-cloud':
return t('nav.migrate-to-cloud.subtitle', 'Copy resources from your self-managed installation to a cloud stack');
case 'support-bundles':
return t('nav.support-bundles.subtitle', 'Download support bundles');
case 'admin':
return t(
'nav.admin.subtitle',
'Manage server-wide settings and access to resources such as organizations, users, and licenses'
);
case 'cfg/general':
return t('nav.config-general.subtitle', 'Manage default preferences and settings across Grafana');
case 'cfg/plugins':
return t('nav.config-plugins.subtitle', 'Install plugins and define the relationships between data');
case 'cfg/access':
return t('nav.config-access.subtitle', 'Configure access for individual users, teams, and service accounts');
case 'apps':
return t('nav.apps.subtitle', 'App plugins that extend the Grafana experience');
case 'monitoring':
return t('nav.monitoring.subtitle', 'Out-of-the-box observability solutions');
case 'infrastructure':
return t('nav.infrastructure.subtitle', "Understand your infrastructure's health");
case 'frontend':
return t('nav.frontend.subtitle', 'Gain real user monitoring insights');
case 'alerts-and-incidents':
return t('nav.alerts-and-incidents.subtitle', 'Alerting and incident management apps');
case 'testing-and-synthetics':
return t('nav.testing-and-synthetics.subtitle', 'Optimize performance with k6 and Synthetic Monitoring insights');
case 'connections-add-new-connection':
return t('nav.connections.subtitle', 'Browse and create new connections');
case 'connections-datasources':
return t('nav.data-sources.subtitle', 'View and manage your connected data source connections');
case 'connections-private-data-source-connections':
return t(
'nav.private-data-source-connections.subtitle',
'Query data that lives within a secured network without opening the network to inbound traffic from Grafana Cloud. Learn more in our docs.'
);
default:
return undefined;
}
}