Skip to content

Commit afd7a1e

Browse files
lokanandaprabhuHusneShabbir
andauthored
chore(i18n): refresh translations across plugins (#2617)
* chore(i18n): refresh plugin translations Update locale strings and e2e expectations across touched plugins. Made-with: Cursor * fix(lightspeed): add de/es Playwright upload fixtures Add locale-specific JSON fixtures for multiple-file upload e2e tests; de and es projects were missing upload1/upload2 pairs and failed with ENOENT. Made-with: Cursor --------- Co-authored-by: HusneShabbir <husneshabbir447@gmail.com>
1 parent 024d5a8 commit afd7a1e

34 files changed

Lines changed: 473 additions & 151 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@red-hat-developer-hub/backstage-plugin-adoption-insights': patch
3+
---
4+
5+
Update translations for Adoption Insights.

workspaces/adoption-insights/e2e-tests/insights.test.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import {
3232
switchToLocale,
3333
} from './utils/insightsHelpers';
3434
import { runAccessibilityTests } from './utils/accessibility.js';
35-
import { skipIfLocales } from './utils/localeSkip.js';
3635
import {
3736
InsightsMessages,
3837
getTranslations,
@@ -113,11 +112,6 @@ test('Select date range', async () => {
113112
});
114113

115114
test('Active users panel shows 1 visitor', async ({}, testInfo) => {
116-
skipIfLocales(
117-
testInfo,
118-
['de', 'es'],
119-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2791',
120-
);
121115
const panel = getPanel(page, translations.activeUsers.title);
122116
await expect(panel.locator('.recharts-surface')).toBeVisible();
123117
const averageTextContent = replaceTemplate(
@@ -217,11 +211,6 @@ test.describe(() => {
217211
});
218212

219213
test('Visited component shows up in top catalog entities', async ({}, testInfo) => {
220-
skipIfLocales(
221-
testInfo,
222-
['de', 'es'],
223-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2791',
224-
);
225214
const panel = getPanel(page, translations.catalogEntities.allTitle);
226215
await expect(panel).toContainText(translations.filter.selectKind);
227216
await panel.getByLabel(translations.filter.selectKind).click();
@@ -256,11 +245,6 @@ test.describe(() => {
256245
});
257246

258247
test('New data shows in searches', async ({}, testInfo) => {
259-
skipIfLocales(
260-
testInfo,
261-
['de', 'es'],
262-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2791',
263-
);
264248
const panel = getPanel(
265249
page,
266250
replaceTemplate(translations.searches.totalCount, { count: '1' }),

workspaces/adoption-insights/plugins/adoption-insights/src/translations/de.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ const adoptionInsightsTranslationDe = createTranslationMessages({
4242
'activeUsers.averagePrefix':
4343
'Die durchschnittliche maximale Anzahl aktiver Benutzer betrug',
4444
'activeUsers.averageText': '{{count}} pro {{period}}',
45+
'activeUsers.averageSuffix': ' für diesen Zeitraum.',
46+
'activeUsers.hour': 'Stunde',
4547
'activeUsers.day': 'Tag',
4648
'activeUsers.week': 'Woche',
4749
'activeUsers.month': 'Monat',
@@ -64,6 +66,8 @@ const adoptionInsightsTranslationDe = createTranslationMessages({
6466
'searches.averagePrefix':
6567
'Die durchschnittliche Anzahl der Suchanfragen betrug',
6668
'searches.averageText': '{{count}} pro {{period}}',
69+
'searches.averageSuffix': ' für diesen Zeitraum.',
70+
'searches.hour': 'Stunde',
6771
'searches.day': 'Tag',
6872
'searches.week': 'Woche',
6973
'searches.month': 'Monat',
@@ -73,6 +77,8 @@ const adoptionInsightsTranslationDe = createTranslationMessages({
7377
'users.licensed': 'Lizenziert',
7478
'users.licensedNotLoggedIn': 'Lizenziert (nicht angemeldet)',
7579
'users.ofTotal': 'von {{total}}',
80+
'users.tooltip':
81+
'Legen Sie die Anzahl der lizenzierten Benutzer in der app-config.yaml fest',
7682
'table.headers.name': 'Name',
7783
'table.headers.kind': 'Art',
7884
'table.headers.lastUsed': 'Zuletzt verwendet',
@@ -81,6 +87,8 @@ const adoptionInsightsTranslationDe = createTranslationMessages({
8187
'table.headers.trend': 'Trend',
8288
'table.headers.entity': 'Element',
8389
'table.pagination.topN': 'Wichtigste {{count}}',
90+
'filter.all': 'Alle',
91+
'filter.selectKind': 'Art auswählen',
8492
'common.noResults':
8593
'Für diesen Datumsbereich wurden keine Ergebnisse gefunden.',
8694
'common.readMore': 'Mehr lesen',

workspaces/adoption-insights/plugins/adoption-insights/src/translations/es.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ const adoptionInsightsTranslationEs = createTranslationMessages({
4242
'activeUsers.averagePrefix':
4343
'El promedio del número máximo de usuarios activos fue de',
4444
'activeUsers.averageText': '{{count}} por {{period}}',
45+
'activeUsers.averageSuffix': ' para este período.',
46+
'activeUsers.hour': 'hora',
4547
'activeUsers.day': 'día',
4648
'activeUsers.week': 'semana',
4749
'activeUsers.month': 'mes',
@@ -63,6 +65,8 @@ const adoptionInsightsTranslationEs = createTranslationMessages({
6365
'searches.totalCount': '{{count}} búsquedas',
6466
'searches.averagePrefix': 'El recuento promedio de búsquedas fue de',
6567
'searches.averageText': '{{count}} por {{period}}',
68+
'searches.averageSuffix': ' para este período.',
69+
'searches.hour': 'hora',
6670
'searches.day': 'día',
6771
'searches.week': 'semana',
6872
'searches.month': 'mes',
@@ -72,6 +76,8 @@ const adoptionInsightsTranslationEs = createTranslationMessages({
7276
'users.licensed': 'Con licencia',
7377
'users.licensedNotLoggedIn': 'Con licencia (no conectados)',
7478
'users.ofTotal': 'de {{total}}',
79+
'users.tooltip':
80+
'Establezca el número de usuarios con licencia en el archivo app-config.yaml',
7581
'table.headers.name': 'Nombre',
7682
'table.headers.kind': 'Tipo',
7783
'table.headers.lastUsed': 'Último uso',
@@ -80,6 +86,8 @@ const adoptionInsightsTranslationEs = createTranslationMessages({
8086
'table.headers.trend': 'Tendencia',
8187
'table.headers.entity': 'Entidad',
8288
'table.pagination.topN': '{{count}} principales',
89+
'filter.all': 'Todo',
90+
'filter.selectKind': 'Seleccionar tipo',
8391
'common.noResults': 'No hay resultados para este rango de fechas.',
8492
'common.readMore': 'Leer más',
8593
'common.exportCSV': 'Exportar CSV',
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@red-hat-developer-hub/backstage-plugin-bulk-import': patch
3+
---
4+
5+
Update translations for Bulk Import.

workspaces/bulk-import/e2e-tests/app.test.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import {
3333
PreviewSidebarSnapshotsType,
3434
} from './utils/ariaSnapshots';
3535
import { runAccessibilityTests, switchToLocale } from './utils/helpers';
36-
import { skipIfLocales } from './utils/localeSkip';
3736
import {
3837
BulkImportMessages,
3938
getSelectedRepositoriesHeading,
@@ -125,11 +124,6 @@ test.describe('Bulk Import', () => {
125124
test('should render bulk import page with source control options, search, and repositories table', async ({
126125
browser,
127126
}, testInfo: TestInfo) => {
128-
skipIfLocales(
129-
testInfo,
130-
['de', 'es'],
131-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2792',
132-
);
133127
const article = sharedPage.getByRole('article');
134128

135129
await expect(article).toMatchAriaSnapshot(`
@@ -190,11 +184,6 @@ test.describe('Bulk Import', () => {
190184
});
191185

192186
test('Verify preview sidebar', async ({ browser }, testInfo: TestInfo) => {
193-
skipIfLocales(
194-
testInfo,
195-
['de', 'es'],
196-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2792',
197-
);
198187
const backendServiceCheckbox = sharedPage
199188
.getByRole('rowheader', { name: 'backend-service' })
200189
.getByRole('checkbox');
@@ -249,11 +238,6 @@ test.describe('Bulk Import', () => {
249238
});
250239

251240
test('Verify Import flow', async ({}, testInfo) => {
252-
skipIfLocales(
253-
testInfo,
254-
['de', 'es'],
255-
'Missing translations in de/es - https://issues.redhat.com/browse/RHDHBUGS-2792',
256-
);
257241
const backendServiceCheckbox = sharedPage
258242
.getByRole('rowheader', { name: 'backend-service' })
259243
.getByRole('checkbox');

workspaces/bulk-import/plugins/bulk-import/src/translations/de.ts

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,50 @@ const bulkImportTranslationDe = createTranslationMessages({
3737
'permissions.title': 'Berechtigung erforderlich',
3838
'permissions.addRepositoriesMessage':
3939
"Zum Hinzufügen von Repositorys wenden Sie sich an den Administrator, um die Berechtigung 'bulk.import' zu erhalten.",
40+
'permissions.viewRepositoriesMessage':
41+
"Zum Anzeigen der hinzugefügten Repositorys wenden Sie sich an den Administrator, um die Berechtigung 'bulk.import' zu erhalten.",
42+
'repositories.addedRepositories': 'Hinzugefügte Repositorys',
43+
'repositories.importedEntities': 'Importierte Elemente',
44+
'repositories.addedRepositoriesCount':
45+
'Hinzugefügte Repositorys ({{count}})',
46+
'repositories.importedEntitiesCount': 'Importierte Elemente ({{count}})',
47+
'repositories.noRecordsFound':
48+
'Keine Repositorys zum Importieren verfügbar.',
49+
'repositories.noProjectsFound': 'Keine Projekte zum Importieren verfügbar.',
50+
'repositories.refresh': 'Aktualisieren',
51+
'repositories.import': 'Importieren',
52+
'repositories.removing': 'Wird entfernt...',
53+
'repositories.deleteRepository': 'Repository löschen',
54+
'repositories.removeRepositoryQuestion':
55+
'{{repoName}} {{repositoryText}} entfernen?',
56+
'repositories.repositoryText': 'Repository',
57+
'repositories.removeRepositoryWarningScaffolder':
58+
'Durch das Entfernen eines Repositorys werden auch alle zugehörigen Scaffolder-Aufgabeninformationen entfernt.',
59+
'repositories.removeRepositoryWarningOrchestrator':
60+
'Repository und zugehörige Orchestrator-Workflow-Informationen löschen.',
61+
'repositories.removeRepositoryWarning':
62+
'Durch das Entfernen eines Repositorys werden alle zugehörigen Informationen von der Katalogseite gelöscht.',
63+
'repositories.removeRepositoryWarningGitlab':
64+
'Durch das Entfernen werden alle zugehörigen Informationen von der Katalogseite gelöscht.',
65+
'repositories.cannotRemoveRepositoryUrl':
66+
'Repository kann nicht entfernt werden, da die Repository-URL fehlt.',
67+
'repositories.unableToRemoveRepository':
68+
'Repository konnte nicht entfernt werden. {{error}}',
69+
'repositories.removeTooltipDisabled':
70+
'Dieses Repository wurde der app-config-Datei hinzugefügt. Zum Entfernen bearbeiten Sie die Datei direkt',
71+
'repositories.removeTooltipRepositoryScaffolder':
72+
'Repository und zugehörige Scaffolder-Aufgabeninformationen löschen',
73+
'repositories.removeTooltipRepositoryOrchestrator':
74+
'Repository und zugehörige Orchestrator-Workflow-Informationen löschen',
75+
'repositories.errorOccuredWhileFetching':
76+
'Fehler beim Abrufen der Pull-Anforderung',
77+
'repositories.failedToCreatePullRequest':
78+
'Pull-Anforderung konnte nicht erstellt werden',
79+
'repositories.errorOccured': 'Fehler aufgetreten',
80+
'repositories.editCatalogInfoTooltip':
81+
'catalog-info.yaml Pull-Anforderung bearbeiten',
82+
'repositories.viewCatalogInfoTooltip': 'catalog-info.yaml Datei anzeigen',
83+
'repositories.pr': 'PR',
4084
'status.alreadyImported': 'Bereits importiert',
4185
'status.added': 'Hinzugefügt',
4286
'status.waitingForApproval': 'Warten auf Genehmigung',
@@ -51,6 +95,28 @@ const bulkImportTranslationDe = createTranslationMessages({
5195
'Aufgrund unzureichender Berechtigungen konnte keine neue Pull-Anforderung erstellt werden. Wenden Sie sich an den Administrator.',
5296
'errors.catalogInfoExists':
5397
"Da 'catalog-info.yaml' bereits im Repository existiert, wird keine neue Pull-Anforderung erstellt. Das Element wird jedoch weiterhin auf der Katalogseite registriert sein.",
98+
'errors.catalogEntityConflict':
99+
'Konnte keine neue Pull-Anforderung erstellen, da ein Konflikt mit der Katalogentität besteht.',
100+
'errors.repoEmpty':
101+
'Konnte keine neue Pull-Anforderung erstellen, da das Repository leer ist. Pushen Sie einen ersten Commit in das Repository.',
102+
'errors.codeOwnersNotFound':
103+
'CODEOWNERS-Datei fehlt im Repository. Fügen Sie eine CODEOWNERS-Datei hinzu, um eine neue Pull-Anforderung zu erstellen.',
104+
'errors.errorOccurred': 'Fehler aufgetreten',
105+
'errors.failedToCreatePullRequest':
106+
'Pull-Anforderung konnte nicht erstellt werden',
107+
'errors.noIntegrationsConfigured':
108+
'Keine GitHub- oder GitLab-Integrationen konfiguriert. Fügen Sie mindestens eine Integration hinzu, um die Massenimport-Funktion zu verwenden.',
109+
'errors.addIntegrationsToConfig':
110+
'Um dieses Problem zu beheben, stellen Sie sicher, dass die Integrationen in Ihrer Backstage-Konfigurationsdatei (app-config.yaml) hinzugefügt sind.',
111+
'validation.componentNameInvalid':
112+
'"{{value}}" ist ungültig; erwartet wird eine Zeichenfolge mit Sequenzen aus [a-zA-Z0-9], getrennt durch eines der Zeichen [-_.], insgesamt maximal 63 Zeichen. Weitere Informationen zum Katalogdateiformat: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md',
113+
'validation.componentNameRequired': 'Komponentenname ist erforderlich',
114+
'validation.entityOwnerRequired': 'Entitätseigentümer ist erforderlich',
115+
'validation.titleRequired': '{{approvalTool}}-Titel ist erforderlich',
116+
'validation.descriptionRequired':
117+
'{{approvalTool}}-Beschreibung ist erforderlich',
118+
'validation.keyValuePairFormat':
119+
'Jeder Eintrag muss einen Schlüssel und einen Wert haben, getrennt durch einen Doppelpunkt.',
54120
'table.headers.name': 'Name',
55121
'table.headers.url': 'URL',
56122
'table.headers.repoUrl': 'Repository-URL',
@@ -84,6 +150,7 @@ const bulkImportTranslationDe = createTranslationMessages({
84150
'Wählen Sie ein Quellcodeverwaltungstool für die Erstellung von Pull-Anforderungen aus',
85151
'addRepositories.approvalTool.tooltip':
86152
'Zum Importieren ist eine Genehmigung erforderlich. Nach Genehmigung der Pull-Anforderung werden die Repositorys in die Katalogseite importiert.',
153+
'addRepositories.approvalTool.github': 'GitHub',
87154
'addRepositories.approvalTool.gitlab': 'GitLab',
88155
'addRepositories.repositoryType.title': 'Repository-Typ',
89156
'addRepositories.repositoryType.repository': 'Repository',
@@ -133,12 +200,15 @@ const bulkImportTranslationDe = createTranslationMessages({
133200
'Fehler beim Abrufen der Pull-Anforderung. Unten wurde eine neue YAML-Datei generiert.',
134201
'previewFile.invalidEntityYaml':
135202
"Die YAML-Datei des Elements in Ihrer Pull-Anforderung ist ungültig (leere Datei oder fehlende Werte für 'apiVersion', 'kind' oder 'metadata.name'). Unten wurde eine neue YAML-Datei generiert.",
203+
'previewFile.pullRequestPendingApproval':
204+
'Die [{{pullRequestText}}]({{pullRequestUrl}}) wartet auf Genehmigung',
136205
'previewFile.pullRequestText': 'Pull-Anforderung',
137206
'previewFile.viewRepository': 'Repository anzeigen',
138207
'previewFile.closeDrawer': 'Drawer schließen',
139208
'previewFile.keyValuePlaceholder': 'Schlüssel1: Wert2; Schlüssel2: Wert2',
140209
'previewFile.useSemicolonSeparator':
141210
'Verwenden Sie ein Semikolon zum Trennen von {{label}}',
211+
'previewFile.preview': 'Vorschau',
142212
'previewFile.pullRequest.title': 'Pull-Anforderung',
143213
'previewFile.pullRequest.mergeRequest': 'Merge-Anforderung',
144214
'previewFile.pullRequest.serviceNowTicket': 'ServiceNow-Ticket',
@@ -180,6 +250,7 @@ const bulkImportTranslationDe = createTranslationMessages({
180250
'forms.footer.pullRequestTooltip':
181251
"Die 'catalog-info.yaml'-Dateien müssen vor der Erstellung einer Pull-Anforderung generiert werden.",
182252
'tasks.tasksFor': 'Aufgaben für {{importJobStatusId}}',
253+
'tasks.taskId': 'Aufgaben-ID',
183254
'tasks.taskLink': 'Aufgabenverknüpfung',
184255
'tasks.viewTask': 'Aufgabe anzeigen',
185256
'tasks.taskCancelled': 'Abgebrochen',
@@ -189,6 +260,7 @@ const bulkImportTranslationDe = createTranslationMessages({
189260
'tasks.taskProcessing': 'In Verarbeitung',
190261
'tasks.taskSkipped': 'Übersprungen',
191262
'workflows.workflowsFor': 'Workflows für {{importJobStatusId}}',
263+
'workflows.workflowId': 'Workflow-ID',
192264
'workflows.workflowLink': 'Workflow-Verknüpfung',
193265
'workflows.viewWorkflow': 'Workflow anzeigen',
194266
'workflows.workflowPending': 'Ausstehend',

0 commit comments

Comments
 (0)