Promote translation refs from alpha to stable entry points

Add each plugin and package translation ref to the corresponding stable
entry point, changing the JSDoc tag from @alpha to @public. The alpha
entry points now re-export with a @deprecated annotation so existing
consumers continue to work.

Affected packages: core-components, api-docs, catalog, catalog-graph,
catalog-import, catalog-react, home, home-react, kubernetes,
kubernetes-cluster, kubernetes-react, notifications, org, scaffolder,
scaffolder-react, search, search-react, user-settings.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
This commit is contained in:
Patrik Oldsberg
2026-03-17 13:02:06 +01:00
parent f60c2673ce
commit 0be2541b5c
92 changed files with 1171 additions and 67 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
```ts
import { TranslationRef } from '@backstage/frontend-plugin-api';
// @alpha (undocumented)
// @public @deprecated (undocumented)
export const kubernetesReactTranslationRef: TranslationRef<
'kubernetes-react',
{
+86
View File
@@ -34,6 +34,7 @@ import { Pod } from 'kubernetes-models/v1';
import { Pod as Pod_2 } from 'kubernetes-models/v1/Pod';
import { ProfileInfoApi } from '@backstage/core-plugin-api';
import { ReactNode } from 'react';
import { TranslationRef } from '@backstage/frontend-plugin-api';
import type { TypeMeta } from '@kubernetes-models/base';
import type { V1Job } from '@kubernetes/client-node';
import type { V1ObjectMeta } from '@kubernetes/client-node';
@@ -554,6 +555,91 @@ export class KubernetesProxyClient {
}>;
}
// @public (undocumented)
export const kubernetesReactTranslationRef: TranslationRef<
'kubernetes-react',
{
readonly 'namespace.label': 'namespace:';
readonly 'namespace.labelWithValue': 'namespace: {{namespace}}';
readonly 'events.noEventsFound': 'No events found';
readonly 'events.eventTooltip': '{{eventType}} event';
readonly 'events.firstEvent': 'First event {{timeAgo}} (count: {{count}})';
readonly 'cluster.label': 'Cluster';
readonly 'cluster.pods': 'pods';
readonly 'cluster.pods_one': '{{count}} pod';
readonly 'cluster.pods_other': '{{count}} pods';
readonly 'cluster.podsWithErrors': 'pods with errors';
readonly 'cluster.podsWithErrors_one': '{{count}} pod with errors';
readonly 'cluster.podsWithErrors_other': '{{count}} pods with errors';
readonly 'cluster.noPodsWithErrors': 'No pods with errors';
readonly 'pods.pods_one': '{{count}} pod';
readonly 'pods.pods_other': '{{count}} pods';
readonly 'podsTable.columns.name': 'name';
readonly 'podsTable.columns.id': 'ID';
readonly 'podsTable.columns.status': 'status';
readonly 'podsTable.columns.phase': 'phase';
readonly 'podsTable.columns.containersReady': 'containers ready';
readonly 'podsTable.columns.totalRestarts': 'total restarts';
readonly 'podsTable.columns.cpuUsage': 'CPU usage %';
readonly 'podsTable.columns.memoryUsage': 'Memory usage %';
readonly 'podsTable.unknown': 'unknown';
readonly 'podsTable.status.running': 'Running';
readonly 'podsTable.status.ok': 'OK';
readonly 'errorPanel.message': 'There was a problem retrieving some Kubernetes resources for the entity: {{entityName}}. This could mean that the Error Reporting card is not completely accurate.';
readonly 'errorPanel.title': 'There was a problem retrieving Kubernetes objects';
readonly 'errorPanel.errorsLabel': 'Errors';
readonly 'errorPanel.clusterLabel': 'Cluster';
readonly 'errorPanel.clusterLabelValue': 'Cluster: {{cluster}}';
readonly 'errorPanel.fetchError': 'Error communicating with Kubernetes: {{errorType}}, message: {{message}}';
readonly 'errorPanel.resourceError': "Error fetching Kubernetes resource: '{{resourcePath}}', error: {{errorType}}, status code: {{statusCode}}";
readonly 'fixDialog.title': '{{podName}} - {{errorType}}';
readonly 'fixDialog.events': 'Events:';
readonly 'fixDialog.helpButton': 'Help';
readonly 'fixDialog.detectedError': 'Detected error:';
readonly 'fixDialog.causeExplanation': 'Cause explanation:';
readonly 'fixDialog.fix': 'Fix:';
readonly 'fixDialog.crashLogs': 'Crash logs:';
readonly 'fixDialog.openDocs': 'Open docs';
readonly 'fixDialog.ariaLabels.close': 'close';
readonly 'fixDialog.ariaLabels.fixIssue': 'fix issue';
readonly 'podDrawer.buttons.delete': 'Delete Pod';
readonly 'podDrawer.cpuRequests': 'CPU requests';
readonly 'podDrawer.cpuLimits': 'CPU limits';
readonly 'podDrawer.memoryRequests': 'Memory requests';
readonly 'podDrawer.memoryLimits': 'Memory limits';
readonly 'podDrawer.resourceUtilization': 'Resource utilization';
readonly 'hpa.minReplicas': 'min replicas';
readonly 'hpa.maxReplicas': 'max replicas';
readonly 'hpa.replicasSummary': 'min replicas {{min}} / max replicas {{max}}';
readonly 'hpa.currentCpuUsage': 'current CPU usage:';
readonly 'hpa.currentCpuUsageLabel': 'current CPU usage: {{value}}%';
readonly 'hpa.targetCpuUsage': 'target CPU usage:';
readonly 'hpa.targetCpuUsageLabel': 'target CPU usage: {{value}}%';
readonly 'errorReporting.columns.name': 'name';
readonly 'errorReporting.columns.kind': 'kind';
readonly 'errorReporting.columns.namespace': 'namespace';
readonly 'errorReporting.columns.messages': 'messages';
readonly 'errorReporting.columns.cluster': 'cluster';
readonly 'errorReporting.title': 'Error Reporting';
readonly 'podLogs.title': 'No logs emitted';
readonly 'podLogs.description': 'No logs were emitted by the container';
readonly 'podLogs.buttonText': 'Logs';
readonly 'podLogs.titleTemplate': '{{podName}} - {{containerName}} logs on cluster {{clusterName}}';
readonly 'podLogs.buttonAriaLabel': 'get logs';
readonly 'podExecTerminal.buttonText': 'Terminal';
readonly 'podExecTerminal.titleTemplate': '{{podName}} - {{containerName}} terminal shell on cluster {{clusterName}}';
readonly 'podExecTerminal.buttonAriaLabel': 'open terminal';
readonly 'kubernetesDrawer.yaml': 'YAML';
readonly 'kubernetesDrawer.closeDrawer': 'Close the drawer';
readonly 'kubernetesDrawer.managedFields': 'Managed Fields';
readonly 'kubernetesDrawer.unknownName': 'unknown name';
readonly 'linkErrorPanel.message': "Could not format the link to the dashboard of your cluster named '{{clusterName}}'. Its dashboardApp property has been set to '{{dashboardApp}}.'";
readonly 'linkErrorPanel.title': 'There was a problem formatting the link to the Kubernetes dashboard';
readonly 'linkErrorPanel.errorsLabel': 'Errors:';
readonly 'kubernetesDialog.closeAriaLabel': 'close';
}
>;
// @public (undocumented)
export const KubernetesStructuredMetadataTableDrawer: <
T extends KubernetesDrawerable,
+6 -2
View File
@@ -14,6 +14,10 @@
* limitations under the License.
*/
import { kubernetesReactTranslationRef } from './translation';
import { kubernetesReactTranslationRef as _kubernetesReactTranslationRef } from './translation';
export { kubernetesReactTranslationRef };
/**
* @public
* @deprecated Import from `@backstage/plugin-kubernetes-react` instead.
*/
export const kubernetesReactTranslationRef = _kubernetesReactTranslationRef;
+1
View File
@@ -28,3 +28,4 @@ export * from './api';
export * from './kubernetes-auth-provider';
export * from './components';
export * from './types';
export { kubernetesReactTranslationRef } from './translation';
+1 -1
View File
@@ -16,7 +16,7 @@
import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
/** @alpha */
/** @public */
export const kubernetesReactTranslationRef = createTranslationRef({
id: 'kubernetes-react',
messages: {