diff --git a/e2e-tests/playwright/e2e/localization/locale.ts b/e2e-tests/playwright/e2e/localization/locale.ts
index 3c712810dd..856cc4b01f 100644
--- a/e2e-tests/playwright/e2e/localization/locale.ts
+++ b/e2e-tests/playwright/e2e/localization/locale.ts
@@ -1,14 +1,12 @@
-import frRhdh from "../../../../translations/rhdh_v1.8_s3281-fr-C.json" with { type: "json" };
-import frCorePlugins from "../../../../translations/core-plugins_v1.8_s3281-fr-C.json" with { type: "json" };
-import frCommunityPlugins from "../../../../translations/community-plugins_v1.8_s3281-fr-C.json" with { type: "json" };
-import frRhdhPlugins from "../../../../translations/rhdh-plugins__v1.8_s3281-fr-C.json" with { type: "json" };
+import frRhdh from "../../../../translations/rhdh-reference-2025-12-05-fr-C.json" with { type: "json" };
+import frCommunityPlugins from "../../../../translations/community-plugins-reference-2025-12-05-fr-C.json" with { type: "json" };
+import frRhdhPlugins from "../../../../translations/rhdh-plugins-reference-2025-12-05-fr-C.json" with { type: "json" };
import frMissingTranslations from "../../../../translations/test/missing-fr-translations.json" with { type: "json" };
import en from "../../../../translations/test/all-v1.8_s3281-en.json" with { type: "json" };
const fr = {
...frRhdh,
- ...frCorePlugins,
...frCommunityPlugins,
...frRhdhPlugins,
...frMissingTranslations,
diff --git a/e2e-tests/playwright/utils/accessibility.ts b/e2e-tests/playwright/utils/accessibility.ts
index 1ae7d7e694..3230454dcd 100644
--- a/e2e-tests/playwright/utils/accessibility.ts
+++ b/e2e-tests/playwright/utils/accessibility.ts
@@ -6,7 +6,10 @@ export async function runAccessibilityTests(
testInfo: TestInfo,
attachName = "accessibility-scan-results.violations.json",
) {
- const accessibilityScanResults = await new AxeBuilder({ page })
+ // Type mismatch between Playwright's Page and AxeBuilder's expected type
+ const accessibilityScanResults = await new AxeBuilder({ page } as unknown as {
+ page: typeof page;
+ })
.withTags(["wcag2a", "wcag2aa", "wcag21a", "wcag21aa"])
.disableRules(["color-contrast"])
.analyze();
diff --git a/packages/app/package.json b/packages/app/package.json
index 4d1c27bf80..7228692b6b 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -71,6 +71,7 @@
"@types/node": "22.19.1",
"@types/react": "18.3.27",
"@types/react-dom": "18.3.7",
+ "eslint-plugin-unused-imports": "^4.1.4",
"prettier": "3.7.4",
"typescript": "5.9.3"
},
diff --git a/packages/app/src/components/catalog/translations/catalog.ts b/packages/app/src/components/catalog/translations/catalog.ts
index 6475233edd..d93f8e846c 100644
--- a/packages/app/src/components/catalog/translations/catalog.ts
+++ b/packages/app/src/components/catalog/translations/catalog.ts
@@ -5,5 +5,8 @@ export const catalogTranslations = createTranslationResource({
ref: catalogTranslationRef,
translations: {
en: () => import('./catalog-en'),
+ fr: () => import('./fr'),
+ it: () => import('./it'),
+ ja: () => import('./ja'),
},
});
diff --git a/packages/app/src/components/catalog/translations/fr.ts b/packages/app/src/components/catalog/translations/fr.ts
new file mode 100644
index 0000000000..d5f89941ae
--- /dev/null
+++ b/packages/app/src/components/catalog/translations/fr.ts
@@ -0,0 +1,120 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogTranslationRef } from '@backstage/plugin-catalog/alpha';
+
+export default createTranslationMessages({
+ ref: catalogTranslationRef,
+ full: false,
+ messages: {
+ 'indexPage.createButtonTitle': 'Self-service',
+ 'indexPage.title': 'Catalogue {{orgName}}',
+ 'indexPage.supportButtonContent':
+ 'Toutes les entités de votre catalogue de logiciels',
+ 'aboutCard.title': 'À propos',
+ 'aboutCard.refreshButtonTitle':
+ "Actualisation de l'entité de planification",
+ 'aboutCard.editButtonTitle': 'Modifier les métadonnées',
+ 'aboutCard.createSimilarButtonTitle': 'Créer quelque chose de similaire',
+ 'aboutCard.refreshScheduledMessage': 'Actualisation programmée',
+ 'aboutCard.launchTemplate': 'Modèle de lancement',
+ 'aboutCard.viewTechdocs': 'Voir TechDocs',
+ 'aboutCard.viewSource': 'Voir la source',
+ 'aboutCard.descriptionField.label': 'Description',
+ 'aboutCard.descriptionField.value': 'Aucune description',
+ 'aboutCard.ownerField.label': 'Propriétaire',
+ 'aboutCard.ownerField.value': 'Pas de propriétaire',
+ 'aboutCard.domainField.label': 'Domaine',
+ 'aboutCard.domainField.value': 'Pas de domaine',
+ 'aboutCard.systemField.label': 'Système',
+ 'aboutCard.systemField.value': 'Pas de système',
+ 'aboutCard.parentComponentField.label': 'Composant parent',
+ 'aboutCard.parentComponentField.value': 'Aucun composant parent',
+ 'aboutCard.typeField.label': 'Taper',
+ 'aboutCard.lifecycleField.label': 'Cycle de vie',
+ 'aboutCard.tagsField.label': 'Mots-clés',
+ 'aboutCard.tagsField.value': 'Aucune balise',
+ 'aboutCard.targetsField.label': 'Cibles',
+ 'searchResultItem.lifecycle': 'Cycle de vie',
+ 'searchResultItem.Owner': 'Propriétaire',
+ 'catalogTable.warningPanelTitle':
+ 'Impossible de récupérer les entités du catalogue.',
+ 'catalogTable.viewActionTitle': 'Voir',
+ 'catalogTable.editActionTitle': 'Modifier',
+ 'catalogTable.starActionTitle': 'Ajouter aux favoris',
+ 'catalogTable.unStarActionTitle': 'Supprimer des favoris',
+ 'dependencyOfComponentsCard.title': 'Dépendance des composants',
+ 'dependencyOfComponentsCard.emptyMessage':
+ 'Aucun composant ne dépend de ce composant',
+ 'dependsOnComponentsCard.title': 'Cela dépend des composants',
+ 'dependsOnComponentsCard.emptyMessage':
+ "Aucun composant n'est une dépendance de ce composant",
+ 'dependsOnResourcesCard.title': 'Cela dépend des ressources',
+ 'dependsOnResourcesCard.emptyMessage':
+ "Aucune ressource n'est une dépendance de ce composant",
+ 'entityContextMenu.copiedMessage': 'Copié!',
+ 'entityContextMenu.moreButtonTitle': 'Plus',
+ 'entityContextMenu.inspectMenuTitle': "Inspecter l'entité",
+ 'entityContextMenu.copyURLMenuTitle': "Copier l'URL de l'entité",
+ 'entityContextMenu.unregisterMenuTitle': "Désenregistrer l'entité",
+ 'entityLabelsCard.title': 'Étiquettes',
+ 'entityLabelsCard.emptyDescription':
+ "Aucune étiquette définie pour cette entité. Vous pouvez ajouter des étiquettes à votre entité YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ 'entityLabelsCard.readMoreButtonTitle': 'En savoir plus',
+ 'entityLabels.warningPanelTitle': 'Entité non trouvée',
+ 'entityLabels.ownerLabel': 'Propriétaire',
+ 'entityLabels.lifecycleLabel': 'Cycle de vie',
+ 'entityLinksCard.title': 'Links',
+ 'entityLinksCard.emptyDescription':
+ "Aucun lien défini pour cette entité. Vous pouvez ajouter des liens vers votre entité YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ 'entityLinksCard.readMoreButtonTitle': 'En savoir plus',
+ 'entityNotFound.title': "L'entité n'a pas été trouvée",
+ 'entityNotFound.description':
+ 'Vous voulez nous aider à construire cela ? Consultez notre documentation de mise en route.',
+ 'entityNotFound.docButtonTitle': 'DOCUMENTS',
+ 'deleteEntity.dialogTitle':
+ 'Êtes-vous sûr de vouloir supprimer cette entité ?',
+ 'deleteEntity.deleteButtonTitle': 'Supprimer',
+ 'deleteEntity.cancelButtonTitle': 'Annuler',
+ 'deleteEntity.description':
+ "Cette entité n'est référencée par aucun emplacement et ne reçoit donc pas de mises à jour. Cliquez ici pour supprimer.",
+ entityProcessingErrorsDescription: "L'erreur ci-dessous provient de",
+ entityRelationWarningDescription:
+ "Cette entité a des relations avec d'autres entités, qui ne peuvent pas être trouvées dans le catalogue. Les entités non trouvées sont : ",
+ 'hasComponentsCard.title': 'Contient des composants',
+ 'hasComponentsCard.emptyMessage':
+ 'Aucun composant ne fait partie de ce système',
+ 'hasResourcesCard.title': 'Dispose de ressources',
+ 'hasResourcesCard.emptyMessage':
+ 'Aucune ressource ne fait partie de ce système',
+ 'hasSubcomponentsCard.title': 'A des sous-composants',
+ 'hasSubcomponentsCard.emptyMessage':
+ 'Aucun sous-composant ne fait partie de ce composant',
+ 'hasSubdomainsCard.title': 'A des sous-domaines',
+ 'hasSubdomainsCard.emptyMessage':
+ 'Aucun sous-domaine ne fait partie de ce domaine',
+ 'hasSystemsCard.title': 'A des systèmes',
+ 'hasSystemsCard.emptyMessage': 'Aucun système ne fait partie de ce domaine',
+ 'relatedEntitiesCard.emptyHelpLinkTitle': 'Apprenez à changer cela',
+ 'systemDiagramCard.title': 'Diagramme du système',
+ 'systemDiagramCard.description':
+ 'Utilisez le pincement et le zoom pour vous déplacer dans le diagramme.',
+ 'systemDiagramCard.edgeLabels.partOf': 'une partie de',
+ 'systemDiagramCard.edgeLabels.provides': 'fournit',
+ 'systemDiagramCard.edgeLabels.dependsOn': 'dépend de',
+ },
+});
diff --git a/packages/app/src/components/catalog/translations/it.ts b/packages/app/src/components/catalog/translations/it.ts
new file mode 100644
index 0000000000..e095715e79
--- /dev/null
+++ b/packages/app/src/components/catalog/translations/it.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogTranslationRef } from '@backstage/plugin-catalog/alpha';
+
+export default createTranslationMessages({
+ ref: catalogTranslationRef,
+ full: false,
+ messages: {
+ 'indexPage.createButtonTitle': 'Self-service',
+ },
+});
diff --git a/packages/app/src/components/catalog/translations/ja.ts b/packages/app/src/components/catalog/translations/ja.ts
new file mode 100644
index 0000000000..82b33b1d07
--- /dev/null
+++ b/packages/app/src/components/catalog/translations/ja.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogTranslationRef } from '@backstage/plugin-catalog/alpha';
+
+export default createTranslationMessages({
+ ref: catalogTranslationRef,
+ full: false,
+ messages: {
+ 'indexPage.createButtonTitle': 'セルフサービス',
+ },
+});
diff --git a/packages/app/src/translations/catalog-import/catalog-import.ts b/packages/app/src/translations/catalog-import/catalog-import.ts
index 4a8c401815..e80bfa0864 100644
--- a/packages/app/src/translations/catalog-import/catalog-import.ts
+++ b/packages/app/src/translations/catalog-import/catalog-import.ts
@@ -5,5 +5,8 @@ export const catalogImportTranslations = createTranslationResource({
ref: catalogImportTranslationRef,
translations: {
en: () => import('./catalog-import-en'),
+ fr: () => import('./fr'),
+ it: () => import('./it'),
+ ja: () => import('./ja'),
},
});
diff --git a/packages/app/src/translations/catalog-import/fr.ts b/packages/app/src/translations/catalog-import/fr.ts
new file mode 100644
index 0000000000..2d90c26ddd
--- /dev/null
+++ b/packages/app/src/translations/catalog-import/fr.ts
@@ -0,0 +1,130 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogImportTranslationRef } from '@backstage/plugin-catalog-import/alpha';
+
+export default createTranslationMessages({
+ ref: catalogImportTranslationRef,
+ full: false,
+ messages: {
+ 'defaultImportPage.headerTitle': 'Importer un dépôt Git existant',
+ 'importInfoCard.title': 'Importer un dépôt Git existant',
+ 'buttons.back': 'Arrière',
+ 'defaultImportPage.contentHeaderTitle':
+ 'Commencez à suivre votre composant dans {{appTitle}}',
+ 'defaultImportPage.supportTitle':
+ "Commencez à suivre votre composant dans {{appTitle}} en l'ajoutant au catalogue de logiciels.",
+ 'importInfoCard.deepLinkTitle':
+ 'En savoir plus sur le catalogue de logiciels',
+ 'importInfoCard.linkDescription':
+ "Saisissez l'URL de votre référentiel de code source pour l'ajouter à {{appTitle}}.",
+ 'importInfoCard.fileLinkTitle': "Lien vers un fichier d'entité existant",
+ 'importInfoCard.examplePrefix': 'Exemple: ',
+ 'importInfoCard.fileLinkDescription':
+ "L'assistant analyse le fichier, prévisualise les entités et les ajoute au catalogue {{appTitle}}.",
+ 'importInfoCard.githubIntegration.title': 'Lien vers un référentiel',
+ 'importInfoCard.githubIntegration.label': 'GitHub uniquement',
+ 'importInfoCard.exampleDescription':
+ "L'assistant découvre tous les fichiers {{catalogFilename}} dans le référentiel, prévisualise les entités et les ajoute au catalogue {{appTitle}}.",
+ 'importInfoCard.preparePullRequestDescription':
+ "Si aucune entité n'est trouvée, l'assistant préparera une Pull Request qui ajoute un exemple de {{catalogFilename}} et prépare le catalogue {{appTitle}} pour charger toutes les entités dès que la Pull Request est fusionnée.",
+ 'importStepper.singleLocation.title': 'Sélectionner des emplacements',
+ 'importStepper.singleLocation.description': 'Lieux découverts : 1',
+ 'importStepper.multipleLocations.title': 'Sélectionner des emplacements',
+ 'importStepper.multipleLocations.description':
+ 'Lieux découverts : {{length, number}}',
+ 'importStepper.noLocation.title': "Créer une demande d'extraction",
+ 'importStepper.noLocation.createPr.detailsTitle':
+ "Détails de la demande d'extraction",
+ 'importStepper.noLocation.createPr.titleLabel':
+ "Titre de la demande d'extraction",
+ 'importStepper.noLocation.createPr.titlePlaceholder':
+ "Ajouter des fichiers descripteurs d'entités de catalogue Backstage",
+ 'importStepper.noLocation.createPr.bodyLabel':
+ "Corps de la demande d'extraction",
+ 'importStepper.noLocation.createPr.bodyPlaceholder':
+ 'Un texte descriptif avec prise en charge Markdown',
+ 'importStepper.noLocation.createPr.configurationTitle':
+ "Configuration de l'entité",
+ 'importStepper.noLocation.createPr.componentNameLabel':
+ 'Nom du composant créé',
+ 'importStepper.noLocation.createPr.componentNamePlaceholder':
+ 'mon-composant',
+ 'importStepper.noLocation.createPr.ownerLoadingText':
+ 'Chargement des groupes…',
+ 'importStepper.noLocation.createPr.ownerHelperText':
+ 'Sélectionnez un propriétaire dans la liste ou entrez une référence à un groupe ou à un utilisateur',
+ 'importStepper.noLocation.createPr.ownerErrorHelperText': 'valeur requise',
+ 'importStepper.noLocation.createPr.ownerLabel': "Propriétaire de l'entité",
+ 'importStepper.noLocation.createPr.ownerPlaceholder': 'mon-groupe',
+ 'importStepper.noLocation.createPr.codeownersHelperText':
+ "AVERTISSEMENT : cette opération peut échouer si aucun fichier CODEOWNERS n'est trouvé à l'emplacement cible.",
+ 'importStepper.analyze.title': "Sélectionnez l'URL",
+ 'importStepper.prepare.title': "Actions d'importation",
+ 'importStepper.prepare.description': 'Facultatif',
+ 'importStepper.review.title': 'Revoir',
+ 'importStepper.finish.title': 'Finition',
+ 'stepFinishImportLocation.backButtonText': 'Enregistrer un autre',
+ 'stepFinishImportLocation.repository.title':
+ 'La Pull Request suivante a été ouverte : ',
+ 'stepFinishImportLocation.repository.description':
+ 'Vos entités seront importées dès que la Pull Request sera fusionnée.',
+ 'stepFinishImportLocation.locations.new':
+ 'Les entités suivantes ont été ajoutées au catalogue :',
+ 'stepFinishImportLocation.locations.existing':
+ 'Une actualisation a été déclenchée pour les emplacements suivants :',
+ 'stepFinishImportLocation.locations.viewButtonText':
+ 'Afficher le composant',
+ 'stepFinishImportLocation.locations.backButtonText': 'Enregistrer un autre',
+ 'stepInitAnalyzeUrl.error.repository':
+ 'Impossible de générer des entités pour votre référentiel',
+ 'stepInitAnalyzeUrl.error.locations':
+ "Il n'y a aucune entité à cet endroit",
+ 'stepInitAnalyzeUrl.error.default':
+ "Résultat d'analyse inconnu reçu de type {{type}}. Veuillez contacter l'équipe d'assistance.",
+ 'stepInitAnalyzeUrl.error.url': 'Doit commencer par http:// ou https://.',
+ 'stepInitAnalyzeUrl.urlHelperText':
+ "Saisissez le chemin complet vers votre fichier d'entité pour commencer à suivre votre composant",
+ 'stepInitAnalyzeUrl.nextButtonText': 'Analyser',
+ 'stepPrepareCreatePullRequest.description':
+ "Vous avez entré un lien vers un référentiel {{integrationType}} mais aucun {{catalogFilename}} n'a pu être trouvé. Utilisez ce formulaire pour ouvrir une Pull Request qui en crée une.",
+ 'stepPrepareCreatePullRequest.previewPr.title':
+ "Aperçu de la demande d'extraction",
+ 'stepPrepareCreatePullRequest.previewPr.subheader':
+ 'Créer une nouvelle Pull Request',
+ 'stepPrepareCreatePullRequest.previewCatalogInfo.title':
+ 'Aperçu des entités',
+ 'stepPrepareCreatePullRequest.nextButtonText':
+ 'Créer des relations publiques',
+ 'stepPrepareSelectLocations.locations.description':
+ 'Sélectionnez un ou plusieurs emplacements présents dans votre dépôt git :',
+ 'stepPrepareSelectLocations.locations.selectAll': 'Sélectionner tout',
+ 'stepPrepareSelectLocations.existingLocations.description':
+ 'Ces emplacements existent déjà dans le catalogue :',
+ 'stepPrepareSelectLocations.nextButtonText': 'Revoir',
+ 'stepReviewLocation.prepareResult.title':
+ 'La Pull Request suivante a été ouverte : ',
+ 'stepReviewLocation.prepareResult.description':
+ "Vous pouvez déjà importer l'emplacement et {{appTitle}} récupérera les entités dès que la Pull Request sera fusionnée.",
+ 'stepReviewLocation.catalog.exists':
+ 'Les emplacements suivants existent déjà dans le catalogue :',
+ 'stepReviewLocation.catalog.new':
+ 'Les entités suivantes seront ajoutées au catalogue :',
+ 'stepReviewLocation.refresh': 'Rafraîchir',
+ 'stepReviewLocation.import': 'Importer',
+ },
+});
diff --git a/packages/app/src/translations/catalog-import/it.ts b/packages/app/src/translations/catalog-import/it.ts
new file mode 100644
index 0000000000..4154a95b38
--- /dev/null
+++ b/packages/app/src/translations/catalog-import/it.ts
@@ -0,0 +1,27 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogImportTranslationRef } from '@backstage/plugin-catalog-import/alpha';
+
+export default createTranslationMessages({
+ ref: catalogImportTranslationRef,
+ full: false,
+ messages: {
+ 'defaultImportPage.headerTitle': 'Importa un repository Git esistente',
+ 'importInfoCard.title': 'Importa un repository Git esistente',
+ },
+});
diff --git a/packages/app/src/translations/catalog-import/ja.ts b/packages/app/src/translations/catalog-import/ja.ts
new file mode 100644
index 0000000000..9199b066a1
--- /dev/null
+++ b/packages/app/src/translations/catalog-import/ja.ts
@@ -0,0 +1,27 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { catalogImportTranslationRef } from '@backstage/plugin-catalog-import/alpha';
+
+export default createTranslationMessages({
+ ref: catalogImportTranslationRef,
+ full: false,
+ messages: {
+ 'defaultImportPage.headerTitle': '既存の Git リポジトリーのインポート',
+ 'importInfoCard.title': '既存の Git リポジトリーのインポート',
+ },
+});
diff --git a/packages/app/src/translations/core-components/core-components.ts b/packages/app/src/translations/core-components/core-components.ts
index 5bf8720e70..588beb8880 100644
--- a/packages/app/src/translations/core-components/core-components.ts
+++ b/packages/app/src/translations/core-components/core-components.ts
@@ -5,5 +5,8 @@ export const coreComponentsTranslations = createTranslationResource({
ref: coreComponentsTranslationRef,
translations: {
en: () => import('./core-components-en'),
+ fr: () => import('./fr'),
+ it: () => import('./it'),
+ ja: () => import('./ja'),
},
});
diff --git a/packages/app/src/translations/core-components/fr.ts b/packages/app/src/translations/core-components/fr.ts
new file mode 100644
index 0000000000..8460cb804a
--- /dev/null
+++ b/packages/app/src/translations/core-components/fr.ts
@@ -0,0 +1,87 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { coreComponentsTranslationRef } from '@backstage/core-components/alpha';
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+
+export default createTranslationMessages({
+ ref: coreComponentsTranslationRef,
+ full: false,
+ messages: {
+ 'table.filter.placeholder': 'Tous les résultats',
+ 'table.body.emptyDataSourceMessage': 'Aucun enregistrement à afficher',
+ 'table.pagination.firstTooltip': 'Première page',
+ 'table.pagination.labelDisplayedRows': '{de}-{à} de {count}',
+ 'table.pagination.labelRowsSelect': 'rangées',
+ 'table.pagination.lastTooltip': 'Dernière page',
+ 'table.pagination.nextTooltip': 'Page suivante',
+ 'table.pagination.previousTooltip': 'Page précédente',
+ 'table.toolbar.search': 'Filtre',
+ 'alertDisplay.message_one': '({{ count }} message plus récent)',
+ 'alertDisplay.message_other': '({{ count }} messages plus récents)',
+ 'table.header.actions': 'Actes',
+ 'oauthRequestDialog.message':
+ 'Connectez-vous pour autoriser {{appTitle}} à accéder aux API et identités de {{provider}}.',
+ 'signIn.title': 'Se connecter',
+ 'signIn.loginFailed': 'La connexion a échoué',
+ 'signIn.customProvider.title': 'Utilisateur personnalisé',
+ 'signIn.customProvider.subtitle':
+ "Saisissez votre propre identifiant utilisateur et vos informations d'identification. Cette sélection ne sera pas enregistrée.",
+ 'signIn.customProvider.userId': "ID de l'utilisateur",
+ 'signIn.customProvider.tokenInvalid':
+ "Le jeton n'est pas un jeton JWT OpenID Connect valide",
+ 'signIn.customProvider.continue': 'Continuer',
+ 'signIn.customProvider.idToken': "Jeton d'identification (facultatif)",
+ 'signIn.guestProvider.title': 'Invité',
+ 'signIn.guestProvider.subtitle':
+ "Entrez en tant qu'utilisateur invité. Votre identité n'aura pas été vérifiée, ce qui signifie que certaines fonctionnalités pourraient ne pas être disponibles.",
+ 'signIn.guestProvider.enter': 'Entrer',
+ skipToContent: 'Accéder au contenu',
+ 'copyTextButton.tooltipText': 'Texte copié dans le presse-papiers',
+ 'simpleStepper.reset': 'Réinitialiser',
+ 'simpleStepper.finish': 'Finition',
+ 'simpleStepper.next': 'Suivant',
+ 'simpleStepper.skip': 'Ignorer',
+ 'simpleStepper.back': 'Arrière',
+ 'errorPage.subtitle': 'ERREUR {{status}} : {{statusMessage}}',
+ 'errorPage.title': "On dirait que quelqu'un a laissé tomber le micro !",
+ 'errorPage.goBack': 'Retour',
+ 'errorPage.showMoreDetails': 'Afficher plus de détails',
+ 'errorPage.showLessDetails': 'Afficher moins de détails',
+ 'emptyState.missingAnnotation.title': 'Annotation manquante',
+ 'emptyState.missingAnnotation.actionTitle':
+ "Ajoutez l'annotation à votre composant YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ 'emptyState.missingAnnotation.readMore': 'En savoir plus',
+ 'supportConfig.default.title': 'Support non configuré',
+ 'supportConfig.default.linkTitle':
+ 'Ajouter la clé de configuration « app.support »',
+ 'errorBoundary.title':
+ "Veuillez contacter {{slackChannel}} pour obtenir de l'aide.",
+ 'oauthRequestDialog.title': 'Connexion requise',
+ 'oauthRequestDialog.authRedirectTitle':
+ 'Cela déclenchera une redirection http vers la connexion OAuth.',
+ 'oauthRequestDialog.login': 'Connexion',
+ 'oauthRequestDialog.rejectAll': 'Tout rejeter',
+ 'supportButton.title': 'Support',
+ 'supportButton.close': 'Fermer',
+ 'table.filter.title': 'Filtres',
+ 'table.filter.clearAll': 'Tout effacer',
+ 'autoLogout.stillTherePrompt.title': "Déconnexion en raison d'inactivité",
+ 'autoLogout.stillTherePrompt.buttonText': 'Oui! Ne me déconnectez pas',
+ 'proxiedSignInPage.title':
+ 'Vous ne semblez pas être connecté. Veuillez essayer de recharger la page du navigateur.',
+ },
+});
diff --git a/packages/app/src/translations/core-components/it.ts b/packages/app/src/translations/core-components/it.ts
new file mode 100644
index 0000000000..7e13528ec5
--- /dev/null
+++ b/packages/app/src/translations/core-components/it.ts
@@ -0,0 +1,39 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { coreComponentsTranslationRef } from '@backstage/core-components/alpha';
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+
+export default createTranslationMessages({
+ ref: coreComponentsTranslationRef,
+ full: false,
+ messages: {
+ 'table.filter.placeholder': 'Tutti i risultati',
+ 'table.body.emptyDataSourceMessage': 'Nessun record da visualizzare',
+ 'table.pagination.firstTooltip': 'Prima pagina',
+ 'table.pagination.labelDisplayedRows': '{from}-{to} di {count}',
+ 'table.pagination.labelRowsSelect': 'righe',
+ 'table.pagination.lastTooltip': 'Ultima pagina',
+ 'table.pagination.nextTooltip': 'Pagina successiva',
+ 'table.pagination.previousTooltip': 'Pagina precedente',
+ 'table.toolbar.search': 'Filtra',
+ 'alertDisplay.message_one': '({{ count }} messaggio più recente)',
+ 'alertDisplay.message_other': '({{ count }} messaggi più recenti)',
+ 'table.header.actions': 'Azioni',
+ 'oauthRequestDialog.message':
+ 'Accedere per consentire a {{appTitle}} di accedere alle API e alle identità di {{provider}}.',
+ },
+});
diff --git a/packages/app/src/translations/core-components/ja.ts b/packages/app/src/translations/core-components/ja.ts
new file mode 100644
index 0000000000..893ed58328
--- /dev/null
+++ b/packages/app/src/translations/core-components/ja.ts
@@ -0,0 +1,39 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { coreComponentsTranslationRef } from '@backstage/core-components/alpha';
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+
+export default createTranslationMessages({
+ ref: coreComponentsTranslationRef,
+ full: false,
+ messages: {
+ 'table.filter.placeholder': 'すべての結果',
+ 'table.body.emptyDataSourceMessage': '表示するレコードがありません',
+ 'table.pagination.firstTooltip': '最初のページ',
+ 'table.pagination.labelDisplayedRows': '{count} 件中 {from}-{to} 件目',
+ 'table.pagination.labelRowsSelect': '行',
+ 'table.pagination.lastTooltip': '最後のページ',
+ 'table.pagination.nextTooltip': '次のページ',
+ 'table.pagination.previousTooltip': '前のページ',
+ 'table.toolbar.search': 'フィルター',
+ 'alertDisplay.message_one': '({{ count }} 件の新しいメッセージ)',
+ 'alertDisplay.message_other': '({{ count }} 件の新しいメッセージ)',
+ 'table.header.actions': 'アクション',
+ 'oauthRequestDialog.message':
+ '{{appTitle}} が {{provider}} API と ID にアクセスすることを許可するには、サインインしてください。',
+ },
+});
diff --git a/packages/app/src/translations/rhdh/fr.ts b/packages/app/src/translations/rhdh/fr.ts
index 213ecf4cff..6e4388b6ab 100644
--- a/packages/app/src/translations/rhdh/fr.ts
+++ b/packages/app/src/translations/rhdh/fr.ts
@@ -20,82 +20,73 @@ import { rhdhTranslationRef } from './ref';
export default createTranslationMessages({
ref: rhdhTranslationRef,
- full: true, // False means that this is a partial translation
+ full: true,
messages: {
- // Default main menu items from consts.ts
- 'menuItem.home': 'Accueil',
- 'menuItem.myGroup_one': 'Mon Groupe',
- 'menuItem.myGroup_other': 'Mes Groupes',
+ 'menuItem.home': 'Home',
+ 'menuItem.myGroup_one': 'Mon groupe',
+ 'menuItem.myGroup_other': 'Mes groupes',
'menuItem.catalog': 'Catalogue',
'menuItem.apis': 'APIs',
- 'menuItem.learningPaths': "Parcours d'apprentissage",
- 'menuItem.selfService': 'Libre-service',
+ 'menuItem.learningPaths': 'Learning Paths',
+ 'menuItem.selfService': 'Self-service',
'menuItem.userSettings': 'Paramètres utilisateur',
'menuItem.administration': 'Administration',
- 'menuItem.extensions': 'Modules',
-
- // dynamic-plugins.default.main-menu-items
- 'menuItem.clusters': 'Clusters',
+ 'menuItem.extensions': 'Extensions',
+ 'menuItem.clusters': 'Groupes',
'menuItem.rbac': 'RBAC',
'menuItem.bulkImport': 'Importation en masse',
- 'menuItem.docs': 'Documentation',
+ 'menuItem.docs': 'Docs',
'menuItem.lighthouse': 'Lighthouse',
- 'menuItem.techRadar': 'Radar technologique',
+ 'menuItem.techRadar': 'Tech Radar',
'menuItem.orchestrator': 'Orchestrateur',
- 'menuItem.adoptionInsights': "Insights d'adoption",
-
- 'catalog.entityPage.overview.title': 'Aperçu',
- 'catalog.entityPage.topology.title': 'Topologie',
- 'catalog.entityPage.issues.title': 'Problèmes',
- 'catalog.entityPage.pullRequests.title': 'Pull/Merge Requests',
- 'catalog.entityPage.ci.title': 'CI',
- 'catalog.entityPage.cd.title': 'CD',
- 'catalog.entityPage.kubernetes.title': 'Kubernetes',
- 'catalog.entityPage.imageRegistry.title': "Registre d'Images",
- 'catalog.entityPage.monitoring.title': 'Surveillance',
- 'catalog.entityPage.lighthouse.title': 'Lighthouse',
- 'catalog.entityPage.api.title': 'API',
- 'catalog.entityPage.dependencies.title': 'Dépendances',
- 'catalog.entityPage.docs.title': 'Documentation',
- 'catalog.entityPage.definition.title': 'Définition',
- 'catalog.entityPage.diagram.title': 'Diagramme du Système',
- 'catalog.entityPage.workflows.title': 'Flux de travail',
-
+ 'menuItem.adoptionInsights': 'Adoption Insights',
'sidebar.menu': 'Menu',
- 'sidebar.home': 'Accueil',
- 'sidebar.homeLogo': "Logo d'accueil",
-
- // SignIn page translations
- 'signIn.page.title': 'Sélectionner une méthode de connexion',
+ 'sidebar.home': 'Home',
+ 'sidebar.homeLogo': 'Logo de la maison',
+ 'signIn.page.title': 'Sélectionnez une méthode de connexion',
'signIn.providers.auth0.title': 'Auth0',
- 'signIn.providers.auth0.message': 'Se connecter avec Auth0',
+ 'signIn.providers.auth0.message': 'Connectez-vous avec Auth0',
'signIn.providers.atlassian.title': 'Atlassian',
- 'signIn.providers.atlassian.message': 'Se connecter avec Atlassian',
+ 'signIn.providers.atlassian.message': 'Connectez-vous avec Atlassian',
'signIn.providers.microsoft.title': 'Microsoft',
- 'signIn.providers.microsoft.message': 'Se connecter avec Microsoft',
+ 'signIn.providers.microsoft.message': 'Connectez-vous avec Microsoft',
'signIn.providers.bitbucket.title': 'Bitbucket',
- 'signIn.providers.bitbucket.message': 'Se connecter avec Bitbucket',
- 'signIn.providers.bitbucketServer.title': 'Bitbucket Server',
+ 'signIn.providers.bitbucket.message': 'Connectez-vous avec Bitbucket',
+ 'signIn.providers.bitbucketServer.title': 'Serveur Bitbucket',
'signIn.providers.bitbucketServer.message':
- 'Se connecter avec Bitbucket Server',
+ "Connectez-vous à l'aide de Bitbucket Server",
'signIn.providers.github.title': 'GitHub',
- 'signIn.providers.github.message': 'Se connecter avec GitHub',
+ 'signIn.providers.github.message': 'Connectez-vous avec GitHub',
'signIn.providers.gitlab.title': 'GitLab',
- 'signIn.providers.gitlab.message': 'Se connecter avec GitLab',
+ 'signIn.providers.gitlab.message': 'Connectez-vous avec GitLab',
'signIn.providers.google.title': 'Google',
- 'signIn.providers.google.message': 'Se connecter avec Google',
+ 'signIn.providers.google.message': 'Connectez-vous avec Google',
'signIn.providers.oidc.title': 'OIDC',
- 'signIn.providers.oidc.message': 'Se connecter avec OIDC',
+ 'signIn.providers.oidc.message': 'Connectez-vous avec OIDC',
'signIn.providers.okta.title': 'Okta',
- 'signIn.providers.okta.message': 'Se connecter avec Okta',
+ 'signIn.providers.okta.message': 'Connectez-vous avec Okta',
'signIn.providers.onelogin.title': 'OneLogin',
- 'signIn.providers.onelogin.message': 'Se connecter avec OneLogin',
+ 'signIn.providers.onelogin.message': 'Connectez-vous avec OneLogin',
'signIn.providers.saml.title': 'SAML',
- 'signIn.providers.saml.message': 'Se connecter avec SAML',
-
- // App translations
- 'app.scaffolder.title': 'Libre-service',
- 'app.search.title': 'Rechercher',
+ 'signIn.providers.saml.message': 'Connectez-vous en utilisant SAML',
+ 'catalog.entityPage.overview.title': 'Vue d’ensemble',
+ 'catalog.entityPage.topology.title': 'Topologie',
+ 'catalog.entityPage.issues.title': 'Problèmes',
+ 'catalog.entityPage.pullRequests.title': 'Extraire/Merger les Demandes',
+ 'catalog.entityPage.ci.title': 'CI',
+ 'catalog.entityPage.cd.title': 'CD',
+ 'catalog.entityPage.kubernetes.title': 'Kubernetes',
+ 'catalog.entityPage.imageRegistry.title': 'Registre d’images',
+ 'catalog.entityPage.monitoring.title': 'Surveillance',
+ 'catalog.entityPage.lighthouse.title': 'Lighthouse',
+ 'catalog.entityPage.api.title': 'API',
+ 'catalog.entityPage.dependencies.title': 'Dépendances',
+ 'catalog.entityPage.docs.title': 'Docs',
+ 'catalog.entityPage.definition.title': 'Définition',
+ 'catalog.entityPage.diagram.title': 'Diagramme du système',
+ 'catalog.entityPage.workflows.title': 'Flux de travail',
+ 'app.scaffolder.title': 'Self-service',
+ 'app.search.title': 'Recherche',
'app.search.resultType': 'Type de résultat',
'app.search.softwareCatalog': 'Catalogue de logiciels',
'app.search.filters.kind': 'Type',
@@ -104,21 +95,21 @@ export default createTranslationMessages({
'app.search.filters.template': 'Modèle',
'app.search.filters.experimental': 'expérimental',
'app.search.filters.production': 'production',
- 'app.learningPaths.title': "Parcours d'apprentissage",
+ 'app.learningPaths.title': 'Learning Paths',
'app.learningPaths.error.title': 'Impossible de récupérer les données.',
'app.learningPaths.error.unknownError': 'Erreur inconnue',
'app.userSettings.infoCard.title': 'Métadonnées RHDH',
'app.userSettings.infoCard.metadataCopied':
'Métadonnées copiées dans le presse-papiers',
'app.userSettings.infoCard.copyMetadata':
- 'Copier les métadonnées dans le presse-papiers',
+ 'Copier les métadonnées dans votre presse-papiers',
'app.userSettings.infoCard.showLess': 'Afficher moins',
'app.userSettings.infoCard.showMore': 'Afficher plus',
'app.errors.contactSupport': 'Contacter le support',
'app.errors.goBack': 'Retour',
'app.errors.notFound.message': "Nous n'avons pas pu trouver cette page",
'app.errors.notFound.additionalInfo':
- 'La page que vous recherchez a peut-être été supprimée, renommée ou est temporairement indisponible.',
- 'app.table.createdAt': 'Créé le',
+ 'La page que vous recherchez a peut-être été supprimée, son nom a peut-être été modifié ou elle est temporairement indisponible.',
+ 'app.table.createdAt': 'Créé à',
},
});
diff --git a/packages/app/src/translations/rhdh/index.ts b/packages/app/src/translations/rhdh/index.ts
index 040a12b946..e48880daa9 100644
--- a/packages/app/src/translations/rhdh/index.ts
+++ b/packages/app/src/translations/rhdh/index.ts
@@ -27,6 +27,7 @@ export const rhdhTranslations = createTranslationResource({
de: () => import('./de') as any,
fr: () => import('./fr') as any,
it: () => import('./it') as any,
+ ja: () => import('./ja') as any,
es: () => import('./es') as any,
},
});
diff --git a/packages/app/src/translations/rhdh/it.ts b/packages/app/src/translations/rhdh/it.ts
index ef888744a0..1ba578e100 100644
--- a/packages/app/src/translations/rhdh/it.ts
+++ b/packages/app/src/translations/rhdh/it.ts
@@ -20,81 +20,73 @@ import { rhdhTranslationRef } from './ref';
export default createTranslationMessages({
ref: rhdhTranslationRef,
- full: true, // False means that this is a partial translation
+ full: true,
messages: {
- // Default main menu items from consts.ts
'menuItem.home': 'Home',
- 'menuItem.myGroup_one': 'Il Mio Gruppo',
- 'menuItem.myGroup_other': 'I Miei Gruppi',
+ 'menuItem.myGroup_one': 'Il mio gruppo',
+ 'menuItem.myGroup_other': 'I miei gruppi',
'menuItem.catalog': 'Catalogo',
'menuItem.apis': 'API',
- 'menuItem.learningPaths': 'Percorsi di Apprendimento',
+ 'menuItem.learningPaths': 'Percorsi di apprendimento',
'menuItem.selfService': 'Self-service',
'menuItem.userSettings': 'Impostazioni utente',
'menuItem.administration': 'Amministrazione',
'menuItem.extensions': 'Estensioni',
-
- // dynamic-plugins.default.main-menu-items
'menuItem.clusters': 'Cluster',
'menuItem.rbac': 'RBAC',
- 'menuItem.bulkImport': 'Importazione in massa',
- 'menuItem.docs': 'Documentazione',
+ 'menuItem.bulkImport': 'Importazione in blocco',
+ 'menuItem.docs': 'Documenti',
'menuItem.lighthouse': 'Lighthouse',
- 'menuItem.techRadar': 'Radar tecnologico',
- 'menuItem.orchestrator': 'Orchestratore',
- 'menuItem.adoptionInsights': 'Insights di adozione',
-
- 'catalog.entityPage.overview.title': 'Panoramica',
- 'catalog.entityPage.topology.title': 'Topologia',
- 'catalog.entityPage.issues.title': 'Problemi',
- 'catalog.entityPage.pullRequests.title': 'Pull/Merge Requests',
- 'catalog.entityPage.ci.title': 'CI',
- 'catalog.entityPage.cd.title': 'CD',
- 'catalog.entityPage.kubernetes.title': 'Kubernetes',
- 'catalog.entityPage.imageRegistry.title': 'Registro Immagini',
- 'catalog.entityPage.monitoring.title': 'Monitoraggio',
- 'catalog.entityPage.lighthouse.title': 'Lighthouse',
- 'catalog.entityPage.api.title': 'API',
- 'catalog.entityPage.dependencies.title': 'Dipendenze',
- 'catalog.entityPage.docs.title': 'Documentazione',
- 'catalog.entityPage.definition.title': 'Definizione',
- 'catalog.entityPage.diagram.title': 'Diagramma del Sistema',
- 'catalog.entityPage.workflows.title': 'Flussi di lavoro',
-
+ 'menuItem.techRadar': 'Tech Radar',
+ 'menuItem.orchestrator': 'Orchestrator',
+ 'menuItem.adoptionInsights': 'Adoption Insights',
'sidebar.menu': 'Menu',
'sidebar.home': 'Home',
- 'sidebar.homeLogo': 'Logo principale',
-
- // SignIn page translations
- 'signIn.page.title': 'Seleziona un metodo di accesso',
+ 'sidebar.homeLogo': 'Logo Home',
+ 'signIn.page.title': 'Selezionare un metodo di accesso',
'signIn.providers.auth0.title': 'Auth0',
- 'signIn.providers.auth0.message': 'Accedi con Auth0',
+ 'signIn.providers.auth0.message': 'Accesso tramite Auth0',
'signIn.providers.atlassian.title': 'Atlassian',
- 'signIn.providers.atlassian.message': 'Accedi con Atlassian',
+ 'signIn.providers.atlassian.message': 'Accesso tramite Atlassian',
'signIn.providers.microsoft.title': 'Microsoft',
- 'signIn.providers.microsoft.message': 'Accedi con Microsoft',
+ 'signIn.providers.microsoft.message': 'Accesso tramite Microsoft',
'signIn.providers.bitbucket.title': 'Bitbucket',
- 'signIn.providers.bitbucket.message': 'Accedi con Bitbucket',
+ 'signIn.providers.bitbucket.message': 'Accesso tramite Bitbucket',
'signIn.providers.bitbucketServer.title': 'Bitbucket Server',
- 'signIn.providers.bitbucketServer.message': 'Accedi con Bitbucket Server',
+ 'signIn.providers.bitbucketServer.message':
+ 'Accesso tramite Bitbucket Server',
'signIn.providers.github.title': 'GitHub',
- 'signIn.providers.github.message': 'Accedi con GitHub',
+ 'signIn.providers.github.message': 'Accesso tramite GitHub',
'signIn.providers.gitlab.title': 'GitLab',
- 'signIn.providers.gitlab.message': 'Accedi con GitLab',
+ 'signIn.providers.gitlab.message': 'Accesso tramite GitLab',
'signIn.providers.google.title': 'Google',
- 'signIn.providers.google.message': 'Accedi con Google',
+ 'signIn.providers.google.message': 'Accesso tramite Google',
'signIn.providers.oidc.title': 'OIDC',
- 'signIn.providers.oidc.message': 'Accedi con OIDC',
+ 'signIn.providers.oidc.message': 'Accesso tramite OIDC',
'signIn.providers.okta.title': 'Okta',
- 'signIn.providers.okta.message': 'Accedi con Okta',
+ 'signIn.providers.okta.message': 'Accesso tramite Okta',
'signIn.providers.onelogin.title': 'OneLogin',
- 'signIn.providers.onelogin.message': 'Accedi con OneLogin',
+ 'signIn.providers.onelogin.message': 'Accesso tramite OneLogin',
'signIn.providers.saml.title': 'SAML',
- 'signIn.providers.saml.message': 'Accedi con SAML',
-
- // App translations
+ 'signIn.providers.saml.message': 'Accesso tramite SAML',
+ 'catalog.entityPage.overview.title': 'Panoramica',
+ 'catalog.entityPage.topology.title': 'Topologia',
+ 'catalog.entityPage.issues.title': 'Problemi',
+ 'catalog.entityPage.pullRequests.title': 'Richieste di pull/merge',
+ 'catalog.entityPage.ci.title': 'CI',
+ 'catalog.entityPage.cd.title': 'CD',
+ 'catalog.entityPage.kubernetes.title': 'Kubernetes',
+ 'catalog.entityPage.imageRegistry.title': 'Registro delle immagini',
+ 'catalog.entityPage.monitoring.title': 'Monitoraggio',
+ 'catalog.entityPage.lighthouse.title': 'Lighthouse',
+ 'catalog.entityPage.api.title': 'API',
+ 'catalog.entityPage.dependencies.title': 'Dipendenze',
+ 'catalog.entityPage.docs.title': 'Documenti',
+ 'catalog.entityPage.definition.title': 'Definizione',
+ 'catalog.entityPage.diagram.title': 'Diagramma di sistema',
+ 'catalog.entityPage.workflows.title': 'Flussi di lavoro',
'app.scaffolder.title': 'Self-service',
- 'app.search.title': 'Cerca',
+ 'app.search.title': 'Ricerca',
'app.search.resultType': 'Tipo di risultato',
'app.search.softwareCatalog': 'Catalogo software',
'app.search.filters.kind': 'Tipo',
@@ -109,14 +101,14 @@ export default createTranslationMessages({
'app.userSettings.infoCard.title': 'Metadati RHDH',
'app.userSettings.infoCard.metadataCopied':
'Metadati copiati negli appunti',
- 'app.userSettings.infoCard.copyMetadata': 'Copia metadati negli appunti',
+ 'app.userSettings.infoCard.copyMetadata': 'Copia i metadati negli appunti',
'app.userSettings.infoCard.showLess': 'Mostra meno',
- 'app.userSettings.infoCard.showMore': 'Mostra di più',
- 'app.errors.contactSupport': 'Contatta il supporto',
+ 'app.userSettings.infoCard.showMore': 'Mostra altro',
+ 'app.errors.contactSupport': "Contattare l'assistenza",
'app.errors.goBack': 'Indietro',
- 'app.errors.notFound.message': 'Non siamo riusciti a trovare quella pagina',
+ 'app.errors.notFound.message': 'Non è stato possibile trovare la pagina',
'app.errors.notFound.additionalInfo':
- 'La pagina che stai cercando potrebbe essere stata rimossa, rinominata o è temporaneamente non disponibile.',
- 'app.table.createdAt': 'Creato il',
+ 'La pagina potrebbe essere stata rimossa, potrebbe aver cambiato nome o potrebbe non essere temporaneamente disponibile.',
+ 'app.table.createdAt': 'Creato alle',
},
});
diff --git a/packages/app/src/translations/rhdh/ja.ts b/packages/app/src/translations/rhdh/ja.ts
new file mode 100644
index 0000000000..6216f104ec
--- /dev/null
+++ b/packages/app/src/translations/rhdh/ja.ts
@@ -0,0 +1,115 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+
+import { rhdhTranslationRef } from './ref';
+
+export default createTranslationMessages({
+ ref: rhdhTranslationRef,
+ full: true,
+ messages: {
+ 'menuItem.home': 'ホーム',
+ 'menuItem.myGroup_one': 'マイグループ',
+ 'menuItem.myGroup_other': 'マイグループ',
+ 'menuItem.catalog': 'カタログ',
+ 'menuItem.apis': 'API',
+ 'menuItem.learningPaths': 'ラーニングパス',
+ 'menuItem.selfService': 'セルフサービス',
+ 'menuItem.userSettings': 'ユーザー設定',
+ 'menuItem.administration': '管理',
+ 'menuItem.extensions': '拡張機能',
+ 'menuItem.clusters': 'クラスター',
+ 'menuItem.rbac': 'RBAC',
+ 'menuItem.bulkImport': '一括インポート',
+ 'menuItem.docs': 'ドキュメント',
+ 'menuItem.lighthouse': 'Lighthouse',
+ 'menuItem.techRadar': 'Tech Radar',
+ 'menuItem.orchestrator': 'オーケストレーター',
+ 'menuItem.adoptionInsights': 'Adoption Insights',
+ 'sidebar.menu': 'メニュー',
+ 'sidebar.home': 'ホーム',
+ 'sidebar.homeLogo': 'ホームロゴ',
+ 'signIn.page.title': 'サインイン方法の選択',
+ 'signIn.providers.auth0.title': 'Auth0',
+ 'signIn.providers.auth0.message': 'Auth0 を使用してサインイン',
+ 'signIn.providers.atlassian.title': 'Atlassian',
+ 'signIn.providers.atlassian.message': 'Atlassian を使用してサインイン',
+ 'signIn.providers.microsoft.title': 'Microsoft',
+ 'signIn.providers.microsoft.message': 'Microsoft を使用してサインイン',
+ 'signIn.providers.bitbucket.title': 'Bitbucket',
+ 'signIn.providers.bitbucket.message': 'Bitbucket を使用してサインイン',
+ 'signIn.providers.bitbucketServer.title': 'Bitbucket Server',
+ 'signIn.providers.bitbucketServer.message':
+ 'Bitbucket Server を使用してサインイン',
+ 'signIn.providers.github.title': 'GitHub',
+ 'signIn.providers.github.message': 'GitHub を使用してサインイン',
+ 'signIn.providers.gitlab.title': 'GitLab',
+ 'signIn.providers.gitlab.message': 'GitLab を使用してサインイン',
+ 'signIn.providers.google.title': 'Google',
+ 'signIn.providers.google.message': 'Google を使用してサインイン',
+ 'signIn.providers.oidc.title': 'OIDC',
+ 'signIn.providers.oidc.message': 'OIDC を使用してサインイン',
+ 'signIn.providers.okta.title': 'Okta',
+ 'signIn.providers.okta.message': 'Okta を使用してサインイン',
+ 'signIn.providers.onelogin.title': 'OneLogin',
+ 'signIn.providers.onelogin.message': 'OneLogin を使用してサインイン',
+ 'signIn.providers.saml.title': 'SAML',
+ 'signIn.providers.saml.message': 'SAML を使用してサインイン',
+ 'catalog.entityPage.overview.title': '概要',
+ 'catalog.entityPage.topology.title': 'トポロジー',
+ 'catalog.entityPage.issues.title': 'イシュー',
+ 'catalog.entityPage.pullRequests.title': 'プル/マージリクエスト',
+ 'catalog.entityPage.ci.title': 'CI',
+ 'catalog.entityPage.cd.title': 'CD',
+ 'catalog.entityPage.kubernetes.title': 'Kubernetes',
+ 'catalog.entityPage.imageRegistry.title': 'イメージレジストリー',
+ 'catalog.entityPage.monitoring.title': 'モニタリング',
+ 'catalog.entityPage.lighthouse.title': 'Lighthouse',
+ 'catalog.entityPage.api.title': 'API',
+ 'catalog.entityPage.dependencies.title': '依存関係',
+ 'catalog.entityPage.docs.title': 'ドキュメント',
+ 'catalog.entityPage.definition.title': '定義',
+ 'catalog.entityPage.diagram.title': 'システム図',
+ 'catalog.entityPage.workflows.title': 'ワークフロー',
+ 'app.scaffolder.title': 'セルフサービス',
+ 'app.search.title': '検索',
+ 'app.search.resultType': '結果タイプ',
+ 'app.search.softwareCatalog': 'ソフトウェアカタログ',
+ 'app.search.filters.kind': '種類',
+ 'app.search.filters.lifecycle': 'ライフサイクル',
+ 'app.search.filters.component': 'コンポーネント',
+ 'app.search.filters.template': 'テンプレート',
+ 'app.search.filters.experimental': '実験的',
+ 'app.search.filters.production': '実稼働',
+ 'app.learningPaths.title': 'ラーニングパス',
+ 'app.learningPaths.error.title': 'データを取得できませんでした。',
+ 'app.learningPaths.error.unknownError': '不明なエラー',
+ 'app.userSettings.infoCard.title': 'RHDH メタデータ',
+ 'app.userSettings.infoCard.metadataCopied':
+ 'メタデータがクリップボードにコピーされました',
+ 'app.userSettings.infoCard.copyMetadata':
+ 'メタデータをクリップボードにコピーする',
+ 'app.userSettings.infoCard.showLess': '簡易表示',
+ 'app.userSettings.infoCard.showMore': '詳細表示',
+ 'app.errors.contactSupport': 'サポートにお問い合わせください',
+ 'app.errors.goBack': '戻る',
+ 'app.errors.notFound.message': '該当するページが見つかりませんでした',
+ 'app.errors.notFound.additionalInfo':
+ 'お探しのページは削除されたか、名前が変更されたか、一時的に利用できない可能性があります。',
+ 'app.table.createdAt': '作成日時',
+ },
+});
diff --git a/packages/app/src/translations/scaffolder/fr.ts b/packages/app/src/translations/scaffolder/fr.ts
new file mode 100644
index 0000000000..dc6240805a
--- /dev/null
+++ b/packages/app/src/translations/scaffolder/fr.ts
@@ -0,0 +1,273 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { scaffolderTranslationRef } from '@backstage/plugin-scaffolder/alpha';
+
+export default createTranslationMessages({
+ ref: scaffolderTranslationRef,
+ full: false,
+ messages: {
+ 'templateListPage.contentHeader.registerExistingButtonTitle':
+ 'Importer un dépôt Git existant',
+ 'aboutCard.launchTemplate': 'Modèle de lancement',
+ 'actionsPage.title': 'Actions installées',
+ 'actionsPage.pageTitle': 'Créer un nouveau composant',
+ 'actionsPage.subtitle':
+ "Il s'agit de la collection de toutes les actions installées",
+ 'actionsPage.content.emptyState.title': 'Aucune information à afficher',
+ 'actionsPage.content.emptyState.description':
+ "Aucune action n'est installée ou il y a eu un problème de communication avec le backend.",
+ 'actionsPage.content.searchFieldPlaceholder': 'Rechercher une action',
+ 'actionsPage.action.input': 'Saisir',
+ 'actionsPage.action.output': 'Sortir',
+ 'actionsPage.action.examples': 'Exemples',
+ 'fields.entityNamePicker.title': 'Nom',
+ 'fields.entityNamePicker.description': 'Nom unique du composant',
+ 'fields.entityPicker.title': 'Entité',
+ 'fields.entityPicker.description': 'Une entité du catalogue',
+ 'fields.entityTagsPicker.title': 'Mots-clés',
+ 'fields.entityTagsPicker.description':
+ 'Ajoutez toutes les balises pertinentes, appuyez sur « Entrée » pour ajouter de nouvelles balises. Format valide : [a-z0-9+#] séparés par [-], au maximum 63 caractères',
+ 'fields.multiEntityPicker.title': 'Entité',
+ 'fields.multiEntityPicker.description': 'Une entité du catalogue',
+ 'fields.myGroupsPicker.title': 'Entité',
+ 'fields.myGroupsPicker.description': 'Une entité du catalogue',
+ 'fields.ownedEntityPicker.title': 'Entité',
+ 'fields.ownedEntityPicker.description': 'Une entité du catalogue',
+ 'fields.ownerPicker.title': 'Propriétaire',
+ 'fields.ownerPicker.description': 'Le propriétaire du composant',
+ 'fields.azureRepoPicker.organization.title': 'Organisation',
+ 'fields.azureRepoPicker.organization.description':
+ "L'organisation à laquelle appartiendra ce dépôt",
+ 'fields.azureRepoPicker.project.title': 'Projet',
+ 'fields.azureRepoPicker.project.description':
+ 'Le projet auquel ce dépôt appartiendra',
+ 'fields.bitbucketRepoPicker.workspaces.title':
+ 'Espaces de travail autorisés',
+ 'fields.bitbucketRepoPicker.workspaces.inputTitle': 'Espaces de travail',
+ 'fields.bitbucketRepoPicker.workspaces.description':
+ "L'espace de travail auquel ce dépôt appartiendra",
+ 'fields.bitbucketRepoPicker.project.title': 'Projets autorisés',
+ 'fields.bitbucketRepoPicker.project.inputTitle': 'Projets',
+ 'fields.bitbucketRepoPicker.project.description':
+ 'Le projet auquel ce dépôt appartiendra',
+ 'fields.gerritRepoPicker.owner.title': 'Propriétaire',
+ 'fields.gerritRepoPicker.owner.description':
+ 'Le propriétaire du projet (facultatif)',
+ 'fields.gerritRepoPicker.parent.title': 'Mère',
+ 'fields.gerritRepoPicker.parent.description':
+ 'Le parent du projet auquel appartiendra le dépôt',
+ 'fields.giteaRepoPicker.owner.title': 'Propriétaire disponible',
+ 'fields.giteaRepoPicker.owner.inputTitle': 'Propriétaire',
+ 'fields.giteaRepoPicker.owner.description':
+ 'Espace de noms Gitea auquel appartiendra ce dépôt. Il peut s’agir du nom d’une organisation, d’un groupe, d’un sous-groupe, d’un utilisateur ou du projet.',
+ 'fields.githubRepoPicker.owner.title': 'Propriétaire disponible',
+ 'fields.githubRepoPicker.owner.inputTitle': 'Propriétaire',
+ 'fields.githubRepoPicker.owner.description':
+ "L'organisation, l'utilisateur ou le projet auquel ce dépôt appartiendra",
+ 'fields.gitlabRepoPicker.owner.title': 'Propriétaire disponible',
+ 'fields.gitlabRepoPicker.owner.inputTitle': 'Propriétaire',
+ 'fields.gitlabRepoPicker.owner.description':
+ 'Espace de noms GitLab auquel appartiendra ce référentiel. Il peut s’agir du nom d’une organisation, d’un groupe, d’un sous-groupe, d’un utilisateur ou du projet.',
+ 'fields.repoUrlPicker.host.title': 'Hôte',
+ 'fields.repoUrlPicker.host.description':
+ "L'hôte où le référentiel sera créé",
+ 'fields.repoUrlPicker.repository.title': 'Dépôts disponibles',
+ 'fields.repoUrlPicker.repository.inputTitle': 'Dépôt',
+ 'fields.repoUrlPicker.repository.description': 'Le nom du référentiel',
+ 'listTaskPage.title': 'Liste des tâches du modèle',
+ 'listTaskPage.pageTitle': 'Modèles de tâches',
+ 'listTaskPage.subtitle': 'Toutes les tâches qui ont été commencées',
+ 'listTaskPage.content.emptyState.title': 'Aucune information à afficher',
+ 'listTaskPage.content.emptyState.description':
+ "Il n'y a aucune tâche ou il y a eu un problème de communication avec le backend.",
+ 'listTaskPage.content.tableTitle': 'Tâches',
+ 'listTaskPage.content.tableCell.taskID': 'ID de tâche',
+ 'listTaskPage.content.tableCell.template': 'Modèle',
+ 'listTaskPage.content.tableCell.created': 'Créé',
+ 'listTaskPage.content.tableCell.owner': 'Propriétaire',
+ 'listTaskPage.content.tableCell.status': 'Statut',
+ 'ownerListPicker.title': 'Propriétaire de la tâche',
+ 'ownerListPicker.options.owned': 'Possédé',
+ 'ownerListPicker.options.all': 'Tous',
+ 'ongoingTask.title': 'Course de',
+ 'ongoingTask.pageTitle.hasTemplateName': 'Série de {{templateName}}',
+ 'ongoingTask.pageTitle.noTemplateName': "Course d'échafaudeurs",
+ 'ongoingTask.subtitle': 'Tâche {{taskId}}',
+ 'ongoingTask.cancelButtonTitle': 'Annuler',
+ 'ongoingTask.retryButtonTitle': 'Réessayer',
+ 'ongoingTask.startOverButtonTitle': 'Recommencer',
+ 'ongoingTask.hideLogsButtonTitle': 'Masquer les journaux',
+ 'ongoingTask.showLogsButtonTitle': 'Afficher les journaux',
+ 'ongoingTask.contextMenu.hideLogs': 'Masquer les journaux',
+ 'ongoingTask.contextMenu.showLogs': 'Afficher les journaux',
+ 'ongoingTask.contextMenu.hideButtonBar': 'Masquer la barre de boutons',
+ 'ongoingTask.contextMenu.retry': 'Réessayer',
+ 'ongoingTask.contextMenu.showButtonBar': 'Afficher la barre de boutons',
+ 'ongoingTask.contextMenu.startOver': 'Recommencer',
+ 'ongoingTask.contextMenu.cancel': 'Annuler',
+ 'templateEditorForm.stepper.emptyText':
+ "Il n'y a aucun paramètre de spécification dans le modèle à prévisualiser.",
+ 'renderSchema.tableCell.name': 'Nom',
+ 'renderSchema.tableCell.title': 'Titre',
+ 'renderSchema.tableCell.description': 'Description',
+ 'renderSchema.tableCell.type': 'Taper',
+ 'renderSchema.undefined': 'Aucun schéma défini',
+ 'templatingExtensions.title': 'Extensions de modèles',
+ 'templatingExtensions.pageTitle': 'Extensions de modèles',
+ 'templatingExtensions.subtitle':
+ "Il s'agit de la collection d'extensions de modèles disponibles",
+ 'templatingExtensions.content.emptyState.title':
+ 'Aucune information à afficher',
+ 'templatingExtensions.content.emptyState.description':
+ "Aucune extension de modèle n'est disponible ou il y a eu un problème de communication avec le backend.",
+ 'templatingExtensions.content.searchFieldPlaceholder':
+ 'Rechercher une extension',
+ 'templatingExtensions.content.filters.title': 'Filtres',
+ 'templatingExtensions.content.filters.notAvailable':
+ "Aucun filtre de modèle n'est défini.",
+ 'templatingExtensions.content.filters.metadataAbsent':
+ 'Les métadonnées du filtre ne sont pas disponibles',
+ 'templatingExtensions.content.filters.schema.input': 'Saisir',
+ 'templatingExtensions.content.filters.schema.arguments': 'Arguments',
+ 'templatingExtensions.content.filters.schema.output': 'Sortir',
+ 'templatingExtensions.content.filters.examples': 'Exemples',
+ 'templatingExtensions.content.functions.title': 'Fonctions',
+ 'templatingExtensions.content.functions.notAvailable':
+ "Aucune fonction de modèle globale n'est définie.",
+ 'templatingExtensions.content.functions.metadataAbsent':
+ 'Métadonnées de fonction indisponibles',
+ 'templatingExtensions.content.functions.schema.arguments': 'Arguments',
+ 'templatingExtensions.content.functions.schema.output': 'Sortir',
+ 'templatingExtensions.content.functions.examples': 'Exemples',
+ 'templatingExtensions.content.values.title': 'Valeurs',
+ 'templatingExtensions.content.values.notAvailable':
+ "Aucune valeur de modèle globale n'est définie.",
+ 'templateTypePicker.title': 'Catégories',
+ 'templateIntroPage.title': 'Gérer les modèles',
+ 'templateIntroPage.subtitle':
+ 'Modifiez, prévisualisez et essayez des modèles, des formulaires et des champs personnalisés',
+ 'templateFormPage.title': 'Éditeur de modèles',
+ 'templateFormPage.subtitle':
+ 'Modifier, prévisualiser et tester des modèles de formulaires',
+ 'templateCustomFieldPage.title': 'Explorateur de champs personnalisés',
+ 'templateCustomFieldPage.subtitle':
+ 'Modifier, prévisualiser et tester les champs personnalisés',
+ 'templateEditorPage.title': 'Éditeur de modèles',
+ 'templateEditorPage.subtitle':
+ 'Modifier, prévisualiser et tester des modèles et des formulaires de modèles',
+ 'templateEditorPage.dryRunResults.title': "Résultats de l'essai à blanc",
+ 'templateEditorPage.dryRunResultsList.title': 'Résultat {{resultId}}',
+ 'templateEditorPage.dryRunResultsList.downloadButtonTitle':
+ 'Télécharger au format .zip',
+ 'templateEditorPage.dryRunResultsList.deleteButtonTitle':
+ 'Supprimer le résultat',
+ 'templateEditorPage.dryRunResultsView.tab.files': 'Fichiers',
+ 'templateEditorPage.dryRunResultsView.tab.log': 'Enregistrer',
+ 'templateEditorPage.dryRunResultsView.tab.output': 'Sortir',
+ 'templateEditorPage.taskStatusStepper.skippedStepTitle': 'Ignoré',
+ 'templateEditorPage.customFieldExplorer.selectFieldLabel':
+ 'Choisissez une extension de champ personnalisée',
+ 'templateEditorPage.customFieldExplorer.fieldForm.title':
+ 'Options de champ',
+ 'templateEditorPage.customFieldExplorer.fieldForm.applyButtonTitle':
+ 'Appliquer',
+ 'templateEditorPage.customFieldExplorer.fieldPreview.title':
+ 'Aperçu du terrain',
+ 'templateEditorPage.customFieldExplorer.preview.title':
+ 'Spécifications du modèle',
+ 'templateEditorPage.templateEditorBrowser.closeConfirmMessage':
+ 'Es-tu sûr? Les modifications non enregistrées seront perdues',
+ 'templateEditorPage.templateEditorBrowser.saveIconTooltip':
+ 'Enregistrer tous les fichiers',
+ 'templateEditorPage.templateEditorBrowser.reloadIconTooltip':
+ 'Recharger le répertoire',
+ 'templateEditorPage.templateEditorBrowser.closeIconTooltip':
+ 'Fermer le répertoire',
+ 'templateEditorPage.templateEditorIntro.title':
+ "Commencez par choisir l'une des options ci-dessous",
+ 'templateEditorPage.templateEditorIntro.loadLocal.title':
+ 'Charger le répertoire des modèles',
+ 'templateEditorPage.templateEditorIntro.loadLocal.description':
+ "Chargez un répertoire de modèles local, vous permettant à la fois de modifier et d'essayer d'exécuter votre propre modèle.",
+ 'templateEditorPage.templateEditorIntro.loadLocal.unsupportedTooltip':
+ 'Uniquement pris en charge dans certains navigateurs basés sur Chromium avec la page chargée via HTTPS',
+ 'templateEditorPage.templateEditorIntro.createLocal.title':
+ 'Créer un nouveau modèle',
+ 'templateEditorPage.templateEditorIntro.createLocal.description':
+ "Créez un répertoire de modèles local, vous permettant à la fois de modifier et d'essayer d'exécuter votre propre modèle.",
+ 'templateEditorPage.templateEditorIntro.createLocal.unsupportedTooltip':
+ 'Uniquement pris en charge dans certains navigateurs basés sur Chromium avec la page chargée via HTTPS',
+ 'templateEditorPage.templateEditorIntro.formEditor.title':
+ 'Modèle de formulaire de terrain de jeu',
+ 'templateEditorPage.templateEditorIntro.formEditor.description':
+ 'Prévisualisez et modifiez un modèle de formulaire, soit en utilisant un exemple de modèle, soit en chargeant un modèle à partir du catalogue.',
+ 'templateEditorPage.templateEditorIntro.fieldExplorer.title':
+ 'Explorateur de champs personnalisés',
+ 'templateEditorPage.templateEditorIntro.fieldExplorer.description':
+ 'Affichez et jouez avec les extensions de champs personnalisés installées disponibles.',
+ 'templateEditorPage.templateEditorTextArea.saveIconTooltip':
+ 'Enregistrer le fichier',
+ 'templateEditorPage.templateEditorTextArea.refreshIconTooltip':
+ 'Recharger le fichier',
+ 'templateEditorPage.templateEditorTextArea.emptyStateParagraph':
+ 'Veuillez sélectionner une action dans le menu fichier.',
+ 'templateEditorPage.templateFormPreviewer.title':
+ 'Charger le modèle existant',
+ 'templateListPage.title': 'Créer un nouveau composant',
+ 'templateListPage.subtitle':
+ "Créez de nouveaux composants logiciels à l'aide de modèles standard dans votre organisation",
+ 'templateListPage.pageTitle': 'Créer un nouveau composant',
+ 'templateListPage.templateGroups.defaultTitle': 'Modèles',
+ 'templateListPage.templateGroups.otherTitle': 'Autres modèles',
+ 'templateListPage.contentHeader.supportButtonTitle':
+ 'Créez de nouveaux composants logiciels à l’aide de modèles standard. Différents modèles créent différents types de composants (services, sites Web, documentation, ...).',
+ 'templateListPage.additionalLinksForEntity.viewTechDocsTitle':
+ 'Voir TechDocs',
+ 'templateWizardPage.title': 'Créer un nouveau composant',
+ 'templateWizardPage.subtitle':
+ "Créez de nouveaux composants logiciels à l'aide de modèles standard dans votre organisation",
+ 'templateWizardPage.pageTitle': 'Créer un nouveau composant',
+ 'templateWizardPage.pageContextMenu.editConfigurationTitle':
+ 'Modifier la configuration',
+ 'templateEditorToolbar.customFieldExplorerTooltip':
+ 'Explorateur de champs personnalisés',
+ 'templateEditorToolbar.installedActionsDocumentationTooltip':
+ 'Documentation des actions installées',
+ 'templateEditorToolbar.templatingExtensionsDocumentationTooltip':
+ 'Documentation des extensions de modèles',
+ 'templateEditorToolbar.addToCatalogButton': 'Publier',
+ 'templateEditorToolbar.addToCatalogDialogTitle':
+ 'Publier les modifications',
+ 'templateEditorToolbar.addToCatalogDialogContent.stepsIntroduction':
+ 'Suivez les instructions ci-dessous pour créer ou mettre à jour un modèle :',
+ 'templateEditorToolbar.addToCatalogDialogContent.stepsListItems':
+ "Enregistrez les fichiers de modèle dans un répertoire local Créez une demande d'extraction vers un dépôt git nouveau ou existant Si le modèle existe déjà, les modifications seront reflétées dans le catalogue de logiciels une fois la demande d'extraction fusionnée Mais si vous créez un nouveau modèle, suivez la documentation liée ci-dessous pour enregistrer le nouveau dépôt de modèles dans le catalogue de logiciels",
+ 'templateEditorToolbar.addToCatalogDialogActions.documentationButton':
+ 'Accéder à la documentation',
+ 'templateEditorToolbar.addToCatalogDialogActions.documentationUrl':
+ 'https://backstage.io/docs/features/software-templates/adding-templates/',
+ 'templateEditorToolbarFileMenu.button': 'Déposer',
+ 'templateEditorToolbarFileMenu.options.openDirectory':
+ 'Ouvrir le répertoire des modèles',
+ 'templateEditorToolbarFileMenu.options.createDirectory':
+ 'Créer un répertoire de modèles',
+ 'templateEditorToolbarFileMenu.options.closeEditor':
+ "Fermer l'éditeur de modèles",
+ 'templateEditorToolbarTemplatesMenu.button': 'Modèles',
+ },
+});
diff --git a/packages/app/src/translations/scaffolder/it.ts b/packages/app/src/translations/scaffolder/it.ts
new file mode 100644
index 0000000000..09923f0e09
--- /dev/null
+++ b/packages/app/src/translations/scaffolder/it.ts
@@ -0,0 +1,27 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { scaffolderTranslationRef } from '@backstage/plugin-scaffolder/alpha';
+
+export default createTranslationMessages({
+ ref: scaffolderTranslationRef,
+ full: false,
+ messages: {
+ 'templateListPage.contentHeader.registerExistingButtonTitle':
+ 'Importa un repository Git esistente',
+ },
+});
diff --git a/packages/app/src/translations/scaffolder/ja.ts b/packages/app/src/translations/scaffolder/ja.ts
new file mode 100644
index 0000000000..a222db7ac0
--- /dev/null
+++ b/packages/app/src/translations/scaffolder/ja.ts
@@ -0,0 +1,27 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { scaffolderTranslationRef } from '@backstage/plugin-scaffolder/alpha';
+
+export default createTranslationMessages({
+ ref: scaffolderTranslationRef,
+ full: false,
+ messages: {
+ 'templateListPage.contentHeader.registerExistingButtonTitle':
+ '既存の Git リポジトリーのインポート',
+ },
+});
diff --git a/packages/app/src/translations/scaffolder/scaffolder.ts b/packages/app/src/translations/scaffolder/scaffolder.ts
index 5976ba6f80..22dc0f0d3c 100644
--- a/packages/app/src/translations/scaffolder/scaffolder.ts
+++ b/packages/app/src/translations/scaffolder/scaffolder.ts
@@ -5,5 +5,8 @@ export const scaffolderTranslations = createTranslationResource({
ref: scaffolderTranslationRef,
translations: {
en: () => import('./scaffolder-en'),
+ fr: () => import('./fr'),
+ it: () => import('./it'),
+ ja: () => import('./ja'),
},
});
diff --git a/packages/app/src/translations/search/ja.ts b/packages/app/src/translations/search/ja.ts
new file mode 100644
index 0000000000..b0d18b9193
--- /dev/null
+++ b/packages/app/src/translations/search/ja.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { searchTranslationRef } from '@backstage/plugin-search/alpha';
+
+export default createTranslationMessages({
+ ref: searchTranslationRef,
+ full: false,
+ messages: {
+ 'sidebarSearchModal.title': '検索',
+ },
+});
diff --git a/packages/app/src/translations/search/search-fr.ts b/packages/app/src/translations/search/search-fr.ts
index e0ebca0c94..b2f849a54d 100644
--- a/packages/app/src/translations/search/search-fr.ts
+++ b/packages/app/src/translations/search/search-fr.ts
@@ -1,12 +1,32 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
import { searchTranslationRef } from '@backstage/plugin-search/alpha';
-const fr = createTranslationMessages({
+export default createTranslationMessages({
ref: searchTranslationRef,
full: false,
messages: {
'sidebarSearchModal.title': 'Rechercher',
+ 'searchModal.viewFullResults': 'Voir les résultats complets',
+ 'searchType.allResults': 'Tous les résultats',
+ 'searchType.tabs.allTitle': 'Tous',
+ 'searchType.accordion.allTitle': 'Tous',
+ 'searchType.accordion.collapse': 'Effondrement',
+ 'searchType.accordion.numberOfResults': '{{number}} résultats',
},
});
-
-export default fr;
diff --git a/packages/app/src/translations/search/search-it.ts b/packages/app/src/translations/search/search-it.ts
index 0f2f395693..c69be20823 100644
--- a/packages/app/src/translations/search/search-it.ts
+++ b/packages/app/src/translations/search/search-it.ts
@@ -1,12 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
import { searchTranslationRef } from '@backstage/plugin-search/alpha';
-const it = createTranslationMessages({
+export default createTranslationMessages({
ref: searchTranslationRef,
full: false,
messages: {
- 'sidebarSearchModal.title': 'Cerca',
+ 'sidebarSearchModal.title': 'Ricerca',
},
});
-
-export default it;
diff --git a/packages/app/src/translations/search/search.ts b/packages/app/src/translations/search/search.ts
index 606489d6f2..e2d1d142f9 100644
--- a/packages/app/src/translations/search/search.ts
+++ b/packages/app/src/translations/search/search.ts
@@ -7,6 +7,7 @@ export const searchTranslations = createTranslationResource({
en: () => import('./search-en'),
de: () => import('./search-de'),
fr: () => import('./search-fr'),
+ ja: () => import('./ja'),
es: () => import('./search-es'),
it: () => import('./search-it'),
},
diff --git a/packages/app/src/translations/user-settings/ja.ts b/packages/app/src/translations/user-settings/ja.ts
new file mode 100644
index 0000000000..0773416312
--- /dev/null
+++ b/packages/app/src/translations/user-settings/ja.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
+import { userSettingsTranslationRef } from '@backstage/plugin-user-settings/alpha';
+
+export default createTranslationMessages({
+ ref: userSettingsTranslationRef,
+ full: false,
+ messages: {
+ sidebarTitle: '設定',
+ },
+});
diff --git a/packages/app/src/translations/user-settings/user-settings-fr.ts b/packages/app/src/translations/user-settings/user-settings-fr.ts
index 87237e58a5..2f41f0f665 100644
--- a/packages/app/src/translations/user-settings/user-settings-fr.ts
+++ b/packages/app/src/translations/user-settings/user-settings-fr.ts
@@ -1,12 +1,84 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
import { userSettingsTranslationRef } from '@backstage/plugin-user-settings/alpha';
-const fr = createTranslationMessages({
+export default createTranslationMessages({
ref: userSettingsTranslationRef,
full: false,
messages: {
sidebarTitle: 'Paramètres',
+ 'languageToggle.title': 'Langue',
+ 'languageToggle.description': 'Changer la langue',
+ 'languageToggle.select': 'Sélectionnez la langue {{language}}',
+ 'themeToggle.title': 'Thème',
+ 'themeToggle.description': 'Changer le mode de thème',
+ 'themeToggle.select': 'Sélectionnez le thème {{theme}}',
+ 'themeToggle.selectAuto': 'Sélectionner le thème automatique',
+ 'themeToggle.names.light': 'Lumière',
+ 'themeToggle.names.dark': 'Sombre',
+ 'themeToggle.names.auto': 'Auto',
+ 'signOutMenu.title': 'Se déconnecter',
+ 'signOutMenu.moreIconTitle': 'plus',
+ 'pinToggle.title': 'Épingler la barre latérale',
+ 'pinToggle.description': "Empêcher l'effondrement de la barre latérale",
+ 'pinToggle.switchTitles.unpin': 'Détacher la barre latérale',
+ 'pinToggle.switchTitles.pin': 'Épingler la barre latérale',
+ 'pinToggle.ariaLabelTitle': 'Commutateur de barre latérale à broches',
+ 'identityCard.title': 'Identité des coulisses',
+ 'identityCard.noIdentityTitle': 'Aucune identité en coulisses',
+ 'identityCard.userEntity': 'Entité utilisateur',
+ 'identityCard.ownershipEntities': 'Entités propriétaires',
+ 'defaultProviderSettings.description':
+ 'Fournit une authentification vers les API et les identités {{provider}}',
+ 'emptyProviders.title': "Aucun fournisseur d'authentification",
+ 'emptyProviders.description':
+ 'Vous pouvez ajouter des fournisseurs d’authentification à Backstage, ce qui vous permet d’utiliser ces fournisseurs pour vous authentifier.',
+ 'emptyProviders.action.title':
+ 'Ouvrez app-config.yaml et effectuez les modifications comme indiqué ci-dessous :',
+ 'emptyProviders.action.readMoreButtonTitle': 'En savoir plus',
+ 'providerSettingsItem.title.signIn': 'Connectez-vous à {{title}}',
+ 'providerSettingsItem.title.signOut': 'Se déconnecter de {{title}}',
+ 'providerSettingsItem.buttonTitle.signIn': 'Se connecter',
+ 'providerSettingsItem.buttonTitle.signOut': 'Se déconnecter',
+ 'authProviders.title': 'Fournisseurs disponibles',
+ 'defaultSettingsPage.tabsTitle.general': 'Général',
+ 'defaultSettingsPage.tabsTitle.authProviders':
+ "Fournisseurs d'authentification",
+ 'defaultSettingsPage.tabsTitle.featureFlags': 'Drapeaux de fonctionnalités',
+ 'featureFlags.title': 'Drapeaux de fonctionnalités',
+ 'featureFlags.description':
+ 'Veuillez actualiser la page lorsque vous activez ou désactivez les indicateurs de fonctionnalité.',
+ 'featureFlags.emptyFlags.title': 'Aucun indicateur de fonctionnalité',
+ 'featureFlags.emptyFlags.description':
+ "Les indicateurs de fonctionnalités permettent aux plugins d'enregistrer des fonctionnalités dans Backstage pour que les utilisateurs puissent les accepter. Vous pouvez l'utiliser pour diviser la logique dans votre code pour les tests A/B manuels, etc.",
+ 'featureFlags.emptyFlags.action.title':
+ 'Un exemple de la manière d’ajouter un indicateur de fonctionnalité est mis en évidence ci-dessous :',
+ 'featureFlags.emptyFlags.action.readMoreButtonTitle': 'En savoir plus',
+ 'featureFlags.filterTitle': 'Filtre',
+ 'featureFlags.clearFilter': 'Effacer le filtre',
+ 'featureFlags.flagItem.title.disable': 'Désactiver',
+ 'featureFlags.flagItem.title.enable': 'Activer',
+ 'featureFlags.flagItem.subtitle.registeredInApplication':
+ "Enregistré dans l'application",
+ 'featureFlags.flagItem.subtitle.registeredInPlugin':
+ 'Enregistré dans le plugin {{pluginId}}',
+ 'settingsLayout.title': 'Paramètres',
+ 'profileCard.title': 'Profil',
+ 'appearanceCard.title': 'Apparence',
},
});
-
-export default fr;
diff --git a/packages/app/src/translations/user-settings/user-settings-it.ts b/packages/app/src/translations/user-settings/user-settings-it.ts
index 2cf4d71a32..38b03e286c 100644
--- a/packages/app/src/translations/user-settings/user-settings-it.ts
+++ b/packages/app/src/translations/user-settings/user-settings-it.ts
@@ -1,12 +1,26 @@
+/*
+ * Copyright Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
import { userSettingsTranslationRef } from '@backstage/plugin-user-settings/alpha';
-const it = createTranslationMessages({
+export default createTranslationMessages({
ref: userSettingsTranslationRef,
full: false,
messages: {
sidebarTitle: 'Impostazioni',
},
});
-
-export default it;
diff --git a/packages/app/src/translations/user-settings/user-settings.ts b/packages/app/src/translations/user-settings/user-settings.ts
index 27d8f52393..bd463e5b37 100644
--- a/packages/app/src/translations/user-settings/user-settings.ts
+++ b/packages/app/src/translations/user-settings/user-settings.ts
@@ -7,6 +7,7 @@ export const userSettingsTranslations = createTranslationResource({
en: () => import('./user-settings-en'),
de: () => import('./user-settings-de'),
fr: () => import('./user-settings-fr'),
+ ja: () => import('./ja'),
es: () => import('./user-settings-es'),
it: () => import('./user-settings-it'),
},
diff --git a/translations/community-plugins-reference-2025-12-05-fr-C.json b/translations/community-plugins-reference-2025-12-05-fr-C.json
new file mode 100644
index 0000000000..ab9696f2d4
--- /dev/null
+++ b/translations/community-plugins-reference-2025-12-05-fr-C.json
@@ -0,0 +1,906 @@
+{
+ "plugin.acr": {
+ "fr": {
+ "page.title": "Azure Container Registry Repository: {{image}}",
+ "table.searchPlaceholder": "Filtre",
+ "table.labelRowsSelect": "Lignes",
+ "table.columns.tag": "Balise",
+ "table.columns.created": "Créé",
+ "table.columns.lastModified": "Dernière modification",
+ "table.columns.manifest": "Manifeste"
+ }
+ },
+ "plugin.adr": {
+ "fr": {
+ "contentHeaderTitle": "Dossiers de décision d'architecture",
+ "failedToFetch": "Échec de la récupération des ADR",
+ "notFound": "Aucun effet indésirable n'a été trouvé"
+ }
+ },
+ "plugin.announcements-react": {
+ "fr": {
+ "announcementForm.title": "Titre",
+ "announcementForm.excerpt": "Extrait",
+ "announcementForm.active": "Actif",
+ "announcementForm.submit": "Soumettre",
+ "announcementForm.editAnnouncement": "Modifier l'annonce",
+ "announcementForm.newAnnouncement": "Nouvelle annonce",
+ "announcementForm.startAt": "Date de début de l'annonce",
+ "announcementForm.untilDate": "Date de fin de l'annonce",
+ "announcementForm.onBehalfOf": "Au nom de",
+ "announcementForm.categoryInput.create": "Créer",
+ "announcementForm.categoryInput.label": "Catégorie",
+ "announcementForm.tagsInput.create": "Créer",
+ "announcementForm.tagsInput.label": "Mots-clés",
+ "announcementForm.tagsLabel": "Mots-clés",
+ "announcementsPage.newAnnouncement": "Nouvelle annonce",
+ "announcementsPage.genericNew": "Nouveau",
+ "announcementsPage.card.by": "Par",
+ "announcementsPage.card.in": "dans",
+ "announcementsPage.card.edit": "Modifier",
+ "announcementsPage.card.delete": "Supprimer",
+ "announcementsPage.card.occurred": "S'est produit ",
+ "announcementsPage.card.scheduled": "Programmé ",
+ "announcementsPage.card.today": "Aujourd'hui",
+ "announcementsPage.grid.announcementDeleted": "Annonce supprimée.",
+ "announcementsPage.contextMenu.admin": "Gérer les annonces",
+ "confirmDeleteDialog.title": "Voulez-vous vraiment supprimer ?",
+ "confirmDeleteDialog.cancel": "Annuler",
+ "confirmDeleteDialog.delete": "Supprimer",
+ "announcementsCard.seeAll": "Tout voir",
+ "announcementsCard.announcements": "Annonces",
+ "announcementsCard.new": "Nouveau",
+ "announcementsCard.in": "dans",
+ "announcementsCard.noAnnouncements": "Aucune annonce pour le moment, je veux",
+ "announcementsCard.addOne": "ajouter un",
+ "announcementsCard.occurred": "S'est produit",
+ "announcementsCard.scheduled": "Programmé",
+ "announcementsCard.today": "Aujourd'hui",
+ "announcementSearchResultListItem.published": "Publié",
+ "announcementSearchResultListItem.announcement": "Annonce",
+ "announcementsTimeline.noAnnouncements": "Aucune annonce",
+ "announcementsTimeline.error": "Erreur",
+ "categoriesForm.newCategory": "Nouvelle catégorie",
+ "categoriesForm.editCategory": "Modifier la catégorie",
+ "categoriesForm.titleLabel": "Titre",
+ "categoriesForm.submit": "Soumettre",
+ "categoriesTable.categoryDeleted": "Catégorie supprimée.",
+ "categoriesTable.slug": "Slug",
+ "categoriesTable.title": "Titre",
+ "categoriesTable.actions": "Actes",
+ "categoriesTable.addTooltip": "Ajouter",
+ "categoriesTable.noCategoriesFound": "Aucune catégorie trouvée.",
+ "categoriesPage.title": "Catégories",
+ "categoriesPage.subtitle": "Gérer les catégories d'annonces",
+ "tagsForm.newTag": "Nouvelle balise",
+ "tagsForm.editTag": "Modifier la balise",
+ "tagsForm.titleLabel": "Titre",
+ "tagsForm.submit": "Soumettre",
+ "tagsForm.errors.alreadyExists": "Une balise avec ce nom existe déjà.",
+ "tagsForm.errors.invalidTitle": "Le titre est obligatoire.",
+ "tagsForm.errors.tooLong": "Le titre dépasse la longueur maximale.",
+ "newTagDialog.createdMessage": "Balise créée.",
+ "newTagDialog.newTag": "Nouvelle balise",
+ "newTagDialog.title": "Titre",
+ "newTagDialog.cancelButton": "Annuler",
+ "newTagDialog.createButton": "Créer",
+ "tagsPage.title": "Mots-clés",
+ "tagsPage.subtitle": "Gérer les balises d'annonce",
+ "tagsTable.tagDeleted": "Balise supprimée.",
+ "tagsTable.slug": "Slug",
+ "tagsTable.title": "Titre",
+ "tagsTable.actions": "Actes",
+ "tagsTable.addTooltip": "Ajouter",
+ "tagsTable.noTagsFound": "Aucune balise trouvée.",
+ "createAnnouncementPage.alertMessage": "Annonce créée.",
+ "createAnnouncementPage.alertMessageWithNewCategory": "avec une nouvelle catégorie",
+ "editAnnouncementPage.updatedMessage": "Annonce mise à jour.",
+ "editAnnouncementPage.updatedMessageWithNewCategory": "avec une nouvelle catégorie",
+ "editAnnouncementPage.notFoundMessage": "Impossible de trouver l'annonce",
+ "editAnnouncementPage.edit": "Modifier",
+ "newAnnouncementBanner.markAsSeen": "Marquer comme vu",
+ "newCategoryDialog.createdMessage": "Catégorie créée.",
+ "newCategoryDialog.newCategory": "Nouvelle catégorie",
+ "newCategoryDialog.title": "Titre",
+ "newCategoryDialog.cancelButton": "Annuler",
+ "newCategoryDialog.createButton": "Créer",
+ "admin.adminPortal.announcementsLabels": "Annonces",
+ "admin.adminPortal.categoriesLabel": "Catégories",
+ "admin.adminPortal.tagsLabel": "Mots-clés",
+ "admin.adminPortal.title": "Portail d'administration pour les annonces",
+ "admin.adminPortal.subtitle": "Gérer les annonces et les catégories",
+ "admin.announcementsContent.alertMessage": "Annonce créée.",
+ "admin.announcementsContent.alertMessageWithNewCategory": "avec une nouvelle catégorie",
+ "admin.announcementsContent.cancelButton": "Annuler",
+ "admin.announcementsContent.createButton": "Créer une annonce",
+ "admin.announcementsContent.announcements": "Annonces",
+ "admin.announcementsContent.noAnnouncementsFound": "Aucune annonce trouvée",
+ "admin.announcementsContent.table.title": "Titre",
+ "admin.announcementsContent.table.body": "Contenu",
+ "admin.announcementsContent.table.publisher": "Éditeur",
+ "admin.announcementsContent.table.onBehalfOf": "Au nom de",
+ "admin.announcementsContent.table.category": "Catégorie",
+ "admin.announcementsContent.table.tags": "Mots-clés",
+ "admin.announcementsContent.table.status": "Statut",
+ "admin.announcementsContent.table.actions": "Actes",
+ "admin.announcementsContent.table.active": "Actif",
+ "admin.announcementsContent.table.inactive": "Inactif",
+ "admin.announcementsContent.table.created_at": "Créé",
+ "admin.announcementsContent.table.start_at": "Commencer",
+ "admin.announcementsContent.table.until_date": "Jusqu'à",
+ "admin.categoriesContent.createdMessage": "créé",
+ "admin.categoriesContent.deletedMessage": "Catégorie supprimée.",
+ "admin.categoriesContent.cancelButton": "Annuler",
+ "admin.categoriesContent.createButton": "Créer une catégorie",
+ "admin.categoriesContent.table.categoryDeleted": "Catégorie supprimée.",
+ "admin.categoriesContent.table.slug": "Slug",
+ "admin.categoriesContent.table.title": "Titre",
+ "admin.categoriesContent.table.actions": "Actes",
+ "admin.categoriesContent.table.addTooltip": "Ajouter",
+ "admin.categoriesContent.table.noCategoriesFound": "Aucune catégorie trouvée.",
+ "admin.tagsContent.createdMessage": "créé",
+ "admin.tagsContent.deletedMessage": "Balise supprimée.",
+ "admin.tagsContent.cancelButton": "Annuler",
+ "admin.tagsContent.createButton": "Créer une balise",
+ "admin.tagsContent.table.tagDeleted": "Balise supprimée.",
+ "admin.tagsContent.table.slug": "Slug",
+ "admin.tagsContent.table.title": "Titre",
+ "admin.tagsContent.table.actions": "Actes",
+ "admin.tagsContent.table.addTooltip": "Ajouter",
+ "admin.tagsContent.table.noTagsFound": "Aucune balise trouvée.",
+ "admin.tagsContent.errors.alreadyExists": "Une balise avec ce nom existe déjà."
+ }
+ },
+ "plugin.bookmarks": {
+ "fr": {
+ "bookmarkViewer.newTab": "Ouvrir dans un nouvel onglet",
+ "bookmarkViewer.navButton.next": "Suivant",
+ "bookmarkViewer.navButton.previous": "Précédent",
+ "bookmarkViewer.mobileView.toc": "Table de contenu",
+ "bookmarkViewerFrame.devModeWarning": "Vous devrez peut-être recharger la page pour que l'iframe se charge correctement en mode développement",
+ "entityBookmarksContent.invalid.title": "Format de signets invalide",
+ "entityBookmarksContent.invalid.description": "Assurez-vous que vos signets sont correctement structurés.",
+ "entityBookmarksContent.notFound.title": "Aucun signet trouvé",
+ "entityBookmarksContent.notFound.description": "Ajoutez des signets aux métadonnées de votre entité pour les voir ici."
+ }
+ },
+ "plugin.flux": {
+ "fr": {
+ "fluxContentCard.permissionAlert.title": "Autorisation requise",
+ "fluxContentCard.permissionAlert.message": "Le contenu de flux requiert une autorisation Kubernetes; contactez l'administrateur de votre portail pour qu'il vous accorde l'autorisation « kubernetes.clusters.read » et « kubernetes.resources.read »."
+ }
+ },
+ "plugin.jfrog-artifactory": {
+ "fr": {
+ "page.title": "JFrog Artifactory repository: {{image}}",
+ "table.searchPlaceholder": "Filtre",
+ "table.labelRowsSelect": "Lignes",
+ "table.columns.version": "Version",
+ "table.columns.repositories": "Dépôts",
+ "table.columns.manifest": "Manifeste",
+ "table.columns.modified": "Modifié",
+ "table.columns.size": "Taille",
+ "table.emptyContent.message": "Aucune donnée n’a été ajouté pour l’instant,",
+ "table.emptyContent.learnMore": "apprenez comment ajouter des données.",
+ "manifest.sha256": "sha256"
+ }
+ },
+ "plugin.linguist": {
+ "fr": {
+ "entityCard.title": "Langues",
+ "entityCard.noData": "Il n'y a actuellement aucune donnée linguistique pour cette entité."
+ }
+ },
+ "plugin.nexus-repository-manager": {
+ "fr": {
+ "table.title": "Nexus Repository Manager: {{title}}",
+ "table.searchPlaceholder": "Filtre",
+ "table.labelRowsSelect": "Lignes",
+ "table.columns.version": "Version",
+ "table.columns.artifact": "Artifact",
+ "table.columns.repositoryType": "Type de référentiel",
+ "table.columns.checksum": "Checksum",
+ "table.columns.modified": "Modifié",
+ "table.columns.size": "Taille",
+ "table.emptyValue": "N/A",
+ "table.emptyContent.message": "Aucune donnée n’a été ajouté pour l’instant,",
+ "table.emptyContent.linkText": "apprenez comment ajouter des données.",
+ "entityContent.title": "Build Artifacts"
+ }
+ },
+ "plugin.npm": {
+ "fr": {
+ "infoCard.title": "Paquet NPM {{packageName}}",
+ "infoCard.latestVersion": "Dernière version",
+ "infoCard.publishedAt": "Publié à",
+ "infoCard.license": "Licence",
+ "infoCard.description": "Description",
+ "infoCard.keywords": "Mots-clés",
+ "infoCard.registryName": "Nom du registre",
+ "infoCard.npmRepository": "référentiel NPM",
+ "infoCard.codeRepository": "Dépôt de code",
+ "infoCard.issueTracker": "Suivi des problèmes",
+ "infoCard.homepage": "Page d'accueil",
+ "releaseOverviewCard.title": "Balises actuelles",
+ "releaseOverviewCard.toolbar.searchPlaceholder": "Recherche",
+ "releaseOverviewCard.columns.tag": "Balise",
+ "releaseOverviewCard.columns.version": "Version",
+ "releaseOverviewCard.columns.published": "Publié",
+ "releaseTableCard.title": "Balises actuelles",
+ "releaseTableCard.toolbar.searchPlaceholder": "Recherche",
+ "releaseTableCard.columns.tag": "Balise",
+ "releaseTableCard.columns.version": "Version",
+ "releaseTableCard.columns.published": "Publié",
+ "versionHistoryCard.title": "Historique des versions",
+ "versionHistoryCard.toolbar.searchPlaceholder": "Recherche",
+ "versionHistoryCard.columns.version": "Version",
+ "versionHistoryCard.columns.published": "Publié"
+ }
+ },
+ "plugin.rbac": {
+ "fr": {
+ "page.title": "RBAC",
+ "page.createRole": "Créer un rôle",
+ "page.editRole": "Modifier le rôle",
+ "table.searchPlaceholder": "Filtre",
+ "table.labelRowsSelect": "Lignes",
+ "table.title": "Tous les rôles",
+ "table.titleWithCount": "Tous les rôles ({{count}})",
+ "table.headers.name": "Nom",
+ "table.headers.usersAndGroups": "Utilisateurs et groupes",
+ "table.headers.accessiblePlugins": "Plugins accessibles",
+ "table.headers.actions": "Actes",
+ "table.emptyContent": "Aucun enregistrement trouvé",
+ "toolbar.createButton": "Créer",
+ "toolbar.warning.title": "Impossible de créer le rôle.",
+ "toolbar.warning.message": "Pour activer le bouton Créer/Modifier un rôle, assurez-vous que les utilisateurs/groupes requis sont disponibles dans le catalogue, car un rôle ne peut pas être créé sans utilisateurs/groupes et que le rôle associé à votre utilisateur doit également avoir les politiques d'autorisation mentionnées. ici.",
+ "toolbar.warning.linkText": "ici",
+ "toolbar.warning.note": "Note",
+ "toolbar.warning.noteText": "Même après avoir ingéré des utilisateurs/groupes dans le catalogue et appliqué les autorisations ci-dessus, si le bouton Créer/Modifier est toujours désactivé, veuillez contacter votre administrateur car vous pourriez être conditionnellement limité dans l'accès au bouton Créer/Modifier.",
+ "errors.notFound": "Non trouvé",
+ "errors.unauthorized": "Non autorisé à créer un rôle",
+ "errors.rbacDisabled": "Activez le plugin backend RBAC pour utiliser cette fonctionnalité.",
+ "errors.rbacDisabledInfo": "Pour activer RBAC, définissez « permission.enabled » sur « true » dans le fichier app-config.",
+ "errors.fetchRoles": "Une erreur s'est produite lors de la récupération des rôles",
+ "errors.fetchRole": "Une erreur s'est produite lors de la récupération du rôle",
+ "errors.fetchPoliciesErr": "Erreur lors de la récupération des politiques. {{error}}",
+ "errors.fetchPolicies": "Une erreur s'est produite lors de la récupération des politiques d'autorisation.",
+ "errors.fetchPlugins": "Erreur lors de la récupération des plugins. {{error}}",
+ "errors.fetchConditionalPermissionPolicies": "Erreur lors de la récupération des politiques d'autorisation conditionnelle. {{error}}",
+ "errors.fetchConditions": "Une erreur s'est produite lors de la récupération des conditions de rôle",
+ "errors.fetchUsersAndGroups": "Une erreur s'est produite lors de la récupération des utilisateurs et des groupes",
+ "errors.createRole": "Impossible de créer le rôle.",
+ "errors.editRole": "Impossible de modifier le rôle.",
+ "errors.deleteRole": "Impossible de supprimer le rôle.",
+ "errors.roleCreatedSuccess": "Le rôle a été créé avec succès, mais il n'a pas été possible d'ajouter des stratégies d'autorisation au rôle.",
+ "errors.roleCreatedConditionsSuccess": "Rôle créé avec succès mais impossible d'ajouter des conditions au rôle.",
+ "roleForm.titles.createRole": "Créer un rôle",
+ "roleForm.titles.editRole": "Modifier le rôle",
+ "roleForm.titles.nameAndDescription": "Entrez le nom et la description du rôle",
+ "roleForm.titles.usersAndGroups": "Ajouter des utilisateurs et des groupes",
+ "roleForm.titles.permissionPolicies": "Ajouter des politiques d'autorisation",
+ "roleForm.review.reviewAndCreate": "Réviser et créer",
+ "roleForm.review.reviewAndSave": "Révisez et enregistrez",
+ "roleForm.review.nameDescriptionOwner": "Nom, description et propriétaire du rôle",
+ "roleForm.steps.next": "Suivant",
+ "roleForm.steps.back": "Retour",
+ "roleForm.steps.cancel": "Annuler",
+ "roleForm.steps.reset": "Réinitialiser",
+ "roleForm.steps.create": "Créer",
+ "roleForm.steps.save": "Sauvegarder",
+ "roleForm.fields.name.label": "Nom",
+ "roleForm.fields.name.helperText": "Entrez le nom du rôle",
+ "roleForm.fields.description.label": "Description",
+ "roleForm.fields.description.helperText": "Saisissez une brève description du rôle (le but du rôle)",
+ "roleForm.fields.owner.label": "Propriétaire",
+ "roleForm.fields.owner.helperText": "Facultatif : saisissez un utilisateur ou un groupe qui sera autorisé à modifier ce rôle et à créer des rôles supplémentaires. À l’étape suivante, spécifiez les utilisateurs auxquels ils peuvent attribuer leurs rôles et les plugins auxquels ils peuvent accorder l’accès. Si laissé vide, attribue automatiquement l'auteur lors de la création.",
+ "deleteDialog.title": "Supprimer le rôle",
+ "deleteDialog.question": "Supprimer ce rôle ?",
+ "deleteDialog.confirmation": "Êtes-vous sûr de vouloir supprimer le rôle **{{roleName}}** ? La suppression de ce rôle est irréversible et supprimera sa fonctionnalité du système. Procédez avec prudence. Les **{{members}}** associés à ce rôle perdront l'accès à toutes les **{{permissions}} politiques d'autorisation** spécifiées dans ce rôle.",
+ "deleteDialog.roleNameLabel": "Nom du rôle",
+ "deleteDialog.roleNameHelper": "Tapez le nom du rôle pour confirmer",
+ "deleteDialog.deleteButton": "Supprimer",
+ "deleteDialog.cancelButton": "Annuler",
+ "deleteDialog.successMessage": "Le rôle {{roleName}} a été supprimé avec succès",
+ "snackbar.success": "Succès",
+ "dialog.cancelRoleCreation": "Annuler la création du rôle",
+ "dialog.exitRoleCreation": "Création d'un rôle de sortie ?",
+ "dialog.exitRoleEditing": "Quitter l'édition du rôle ?",
+ "dialog.exitWarning": "\n\nQuitter cette page supprimera définitivement les informations que vous avez saisies. Etes-vous sûr de vouloir quitter ?",
+ "dialog.discard": "Ignorer",
+ "dialog.cancel": "Annuler",
+ "conditionalAccess.condition": "Condition",
+ "conditionalAccess.allOf": "AllOf",
+ "conditionalAccess.anyOf": "AnyOf",
+ "conditionalAccess.not": "Aucun",
+ "conditionalAccess.addNestedCondition": "Ajouter une condition imbriquée",
+ "conditionalAccess.addRule": "Ajouter une règle",
+ "conditionalAccess.nestedConditionTooltip": "Les conditions imbriquées sont des **règles à 1 couche dans une condition principale**. Il vous permet d'autoriser un accès approprié en utilisant des autorisations détaillées basées sur diverses conditions. Vous pouvez ajouter plusieurs conditions imbriquées.",
+ "conditionalAccess.nestedConditionExample": "Par exemple, vous pouvez autoriser l’accès à tous les types d’entités dans la condition principale et utiliser une condition imbriquée pour limiter l’accès aux entités appartenant à l’utilisateur.",
+ "permissionPolicies.helperText": "Par défaut, les utilisateurs n'ont accès à aucun plugin. Pour accorder l’accès utilisateur, sélectionnez les plugins que vous souhaitez activer. Ensuite, sélectionnez les actions pour lesquelles vous souhaitez accorder l’autorisation à l’utilisateur.",
+ "permissionPolicies.allPlugins": "Tous les plugins ({{count}})",
+ "permissionPolicies.errorFetchingPolicies": "Erreur lors de la récupération des politiques d'autorisation : {{error}}",
+ "permissionPolicies.resourceTypeTooltip": "type de ressource : {{resourceType}}",
+ "permissionPolicies.advancedPermissionsTooltip": "Utilisez des autorisations personnalisées avancées pour autoriser l’accès à des parties spécifiques du type de ressource sélectionné.",
+ "permissionPolicies.pluginsSelected": "{{count}} plugins",
+ "permissionPolicies.noPluginsSelected": "Aucun plugin sélectionné",
+ "permissionPolicies.search": "Recherche",
+ "permissionPolicies.noRecordsToDisplay": "Aucun enregistrement à afficher",
+ "permissionPolicies.selectedPluginsAppearHere": "Les plugins sélectionnés apparaissent ici.",
+ "permissionPolicies.selectPlugins": "Sélectionner les plugins",
+ "permissionPolicies.noPluginsFound": "Aucun plugin trouvé",
+ "permissionPolicies.plugin": "Plugin",
+ "permissionPolicies.permission": "Autorisation",
+ "permissionPolicies.policies": "Politiques",
+ "permissionPolicies.conditional": "Conditionnel",
+ "permissionPolicies.rules": "règles",
+ "permissionPolicies.rule": "règle",
+ "permissionPolicies.permissionPolicies": "Politiques d'autorisation",
+ "permissionPolicies.permissions": "autorisations",
+ "common.noResults": "Aucun résultat pour cette plage de dates.",
+ "common.exportCSV": "Exporter au format CSV",
+ "common.csvFilename": "export-de-données.csv",
+ "common.noMembers": "Aucun membre",
+ "common.groups": "groupes",
+ "common.group": "groupe",
+ "common.users": "utilisateurs",
+ "common.user": "utilisateur",
+ "common.use": "Utiliser",
+ "common.refresh": "Rafraîchir",
+ "common.edit": "Modifier",
+ "common.unauthorizedToEdit": "Modification non autorisée",
+ "common.noRecordsFound": "Aucun enregistrement trouvé",
+ "common.selectUsersAndGroups": "Sélectionner les utilisateurs et les groupes",
+ "common.clearSearch": "supprimer la recherche",
+ "common.closeDrawer": "Fermez le tiroir",
+ "common.remove": "Supprimer",
+ "common.addRule": "Ajouter une règle",
+ "common.selectRule": "Sélectionnez une règle",
+ "common.rule": "Règle",
+ "common.removeNestedCondition": "Supprimer la condition imbriquée",
+ "common.overview": "Vue d’ensemble",
+ "common.about": "À propos",
+ "common.description": "Description",
+ "common.modifiedBy": "Modifié par",
+ "common.lastModified": "Dernière modification",
+ "common.owner": "Propriétaire",
+ "common.noUsersAndGroupsSelected": "Aucun utilisateur ni groupe sélectionné",
+ "common.selectedUsersAndGroupsAppearHere": "Les utilisateurs et groupes sélectionnés apparaissent ici.",
+ "common.name": "Nom",
+ "common.type": "Type",
+ "common.members": "Membres",
+ "common.actions": "Actes",
+ "common.removeMember": "Supprimer le membre",
+ "common.delete": "Supprimer",
+ "common.deleteRole": "Supprimer le rôle",
+ "common.update": "Mise à jour",
+ "common.editRole": "Modifier le rôle",
+ "common.checkingPermissions": "Vérification des autorisations…",
+ "common.unauthorizedTo": "Non autorisé à {{action}}",
+ "common.performThisAction": "effectuer cette action",
+ "common.unableToCreatePermissionPolicies": "Impossible de créer les politiques d'autorisation.",
+ "common.unableToDeletePermissionPolicies": "Impossible de supprimer les politiques d'autorisation.",
+ "common.unableToRemoveConditions": "Impossible de supprimer les conditions du rôle.",
+ "common.unableToUpdateConditions": "Impossible de mettre à jour les conditions.",
+ "common.unableToAddConditions": "Impossible d'ajouter des conditions au rôle.",
+ "common.roleActionSuccessfully": "Rôle {{roleName}} {{action}} avec succès",
+ "common.unableToFetchRole": "Impossible de récupérer le rôle : {{error}}",
+ "common.unableToFetchMembers": "Impossible de récupérer les membres : {{error}}",
+ "common.roleAction": "rôle {{action}}",
+ "common.membersCount": "{{count}} membres",
+ "common.parentGroupCount": "{{count}} groupe parent",
+ "common.childGroupsCount": "{{count}} groupes enfants",
+ "common.searchAndSelectUsersGroups": "Recherchez et sélectionnez les utilisateurs et les groupes à ajouter. Les utilisateurs et groupes sélectionnés apparaîtront dans le tableau ci-dessous.",
+ "common.noUsersAndGroupsFound": "Aucun utilisateur ni groupe trouvé.",
+ "common.errorFetchingUserGroups": "Erreur lors de la récupération de l'utilisateur et des groupes : {{error}}",
+ "common.nameRequired": "Le nom est obligatoire",
+ "common.noMemberSelected": "Aucun membre sélectionné",
+ "common.noPluginSelected": "Aucun plugin sélectionné",
+ "common.pluginRequired": "Le plugin est requis",
+ "common.permissionRequired": "Une autorisation est requise",
+ "common.editCell": "Modifier...",
+ "common.selectCell": "Sélectionner...",
+ "common.expandRow": "développer la ligne",
+ "common.configureAccessFor": "Configurer l'accès pour le",
+ "common.defaultResourceTypeVisible": "Par défaut, le type de ressource sélectionné est visible par tous les utilisateurs ajoutés. Si vous souhaitez restreindre ou accorder une autorisation à des règles de plugin spécifiques, sélectionnez-les et ajoutez les paramètres.",
+ "roleForm.steps.update": "Mise à jour"
+ }
+ },
+ "plugin.argocd": {
+ "fr": {
+ "appStatus.appHealthStatus.Healthy": "En bon fonctionnement",
+ "appStatus.appHealthStatus.Suspended": "Suspendu",
+ "appStatus.appHealthStatus.Degraded": "Dégradé",
+ "appStatus.appHealthStatus.Progressing": "Progression",
+ "appStatus.appHealthStatus.Missing": "Manquant",
+ "appStatus.appHealthStatus.Unknown": "Inconnu",
+ "appStatus.appSyncStatus.Unknown": "Inconnu",
+ "appStatus.appSyncStatus.Synced": "Synchronisé",
+ "appStatus.appSyncStatus.OutOfSync": "Désynchronisation",
+ "common.appServer.title": "Il s'agit du cluster local sur lequel Argo CD est installé.",
+ "common.permissionAlert.alertTitle": "Autorisation requise",
+ "common.permissionAlert.alertText": "Pour afficher le plugin argocd, contactez votre administrateur pour qu'il vous donne l'autorisation argocd.view.read.",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.name": "Nom",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.kind": "Type",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.createdAt": "Créé à",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.syncStatus": "Statut de synchronisation",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.healthStatus": "État de fonctionnement",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.ariaLabelledBy": "Ressources",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.noneFound": "Aucune ressource trouvée",
+ "deploymentLifecycle.sidebar.resources.resourcesTableRow.ariaLabel": "développer la ligne",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistory.bodyText": "Historique de déploiement",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistoryCommit.deployedText": "déployé",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.title": "Images",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.tooltipText": "Voici les images de tous les déploiements dans l'application ArgoCD.",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.namespace": "Espace de noms",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.commit": "Valider",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.namespace": "Espace de noms",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.strategy": "Stratégie",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.status": "Statut",
+ "deploymentLifecycle.sidebar.resources.resource.resourceMetadata.namespace": "Espace de noms",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.iconButton.ariaLabel": "davantage",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.refresh": "Rafraîchir",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.sync": "Synchroniser",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.placeholder": "Recherche par type",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.ariaLabel": "supprimer la recherche",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SearchByName": "Nom",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Kind": "Type",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SyncStatus": "Statut de synchronisation",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.HealthStatus": "État de fonctionnement",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Unset": "Filtrer par",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.searchByNameInput": "Rechercher par nom",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusInput": "Filtrer par état de fonctionnement",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusInput": "Filtrer par statut de synchronisation",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.kindInput": "Filtrer par type",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.resourceFilters": "Filtres de ressources",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.syncStatus": "Statut de synchronisation",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.kind": "Type",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Healthy": "En bon fonctionnement",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Suspended": "Suspendu",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Degraded": "Dégradé",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Progressing": "Progression",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Missing": "Manquant",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Unknown": "Inconnu",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Synced": "Synchronisé",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Unknown": "Inconnu",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.OutOfSync": "Désynchronisation",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.textPrimary": "Exécutions d'analyse",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.name": "Nom:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.createdAt": "Créé à :",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.status": "Statut:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.chipLabel": "Analyse",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.revision": "Révision",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.stable": "Stable",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.active": "Actif",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.preview": "Aperçu",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revision": "Révision",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.stable": "Stable",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.canary": "Canary",
+ "deploymentLifecycle.sidebar.rollouts.revisions.revisionImage.textPrimary": "Trafic vers l'image",
+ "deploymentLifecycle.sidebar.rollouts.rollOut.title": "Révisions",
+ "deploymentLifecycle.deploymentLifecycle.title": "Cycle de vie du déploiement",
+ "deploymentLifecycle.deploymentLifecycle.subtitle": "Examiner les composants/systèmes déployés dans l'espace de noms à l'aide du plugin ArgoCD",
+ "deploymentLifecycle.deploymentLifecycleCard.instance": "Exemple",
+ "deploymentLifecycle.deploymentLifecycleCard.server": "Serveur",
+ "deploymentLifecycle.deploymentLifecycleCard.namespace": "Espace de noms",
+ "deploymentLifecycle.deploymentLifecycleCard.commit": "Valider",
+ "deploymentLifecycle.deploymentLifecycleCard.tooltipText": "Le commit SHA indiqué ci-dessous est le dernier commit de la première source d'application définie.",
+ "deploymentLifecycle.deploymentLifecycleCard.resources": "Ressources",
+ "deploymentLifecycle.deploymentLifecycleCard.resourcesDeployed": "ressources déployées",
+ "deploymentLifecycle.deploymentLifecycleDrawer.iconButtonTitle": "Fermez le tiroir",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instance": "Exemple",
+ "deploymentLifecycle.deploymentLifecycleDrawer.cluster": "Cluster",
+ "deploymentLifecycle.deploymentLifecycleDrawer.namespace": "Espace de noms",
+ "deploymentLifecycle.deploymentLifecycleDrawer.commit": "Valider",
+ "deploymentLifecycle.deploymentLifecycleDrawer.revision": "Révision",
+ "deploymentLifecycle.deploymentLifecycleDrawer.resources": "Ressources",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instanceDefaultValue": "défaut",
+ "deploymentSummary.deploymentSummary.tableTitle": "Résumé du déploiement",
+ "deploymentSummary.deploymentSummary.columns.instance": "Exemple",
+ "deploymentSummary.deploymentSummary.columns.server": "Serveur",
+ "deploymentSummary.deploymentSummary.columns.revision": "Révision",
+ "deploymentSummary.deploymentSummary.columns.lastDeployed": "Dernier déploiement",
+ "deploymentSummary.deploymentSummary.columns.syncStatus": "Statut de synchronisation",
+ "deploymentSummary.deploymentSummary.columns.healthStatus": "État de fonctionnement"
+ }
+ },
+ "plugin.sonarqube": {
+ "fr": {
+ "title": "Tableau de bord SonarQube",
+ "sonarQubeCard.title": "Qualité du code",
+ "sonarQubeCard.deepLinkTitle": "Voir davantage",
+ "sonarQubeCard.emptyState.title": "Aucune information à afficher",
+ "sonarQubeCard.emptyState.description": "Il n'y a pas de projet SonarQube avec la clé '{{ projectTitle }}', vérifiez que le projet existe et les autorisations.",
+ "sonarQubeCard.noSonarQubeError.hasAnnotation": "Il n'y a pas de projet SonarQube avec la clé « {{project}} »",
+ "sonarQubeCard.noSonarQubeError.noAnnotation": "Aucune annotation SonarQube trouvée",
+ "sonarQubeCard.bugReportRatingCardTitle": "Bugs",
+ "sonarQubeCard.vulnerabilitiesRatingCardTitle": "Vulnérabilités",
+ "sonarQubeCard.codeSmellsRatingCardTitle": "Code Odeurs",
+ "sonarQubeCard.hotspotsReviewedTitle": "Points d'accès examinés",
+ "sonarQubeCard.coverageRatingCardTitle": "Couverture",
+ "sonarQubeCard.duplicationsRatingCard": "Duplications",
+ "sonarQubeCard.qualityBadgeLabel.notComputed": "Non calculé",
+ "sonarQubeCard.qualityBadgeLabel.gatePassed": "Porte franchie",
+ "sonarQubeCard.qualityBadgeLabel.gateFailed": "Porte défectueuse",
+ "sonarQubeCard.qualityBadgeTooltip": "Afficher le tableau de bord SonarQube",
+ "sonarQubeTable.columnsTitle.name": "Nom",
+ "sonarQubeTable.columnsTitle.qualityGate": "Porte de la qualité",
+ "sonarQubeTable.columnsTitle.lastAnalysis": "Dernière analyse",
+ "sonarQubeTable.columnsTitle.bugs": "Bugs",
+ "sonarQubeTable.columnsTitle.vulnerabilities": "Vulnérabilités",
+ "sonarQubeTable.columnsTitle.codeSmells": "Code Odeurs",
+ "sonarQubeTable.columnsTitle.hotspotsReviewed": "Points d'accès examinés",
+ "sonarQubeTable.columnsTitle.coverage": "Couverture",
+ "sonarQubeTable.columnsTitle.duplications": "Duplications"
+ }
+ },
+ "plugin.tekton": {
+ "fr": {
+ "errorPanel.title": "Un problème est survenu lors de la récupération des objets Kubernetes",
+ "errorPanel.description": "Un problème est survenu lors de la récupération de certaines ressources Kubernetes pour l'entité : {{entityName}}. Cela pourrait signifier que la carte de rapport d’erreur n’est pas complètement précise.",
+ "permissionAlert.title": "Autorisation requise",
+ "permissionAlert.description": "Pour afficher les exécutions de pipelines Tekton, contactez votre administrateur pour qu'il vous accorde les autorisations suivantes : {{permissions}}.",
+ "statusSelector.label": "Statut",
+ "clusterSelector.label": "Cluster",
+ "tableExpandCollapse.collapseAll": "Tout Réduire",
+ "tableExpandCollapse.expandAll": "Tout Développer",
+ "pipelineVisualization.emptyState.description": "Aucune exécution de pipeline à visualiser",
+ "pipelineVisualization.noTasksDescription": "Cette exécution de pipeline n'a aucune tâche à visualiser",
+ "pipelineVisualization.stepList.finallyTaskTitle": "Enfin la tâche",
+ "pipelineRunList.title": "Pipelines",
+ "pipelineRunList.noPipelineRuns": "Aucune exécution de pipeline trouvée",
+ "pipelineRunList.searchBarPlaceholder": "Rechercher",
+ "pipelineRunList.rowActions.viewParamsAndResults": "Afficher les Paramètres et les Résultats",
+ "pipelineRunList.rowActions.viewLogs": "Afficher les journaux",
+ "pipelineRunList.rowActions.unauthorizedViewLogs": "Non autorisé à consulter les journaux",
+ "pipelineRunList.rowActions.viewSBOM": "Voir SBOM",
+ "pipelineRunList.rowActions.SBOMNotApplicable": "La vue SBOM n'est pas applicable pour ce PipelineRun",
+ "pipelineRunList.rowActions.viewOutput": "Afficher la sortie",
+ "pipelineRunList.rowActions.outputNotApplicable": "La vue de sortie n'est pas applicable pour ce PipelineRun",
+ "pipelineRunList.vulnerabilitySeverityTitle.critical": "Critique",
+ "pipelineRunList.vulnerabilitySeverityTitle.high": "Haut",
+ "pipelineRunList.vulnerabilitySeverityTitle.medium": "Moyen",
+ "pipelineRunList.vulnerabilitySeverityTitle.low": "Faible",
+ "pipelineRunList.tableHeaderTitle.name": "NOM",
+ "pipelineRunList.tableHeaderTitle.vulnerabilities": "VULNÉRABILITÉS",
+ "pipelineRunList.tableHeaderTitle.status": "STATUT",
+ "pipelineRunList.tableHeaderTitle.taskStatus": "STATUT DE LA TÂCHE",
+ "pipelineRunList.tableHeaderTitle.startTime": "COMMENCÉ",
+ "pipelineRunList.tableHeaderTitle.duration": "DURÉE",
+ "pipelineRunList.tableHeaderTitle.actions": "ACTES",
+ "pipelineRunList.tablePagination.rowsPerPageOptionLabel": "{{num}} lignes",
+ "pipelineRunLogs.title": "Journaux d'exécution de pipeline",
+ "pipelineRunLogs.noLogs": "Aucun journal trouvé",
+ "pipelineRunLogs.downloader.downloadTaskLogs": "Télécharger",
+ "pipelineRunLogs.downloader.downloadPipelineRunLogs": "Télécharger tous les journaux de tâches",
+ "pipelineRunLogs.podLogsDownloadLink.title": "Télécharger",
+ "pipelineRunLogs.podLogsDownloadLink.downloading": "téléchargement des journaux",
+ "pipelineRunLogs.taskStatusStepper.skipped": "Ignoré",
+ "pipelineRunOutput.title": "Sortie de PipelineRun",
+ "pipelineRunOutput.noOutput": "Aucune sortie",
+ "pipelineRunStatus.All": "Tous",
+ "pipelineRunStatus.Cancelling": "Annulation",
+ "pipelineRunStatus.Succeeded": "Réussi",
+ "pipelineRunStatus.Failed": "Échoué",
+ "pipelineRunStatus.Running": "En cours d'exécution",
+ "pipelineRunStatus.In Progress": "En cours",
+ "pipelineRunStatus.FailedToStart": "Échec du démarrage",
+ "pipelineRunStatus.PipelineNotStarted": "PipelineNotStarted",
+ "pipelineRunStatus.Skipped": "Ignoré",
+ "pipelineRunStatus.Cancelled": "Annulé",
+ "pipelineRunStatus.Pending": "En attente",
+ "pipelineRunStatus.Idle": "Inactif",
+ "pipelineRunStatus.Other": "Autre",
+ "pipelineRunDuration.lessThanSec": "moins d'une seconde",
+ "pipelineRunDuration.hour_one": "{{count}} heure",
+ "pipelineRunDuration.hour_other": "{{count}} heures",
+ "pipelineRunDuration.minute_one": "{{count}} minute",
+ "pipelineRunDuration.minute_other": "{{count}} minutes",
+ "pipelineRunDuration.second_one": "{{count}} seconde",
+ "pipelineRunDuration.second_other": "{{count}} secondes",
+ "pipelineRunParamsAndResults.title": "PipelineRun Paramètres et Résultats",
+ "pipelineRunParamsAndResults.noParams": "Aucun paramètre trouvé",
+ "pipelineRunParamsAndResults.noResults": "Aucun résultat trouvé",
+ "pipelineRunParamsAndResults.params": "Paramètres",
+ "pipelineRunParamsAndResults.results": "Résultats",
+ "pipelineRunParamsAndResults.outputTableColumn.name": "Nom",
+ "pipelineRunParamsAndResults.outputTableColumn.value": "Valeur"
+ }
+ },
+ "plugin.topology": {
+ "fr": {
+ "page.title": "Topologie",
+ "page.subtitle": "Visualisation de la topologie de la charge de travail Kubernetes",
+ "toolbar.cluster": "Cluster",
+ "toolbar.selectCluster": "Sélectionner un cluster",
+ "toolbar.displayOptions": "Options d'affichage",
+ "toolbar.currentDisplayOptions": "Options d'affichage actuelles",
+ "emptyState.noResourcesFound": "Aucune ressource trouvée",
+ "emptyState.noResourcesDescription": "Aucune ressource Kubernetes n’a été trouvée dans le cluster sélectionné.",
+ "permissions.missingPermission": "Autorisation manquante",
+ "permissions.missingPermissionDescription": "Pour afficher la topologie, votre administrateur doit vous accorder {{permissions}} {{permissionText}}.",
+ "permissions.missingPermissionDescription_plural": "Pour afficher la topologie, votre administrateur doit vous accorder {{permissions}} {{permissionText}}.",
+ "permissions.permission": "autorisation",
+ "permissions.permissions": "autorisations",
+ "permissions.goBack": "Retour",
+ "sideBar.details": "Détails",
+ "sideBar.resources": "Ressources",
+ "status.running": "En cours d'exécution",
+ "status.pending": "En attente",
+ "status.succeeded": "Réussi",
+ "status.failed": "Échoué",
+ "status.unknown": "Inconnu",
+ "status.terminating": "Terminer",
+ "status.crashLoopBackOff": "CrashLoopBackOff",
+ "status.error": "Erreur",
+ "status.warning": "Attention",
+ "status.ready": "Prêt",
+ "status.notReady": "Pas prêt",
+ "status.active": "Actif",
+ "status.inactive": "Inactif",
+ "status.updating": "Mise à jour",
+ "status.evicted": "Expulsé",
+ "status.cancelled": "Annulé",
+ "details.name": "Nom",
+ "details.namespace": "Espace de noms",
+ "details.labels": "Étiquettes",
+ "details.annotations": "Annotations",
+ "details.createdAt": "Créé",
+ "details.age": "Âge",
+ "details.replicas": "Répliques",
+ "details.availableReplicas": "Répliques disponibles",
+ "details.readyReplicas": "Répliques prêtes",
+ "details.updatedReplicas": "Répliques mises à jour",
+ "details.selector": "Sélecteur",
+ "details.strategy": "Stratégie",
+ "details.image": "Image",
+ "details.ports": "Ports",
+ "details.volumes": "Volumes",
+ "details.volumeMounts": "Montages de volume",
+ "details.environmentVariables": "Variables d'environnement",
+ "details.resourceRequirements": "Besoins en ressources",
+ "details.limits": "Limites",
+ "details.requests": "Demandes",
+ "details.cpu": "CPU",
+ "details.memory": "Mémoire",
+ "details.storage": "Stockage",
+ "details.noLabels": "Aucune étiquette",
+ "details.noAnnotations": "Aucune annotation",
+ "details.noOwner": "Pas de propriétaire",
+ "details.notAvailable": "Non disponible",
+ "details.notConfigured": "Non configuré",
+ "details.updateStrategy": "Mettre à jour la stratégie",
+ "details.maxUnavailable": "Max indisponible",
+ "details.maxSurge": "Surtension maximale",
+ "details.progressDeadlineSeconds": "Délai de progression en secondes",
+ "details.minReadySeconds": "Minutes de disponibilité en secondes",
+ "details.desiredCompletions": "Complétions souhaitées",
+ "details.parallelism": "Parallélisme",
+ "details.activeDeadlineSeconds": "Secondes du délai actif",
+ "details.currentCount": "Nombre actuel",
+ "details.desiredCount": "Nombre souhaité",
+ "details.schedule": "Calendrier",
+ "details.concurrencyPolicy": "Politique de concurrence",
+ "details.startingDeadlineSeconds": "Délai de départ secondes",
+ "details.lastScheduleTime": "Dernière heure prévue",
+ "details.maxSurgeDescription": "{{maxSurge}} supérieur à {{replicas}} pod",
+ "details.maxUnavailableDescription": "{{maxUnavailable}} de {{replicas}} pod",
+ "logs.download": "Télécharger",
+ "logs.noLogsFound": "Aucun journal trouvé",
+ "logs.selectContainer": "Sélectionner le conteneur",
+ "logs.container": "Récipient",
+ "logs.pod": "Pod",
+ "logs.showPrevious": "Afficher le précédent",
+ "logs.follow": "Suivre",
+ "logs.refresh": "Rafraîchir",
+ "logs.timestamps": "Horodatages",
+ "logs.wrapLines": "Wrap Lines",
+ "logs.clearLogs": "Effacer les journaux",
+ "logs.logLevel": "Niveau de journalisation",
+ "logs.search": "Recherche",
+ "logs.noMatchingLogs": "Aucun journal correspondant trouvé",
+ "resources.noResourcesFound": "Aucun {{resourceType}} trouvé pour cette ressource.",
+ "resources.showingLatest": "Affichage des derniers {{count}} {{resourceType}}",
+ "time.seconds": "secondes",
+ "time.minutes": "minutes",
+ "time.hours": "heures",
+ "time.days": "jours",
+ "events.type": "Type",
+ "events.reason": "Raison",
+ "events.message": "Message",
+ "events.source": "Source",
+ "events.firstSeen": "Vu pour la première fois",
+ "events.lastSeen": "Vu pour la dernière fois",
+ "events.count": "Nombre",
+ "events.noEventsFound": "Aucun événement trouvé",
+ "filters.showLabels": "Afficher les étiquettes",
+ "filters.showPodCount": "Afficher le nombre de pods",
+ "filters.expandApplicationGroups": "Développer les groupes d'applications",
+ "filters.showConnectors": "Afficher les connecteurs",
+ "common.status": "Statut",
+ "common.owner": "Propriétaire",
+ "common.location": "Emplacement",
+ "common.viewLogs": "Afficher les journaux",
+ "bootOrder.summary": "Résumé de l'ordre de démarrage",
+ "bootOrder.emptySummary": "Aucun ordre de démarrage configuré",
+ "bootOrder.disk": "Disque",
+ "bootOrder.network": "Réseau",
+ "bootOrder.cdrom": "CD-ROM",
+ "vm.status.starting": "Départ",
+ "vm.status.stopping": "Arrêt",
+ "vm.status.stopped": "Arrêté",
+ "vm.status.paused": "En pause",
+ "vm.status.migrating": "Migration",
+ "vm.status.provisioning": "Provisionnement",
+ "vm.status.errorUnschedulable": "Erreur non programmable",
+ "vm.status.errorImagePull": "Extraction d'image d'erreur",
+ "vm.status.imageNotReady": "Image Non Prête",
+ "vm.status.waitingForVolumeBinding": "En attente de liaison de volume"
+ }
+ },
+ "plugin.npm.translation-ref": {
+ "fr": {
+ "infoCard.title": "Paquet NPM {{packageName}}",
+ "infoCard.latestVersion": "Dernière version",
+ "infoCard.publishedAt": "Publié à",
+ "infoCard.license": "Licence",
+ "infoCard.description": "Description",
+ "infoCard.keywords": "Mots-clés",
+ "infoCard.registryName": "Nom du registre",
+ "infoCard.npmRepository": "référentiel NPM",
+ "infoCard.codeRepository": "Dépôt de code",
+ "infoCard.issueTracker": "Suivi des problèmes",
+ "infoCard.homepage": "Page d'accueil",
+ "releaseOverviewCard.title": "Étiquettes actuelles",
+ "releaseOverviewCard.toolbar.searchPlaceholder": "Rechercher",
+ "releaseOverviewCard.columns.tag": "Étiqueter",
+ "releaseOverviewCard.columns.version": "Version",
+ "releaseOverviewCard.columns.published": "Publié",
+ "releaseTableCard.title": "Étiquettes actuelles",
+ "releaseTableCard.toolbar.searchPlaceholder": "Rechercher",
+ "releaseTableCard.columns.tag": "Étiqueter",
+ "releaseTableCard.columns.version": "Version",
+ "releaseTableCard.columns.published": "Publié",
+ "versionHistoryCard.title": "Historique des versions",
+ "versionHistoryCard.toolbar.searchPlaceholder": "Rechercher",
+ "versionHistoryCard.columns.version": "Version",
+ "versionHistoryCard.columns.published": "Publié"
+ }
+ },
+ "plugin.announcements": {
+ "fr": {
+ "announcementForm.title": "Titre",
+ "announcementForm.excerpt": "Extrait",
+ "announcementForm.active": "Actif",
+ "announcementForm.submit": "Soumettre",
+ "announcementForm.editAnnouncement": "Modifier l'annonce",
+ "announcementForm.newAnnouncement": "Nouvelle annonce",
+ "announcementForm.startAt": "Date de début de l'annonce",
+ "announcementForm.untilDate": "Date de fin de l'annonce",
+ "announcementForm.onBehalfOf": "Au nom de",
+ "announcementForm.categoryInput.create": "Créer",
+ "announcementForm.categoryInput.label": "Catégorie",
+ "announcementForm.tagsInput.create": "Créer",
+ "announcementForm.tagsInput.label": "Mots-clés",
+ "announcementForm.tagsLabel": "Mots-clés",
+ "announcementsPage.newAnnouncement": "Nouvelle annonce",
+ "announcementsPage.genericNew": "Nouveau",
+ "announcementsPage.card.by": "Par",
+ "announcementsPage.card.in": "dans",
+ "announcementsPage.card.edit": "Modifier",
+ "announcementsPage.card.delete": "Supprimer",
+ "announcementsPage.card.occurred": "S'est produit ",
+ "announcementsPage.card.scheduled": "Programmé ",
+ "announcementsPage.card.today": "Aujourd'hui",
+ "announcementsPage.grid.announcementDeleted": "Annonce supprimée.",
+ "announcementsPage.contextMenu.admin": "Administrateur",
+ "announcementsPage.contextMenu.categories": "Catégories",
+ "announcementsPage.contextMenu.tags": "Mots-clés",
+ "deleteDialog.title": "Êtes-vous sûr de vouloir supprimer cette annonce ?",
+ "deleteDialog.cancel": "Annuler",
+ "deleteDialog.delete": "Supprimer",
+ "announcementsCard.seeAll": "Tout voir",
+ "announcementsCard.announcements": "Annonces",
+ "announcementsCard.new": "Nouveau",
+ "announcementsCard.in": "dans",
+ "announcementsCard.noAnnouncements": "Aucune annonce pour le moment, je veux",
+ "announcementsCard.addOne": "ajouter un",
+ "announcementsCard.occurred": "S'est produit",
+ "announcementsCard.scheduled": "Programmé",
+ "announcementsCard.today": "Aujourd'hui",
+ "announcementSearchResultListItem.published": "Publié",
+ "announcementSearchResultListItem.announcement": "Annonce",
+ "announcementsTimeline.noAnnouncements": "Aucune annonce",
+ "announcementsTimeline.error": "Erreur",
+ "categoriesForm.newCategory": "Nouvelle catégorie",
+ "categoriesForm.editCategory": "Modifier la catégorie",
+ "categoriesForm.titleLabel": "Titre",
+ "categoriesForm.submit": "Soumettre",
+ "categoriesTable.categoryDeleted": "Catégorie supprimée.",
+ "categoriesTable.slug": "Slug",
+ "categoriesTable.title": "Titre",
+ "categoriesTable.actions": "Actes",
+ "categoriesTable.addTooltip": "Ajouter",
+ "categoriesTable.noCategoriesFound": "Aucune catégorie trouvée.",
+ "categoriesPage.title": "Catégories",
+ "categoriesPage.subtitle": "Gérer les catégories d'annonces",
+ "tagsForm.newTag": "Nouvelle balise",
+ "tagsForm.editTag": "Modifier la balise",
+ "tagsForm.titleLabel": "Titre",
+ "tagsForm.submit": "Soumettre",
+ "tagsForm.errors.alreadyExists": "Une balise avec ce nom existe déjà.",
+ "tagsForm.errors.invalidTitle": "Le titre est obligatoire.",
+ "tagsForm.errors.tooLong": "Le titre dépasse la longueur maximale.",
+ "newTagDialog.createdMessage": "Tag créé.",
+ "newTagDialog.newTag": "Nouvelle balise",
+ "newTagDialog.title": "Titre",
+ "newTagDialog.cancelButton": "Annuler",
+ "newTagDialog.createButton": "Créer",
+ "tagsPage.title": "Mots-clés",
+ "tagsPage.subtitle": "Gérer les balises d'annonce",
+ "tagsTable.tagDeleted": "Balise supprimée.",
+ "tagsTable.slug": "Slug",
+ "tagsTable.title": "Titre",
+ "tagsTable.actions": "Actes",
+ "tagsTable.addTooltip": "Ajouter",
+ "tagsTable.noTagsFound": "Aucune balise trouvée.",
+ "createAnnouncementPage.alertMessage": "Annonce créée.",
+ "createAnnouncementPage.alertMessageWithNewCategory": "avec une nouvelle catégorie",
+ "editAnnouncementPage.updatedMessage": "Annonce mise à jour.",
+ "editAnnouncementPage.updatedMessageWithNewCategory": "avec une nouvelle catégorie",
+ "editAnnouncementPage.notFoundMessage": "Impossible de trouver l'annonce",
+ "editAnnouncementPage.edit": "Modifier",
+ "newAnnouncementBanner.markAsSeen": "Marquer comme vu",
+ "newCategoryDialog.createdMessage": "Catégorie créée.",
+ "newCategoryDialog.newCategory": "Nouvelle catégorie",
+ "newCategoryDialog.title": "Titre",
+ "newCategoryDialog.cancelButton": "Annuler",
+ "newCategoryDialog.createButton": "Créer",
+ "admin.adminPortal.announcementsLabels": "Annonces",
+ "admin.adminPortal.categoriesLabel": "Catégories",
+ "admin.adminPortal.tagsLabel": "Mots-clés",
+ "admin.adminPortal.title": "Portail d'administration pour les annonces",
+ "admin.adminPortal.subtitle": "Gérer les annonces et les catégories",
+ "admin.announcementsContent.alertMessage": "Annonce créée.",
+ "admin.announcementsContent.alertMessageWithNewCategory": "avec une nouvelle catégorie",
+ "admin.announcementsContent.cancelButton": "Annuler",
+ "admin.announcementsContent.createButton": "Créer une annonce",
+ "admin.announcementsContent.announcements": "Annonces",
+ "admin.announcementsContent.noAnnouncementsFound": "Aucune annonce trouvée",
+ "admin.announcementsContent.table.title": "Titre",
+ "admin.announcementsContent.table.body": "Corps",
+ "admin.announcementsContent.table.publisher": "Éditeur",
+ "admin.announcementsContent.table.onBehalfOf": "Au nom de",
+ "admin.announcementsContent.table.category": "Catégorie",
+ "admin.announcementsContent.table.tags": "Mots-clés",
+ "admin.announcementsContent.table.status": "Statut",
+ "admin.announcementsContent.table.actions": "Actes",
+ "admin.announcementsContent.table.active": "Actif",
+ "admin.announcementsContent.table.inactive": "Inactif",
+ "admin.announcementsContent.table.created_at": "Créé",
+ "admin.announcementsContent.table.start_at": "Commencer",
+ "admin.announcementsContent.table.until_date": "Jusqu'à",
+ "admin.categoriesContent.createdMessage": "créé",
+ "admin.categoriesContent.deletedMessage": "Catégorie supprimée.",
+ "admin.categoriesContent.cancelButton": "Annuler",
+ "admin.categoriesContent.createButton": "Créer une catégorie",
+ "admin.categoriesContent.table.categoryDeleted": "Catégorie supprimée.",
+ "admin.categoriesContent.table.slug": "Slug",
+ "admin.categoriesContent.table.title": "Titre",
+ "admin.categoriesContent.table.actions": "Actes",
+ "admin.categoriesContent.table.addTooltip": "Ajouter",
+ "admin.categoriesContent.table.noCategoriesFound": "Aucune catégorie trouvée.",
+ "admin.tagsContent.createdMessage": "créé",
+ "admin.tagsContent.deletedMessage": "Balise supprimée.",
+ "admin.tagsContent.cancelButton": "Annuler",
+ "admin.tagsContent.createButton": "Créer une balise",
+ "admin.tagsContent.table.tagDeleted": "Balise supprimée.",
+ "admin.tagsContent.table.slug": "Slug",
+ "admin.tagsContent.table.title": "Titre",
+ "admin.tagsContent.table.actions": "Actes",
+ "admin.tagsContent.table.addTooltip": "Ajouter",
+ "admin.tagsContent.table.noTagsFound": "Aucune balise trouvée.",
+ "admin.tagsContent.errors.alreadyExists": "Une balise avec ce nom existe déjà."
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/community-plugins-reference-2025-12-05-it-C.json b/translations/community-plugins-reference-2025-12-05-it-C.json
new file mode 100644
index 0000000000..dc9048fee4
--- /dev/null
+++ b/translations/community-plugins-reference-2025-12-05-it-C.json
@@ -0,0 +1,740 @@
+{
+ "plugin.acr": {
+ "it": {
+ "page.title": "Repository del Registro Azure Container: {{image}}",
+ "table.searchPlaceholder": "Filtra",
+ "table.labelRowsSelect": "Righe",
+ "table.columns.tag": "Tag",
+ "table.columns.created": "Creato",
+ "table.columns.lastModified": "Ultima modifica",
+ "table.columns.manifest": "Manifest"
+ }
+ },
+ "plugin.adr": {
+ "it": {
+ "contentHeaderTitle": "Architecture Decision Records",
+ "failedToFetch": "Impossibile recuperare gli ADR",
+ "notFound": "Nessun ADR trovato"
+ }
+ },
+ "plugin.announcements-react": {
+ "it": {
+ "announcementForm.title": "Titolo",
+ "announcementForm.excerpt": "Estratto",
+ "announcementForm.active": "Attivo",
+ "announcementForm.submit": "Invia",
+ "announcementForm.editAnnouncement": "Modifica annuncio",
+ "announcementForm.newAnnouncement": "Nuovo annuncio",
+ "announcementForm.startAt": "Data di inizio dell'annuncio",
+ "announcementForm.untilDate": "Data di fine dell'annuncio",
+ "announcementForm.onBehalfOf": "Per conto di",
+ "announcementForm.categoryInput.create": "Crea",
+ "announcementForm.categoryInput.label": "Categoria",
+ "announcementForm.tagsInput.create": "Crea",
+ "announcementForm.tagsInput.label": "Tag",
+ "announcementForm.tagsLabel": "Tag",
+ "announcementsPage.newAnnouncement": "Nuovo annuncio",
+ "announcementsPage.genericNew": "Nuovo",
+ "announcementsPage.card.by": "Di",
+ "announcementsPage.card.in": "in",
+ "announcementsPage.card.edit": "Modifica",
+ "announcementsPage.card.delete": "Elimina",
+ "announcementsPage.card.occurred": "Avvenuto ",
+ "announcementsPage.card.scheduled": "Programmato ",
+ "announcementsPage.card.today": "Oggi",
+ "announcementsPage.grid.announcementDeleted": "Annuncio eliminato.",
+ "announcementsPage.contextMenu.admin": "Gestione annunci",
+ "confirmDeleteDialog.title": "Eliminare?",
+ "confirmDeleteDialog.cancel": "Cancella",
+ "confirmDeleteDialog.delete": "Elimina",
+ "announcementsCard.seeAll": "Vedi tutto",
+ "announcementsCard.announcements": "Annunci",
+ "announcementsCard.new": "Nuovo",
+ "announcementsCard.in": "in",
+ "announcementsCard.noAnnouncements": "Nessun annuncio presente, desidero",
+ "announcementsCard.addOne": "aggiungerne uno",
+ "announcementsCard.occurred": "Avvenuto",
+ "announcementsCard.scheduled": "Programmato",
+ "announcementsCard.today": "Oggi",
+ "announcementSearchResultListItem.published": "Pubblicato",
+ "announcementSearchResultListItem.announcement": "Annuncio",
+ "announcementsTimeline.noAnnouncements": "Nessun annuncio",
+ "announcementsTimeline.error": "Errore",
+ "categoriesForm.newCategory": "Nuova categoria",
+ "categoriesForm.editCategory": "Modifica categoria",
+ "categoriesForm.titleLabel": "Titolo",
+ "categoriesForm.submit": "Invia",
+ "categoriesTable.categoryDeleted": "Categoria eliminata.",
+ "categoriesTable.slug": "Campo dati dinamico",
+ "categoriesTable.title": "Titolo",
+ "categoriesTable.actions": "Azioni",
+ "categoriesTable.addTooltip": "Aggiungi",
+ "categoriesTable.noCategoriesFound": "Nessuna categoria trovata.",
+ "categoriesPage.title": "Categorie",
+ "categoriesPage.subtitle": "Gestire le categorie degli annunci",
+ "tagsForm.newTag": "Nuova tag",
+ "tagsForm.editTag": "Modifica tag",
+ "tagsForm.titleLabel": "Titolo",
+ "tagsForm.submit": "Invia",
+ "tagsForm.errors.alreadyExists": "Esiste già una tag con questo nome.",
+ "tagsForm.errors.invalidTitle": "Il titolo è obbligatorio.",
+ "tagsForm.errors.tooLong": "Il titolo supera la lunghezza massima.",
+ "newTagDialog.createdMessage": "Tag creata.",
+ "newTagDialog.newTag": "Nuova tag",
+ "newTagDialog.title": "Titolo",
+ "newTagDialog.cancelButton": "Cancella",
+ "newTagDialog.createButton": "Crea",
+ "tagsPage.title": "Tag",
+ "tagsPage.subtitle": "Gestire le tag degli annunci",
+ "tagsTable.tagDeleted": "Tag eliminata.",
+ "tagsTable.slug": "Campo dati dinamico",
+ "tagsTable.title": "Titolo",
+ "tagsTable.actions": "Azioni",
+ "tagsTable.addTooltip": "Aggiungi",
+ "tagsTable.noTagsFound": "Nessuna tag trovata.",
+ "createAnnouncementPage.alertMessage": "Annuncio creato.",
+ "createAnnouncementPage.alertMessageWithNewCategory": "con nuova categoria",
+ "editAnnouncementPage.updatedMessage": "Annuncio aggiornato.",
+ "editAnnouncementPage.updatedMessageWithNewCategory": "con nuova categoria",
+ "editAnnouncementPage.notFoundMessage": "Impossibile trovare l'annuncio",
+ "editAnnouncementPage.edit": "Modifica",
+ "newAnnouncementBanner.markAsSeen": "Segna come visto",
+ "newCategoryDialog.createdMessage": "Categoria creata.",
+ "newCategoryDialog.newCategory": "Nuova categoria",
+ "newCategoryDialog.title": "Titolo",
+ "newCategoryDialog.cancelButton": "Cancella",
+ "newCategoryDialog.createButton": "Crea",
+ "admin.adminPortal.announcementsLabels": "Annunci",
+ "admin.adminPortal.categoriesLabel": "Categorie",
+ "admin.adminPortal.tagsLabel": "Tag",
+ "admin.adminPortal.title": "Portale di amministrazione per annunci",
+ "admin.adminPortal.subtitle": "Gestire annunci e categorie",
+ "admin.announcementsContent.alertMessage": "Annuncio creato.",
+ "admin.announcementsContent.alertMessageWithNewCategory": "con nuova categoria",
+ "admin.announcementsContent.cancelButton": "Cancella",
+ "admin.announcementsContent.createButton": "Crea annuncio",
+ "admin.announcementsContent.announcements": "Annunci",
+ "admin.announcementsContent.noAnnouncementsFound": "Nessun annuncio trovato",
+ "admin.announcementsContent.table.title": "Titolo",
+ "admin.announcementsContent.table.body": "Corpo",
+ "admin.announcementsContent.table.publisher": "Editore",
+ "admin.announcementsContent.table.onBehalfOf": "Per conto di",
+ "admin.announcementsContent.table.category": "Categoria",
+ "admin.announcementsContent.table.tags": "Tag",
+ "admin.announcementsContent.table.status": "Stato",
+ "admin.announcementsContent.table.actions": "Azioni",
+ "admin.announcementsContent.table.active": "Attivo",
+ "admin.announcementsContent.table.inactive": "Inattivo",
+ "admin.announcementsContent.table.created_at": "Creato",
+ "admin.announcementsContent.table.start_at": "Inizia",
+ "admin.announcementsContent.table.until_date": "Fino",
+ "admin.categoriesContent.createdMessage": "creato",
+ "admin.categoriesContent.deletedMessage": "Categoria eliminata.",
+ "admin.categoriesContent.cancelButton": "Cancella",
+ "admin.categoriesContent.createButton": "Crea categoria",
+ "admin.categoriesContent.table.categoryDeleted": "Categoria eliminata.",
+ "admin.categoriesContent.table.slug": "Campo dati dinamico",
+ "admin.categoriesContent.table.title": "Titolo",
+ "admin.categoriesContent.table.actions": "Azioni",
+ "admin.categoriesContent.table.addTooltip": "Aggiungi",
+ "admin.categoriesContent.table.noCategoriesFound": "Nessuna categoria trovata.",
+ "admin.tagsContent.createdMessage": "creato",
+ "admin.tagsContent.deletedMessage": "Tag eliminata.",
+ "admin.tagsContent.cancelButton": "Cancella",
+ "admin.tagsContent.createButton": "Crea tag",
+ "admin.tagsContent.table.tagDeleted": "Tag eliminata.",
+ "admin.tagsContent.table.slug": "Campo dati dinamico",
+ "admin.tagsContent.table.title": "Titolo",
+ "admin.tagsContent.table.actions": "Azioni",
+ "admin.tagsContent.table.addTooltip": "Aggiungi",
+ "admin.tagsContent.table.noTagsFound": "Nessuna tag trovata.",
+ "admin.tagsContent.errors.alreadyExists": "Esiste già una tag con questo nome."
+ }
+ },
+ "plugin.bookmarks": {
+ "it": {
+ "bookmarkViewer.newTab": "Apri in una nuova scheda",
+ "bookmarkViewer.navButton.next": "Successivo",
+ "bookmarkViewer.navButton.previous": "Precedente",
+ "bookmarkViewer.mobileView.toc": "Sommario",
+ "bookmarkViewerFrame.devModeWarning": "Potrebbe essere necessario ricaricare la pagina affinché l'iframe venga caricato correttamente in modalità di sviluppo",
+ "entityBookmarksContent.invalid.title": "Formato segnalibri non valido",
+ "entityBookmarksContent.invalid.description": "Verificare che i segnalibri siano strutturati correttamente.",
+ "entityBookmarksContent.notFound.title": "Nessun segnalibro trovato",
+ "entityBookmarksContent.notFound.description": "Aggiungere segnalibri ai metadati dell'entità per visualizzarli qui."
+ }
+ },
+ "plugin.flux": {
+ "it": {
+ "fluxContentCard.permissionAlert.title": "Autorizzazione richiesta",
+ "fluxContentCard.permissionAlert.message": "Il contenuto Flux richiede l'autorizzazione sugli oggetti Kubernetes. Contattare l'amministratore del portale per ottenere le autorizzazioni 'kubernetes.clusters.read' e 'kubernetes.resources.read'."
+ }
+ },
+ "plugin.jfrog-artifactory": {
+ "it": {
+ "page.title": "Repository JFrog Artifactory: {{image}}",
+ "table.searchPlaceholder": "Filtra",
+ "table.labelRowsSelect": "Righe",
+ "table.columns.version": "Versione",
+ "table.columns.repositories": "Repository",
+ "table.columns.manifest": "Manifest",
+ "table.columns.modified": "Modificato",
+ "table.columns.size": "Dimensione",
+ "table.emptyContent.message": "Nessun dato è stato ancora aggiunto,",
+ "table.emptyContent.learnMore": "scopri come aggiungere dati.",
+ "manifest.sha256": "sha256"
+ }
+ },
+ "plugin.linguist": {
+ "it": {
+ "entityCard.title": "Lingue",
+ "entityCard.noData": "Al momento non sono disponibili dati linguistici per questa entità."
+ }
+ },
+ "plugin.nexus-repository-manager": {
+ "it": {
+ "table.title": "Gestore del repository Nexus: {{title}}",
+ "table.searchPlaceholder": "Filtra",
+ "table.labelRowsSelect": "Righe",
+ "table.columns.version": "Versione",
+ "table.columns.artifact": "Artefatto",
+ "table.columns.repositoryType": "Tipo di repository",
+ "table.columns.checksum": "Checksum",
+ "table.columns.modified": "Modificato",
+ "table.columns.size": "Dimensione",
+ "table.emptyValue": "N/D",
+ "table.emptyContent.message": "Nessun dato è stato ancora aggiunto,",
+ "table.emptyContent.linkText": "scopri come aggiungere dati",
+ "entityContent.title": "Costruire artefatti"
+ }
+ },
+ "plugin.npm": {
+ "it": {
+ "infoCard.title": "Pacchetto NPM {{packageName}}",
+ "infoCard.latestVersion": "Ultima versione",
+ "infoCard.publishedAt": "Pubblicato il",
+ "infoCard.license": "Licenza",
+ "infoCard.description": "Descrizione",
+ "infoCard.keywords": "Parole chiave",
+ "infoCard.registryName": "Nome registro",
+ "infoCard.npmRepository": "Repository NPM",
+ "infoCard.codeRepository": "Repository di codice",
+ "infoCard.issueTracker": "Tracker dei problemi",
+ "infoCard.homepage": "Pagina iniziale",
+ "releaseOverviewCard.title": "Tag attuali",
+ "releaseOverviewCard.toolbar.searchPlaceholder": "Ricerca",
+ "releaseOverviewCard.columns.tag": "Tag",
+ "releaseOverviewCard.columns.version": "Versione",
+ "releaseOverviewCard.columns.published": "Pubblicato",
+ "releaseTableCard.title": "Tag attuali",
+ "releaseTableCard.toolbar.searchPlaceholder": "Ricerca",
+ "releaseTableCard.columns.tag": "Tag",
+ "releaseTableCard.columns.version": "Versione",
+ "releaseTableCard.columns.published": "Pubblicato",
+ "versionHistoryCard.title": "Cronologia delle versioni",
+ "versionHistoryCard.toolbar.searchPlaceholder": "Ricerca",
+ "versionHistoryCard.columns.version": "Versione",
+ "versionHistoryCard.columns.published": "Pubblicato"
+ }
+ },
+ "plugin.rbac": {
+ "it": {
+ "page.title": "RBAC",
+ "page.createRole": "Crea ruolo",
+ "page.editRole": "Modifica ruolo",
+ "table.searchPlaceholder": "Filtra",
+ "table.labelRowsSelect": "Righe",
+ "table.title": "Tutti i ruoli",
+ "table.titleWithCount": "Tutti i ruoli ({{count}})",
+ "table.headers.name": "Nome",
+ "table.headers.usersAndGroups": "Utenti e gruppi",
+ "table.headers.accessiblePlugins": "Plugin accessibili",
+ "table.headers.actions": "Azioni",
+ "table.emptyContent": "Nessun record trovato",
+ "toolbar.createButton": "Crea",
+ "toolbar.warning.title": "Impossibile creare il ruolo.",
+ "toolbar.warning.message": "Per abilitare il pulsante Crea/Modifica ruolo, verificare che gli utenti/gruppi richiesti siano disponibili nel catalogo perché non è possibile creare un ruolo senza utenti/gruppi; inoltre il ruolo associato all'utente deve disporre dei criteri di autorizzazione menzionati qui.",
+ "toolbar.warning.linkText": "qui",
+ "toolbar.warning.note": "Nota",
+ "toolbar.warning.noteText": "Anche dopo aver inserito utenti/gruppi nel catalogo e applicato le autorizzazioni precedenti, se il pulsante Crea/Modifica è ancora disabilitato, contattare l'amministratore poiché potrebbero essere presenti limitazioni condizionali all'accesso al pulsante Crea/Modifica.",
+ "errors.notFound": "Non trovato",
+ "errors.unauthorized": "Nessuna autorizzazione a creare un ruolo",
+ "errors.rbacDisabled": "Abilitare il plugin backend RBAC per utilizzare questa funzionalità.",
+ "errors.rbacDisabledInfo": "Per abilitare RBAC, impostare `permission.enabled` su `true` nel file app-config.",
+ "errors.fetchRoles": "Si è verificato un errore durante il recupero dei ruoli",
+ "errors.fetchRole": "Si è verificato un errore durante il recupero del ruolo",
+ "errors.fetchPoliciesErr": "Errore durante il recupero dei criteri. {{error}}",
+ "errors.fetchPolicies": "Si è verificato un problema durante il recupero delle policy di autorizzazione",
+ "errors.fetchPlugins": "Errore durante il recupero dei plugin. {{error}}",
+ "errors.fetchConditionalPermissionPolicies": "Errore durante il recupero dei criteri di autorizzazione condizionale. {{error}}",
+ "errors.fetchConditions": "Si è verificato un errore durante il recupero delle condizioni del ruolo",
+ "errors.fetchUsersAndGroups": "Si è verificato un problema durante il recupero degli utenti e dei gruppi",
+ "errors.createRole": "Impossibile creare il ruolo.",
+ "errors.editRole": "Impossibile modificare il ruolo.",
+ "errors.deleteRole": "Impossibile eliminare il ruolo.",
+ "errors.roleCreatedSuccess": "Il ruolo è stato creato correttamente ma non è possibile aggiungere criteri di autorizzazione al ruolo.",
+ "errors.roleCreatedConditionsSuccess": "Ruolo creato correttamente ma non è possibile aggiungere condizioni al ruolo.",
+ "roleForm.titles.createRole": "Crea ruolo",
+ "roleForm.titles.editRole": "Modifica ruolo",
+ "roleForm.titles.nameAndDescription": "Inserire il nome e la descrizione del ruolo",
+ "roleForm.titles.usersAndGroups": "Aggiungi utenti e gruppi",
+ "roleForm.titles.permissionPolicies": "Aggiungi criteri di autorizzazione",
+ "roleForm.review.reviewAndCreate": "Rivedi e crea",
+ "roleForm.review.reviewAndSave": "Rivedi e salva",
+ "roleForm.review.nameDescriptionOwner": "Nome, descrizione e proprietario del ruolo",
+ "roleForm.steps.next": "Successivo",
+ "roleForm.steps.back": "Indietro",
+ "roleForm.steps.cancel": "Cancella",
+ "roleForm.steps.reset": "Reset",
+ "roleForm.steps.create": "Crea",
+ "roleForm.steps.save": "Salva",
+ "roleForm.fields.name.label": "Nome",
+ "roleForm.fields.name.helperText": "Inserire il nome del ruolo",
+ "roleForm.fields.description.label": "Descrizione",
+ "roleForm.fields.description.helperText": "Inserire una breve descrizione del ruolo (finalità del ruolo)",
+ "roleForm.fields.owner.label": "Proprietario",
+ "roleForm.fields.owner.helperText": "Facoltativo: inserire un utente o un gruppo che avrà l'autorizzazione a modificare questo ruolo e a creare ruoli aggiuntivi. Nel passaggio successivo, specificare quali utenti possono assegnare ai loro ruoli e a quali plugin possono concedere l'accesso. Se vuoto, l'autore viene assegnato automaticamente al momento della creazione.",
+ "deleteDialog.title": "Elimina ruolo",
+ "deleteDialog.question": "Eliminare questo ruolo?",
+ "deleteDialog.confirmation": "Eliminare il ruolo **{{roleName}}**? L'eliminazione di questo ruolo è irreversibile e ne rimuoverà la funzionalità dal sistema. Procedere con cautela. I **{{members}}** associati a questo ruolo perderanno l'accesso a tutti i **{{permissions}} criteri di autorizzazione** specificati in questo ruolo.",
+ "deleteDialog.roleNameLabel": "Nome ruolo",
+ "deleteDialog.roleNameHelper": "Digitare il nome del ruolo per confermare",
+ "deleteDialog.deleteButton": "Elimina",
+ "deleteDialog.cancelButton": "Cancella",
+ "deleteDialog.successMessage": "Ruolo {{roleName}} eliminato correttamente",
+ "snackbar.success": "Attività riuscita",
+ "dialog.cancelRoleCreation": "Annulla la creazione del ruolo",
+ "dialog.exitRoleCreation": "Abbandonare la creazione del ruolo?",
+ "dialog.exitRoleEditing": "Abbandonare la modifica del ruolo?",
+ "dialog.exitWarning": "\n\nAbbandonando questa pagina, le informazioni immesse vengono eliminate definitivamente. Uscire?",
+ "dialog.discard": "Annulla",
+ "dialog.cancel": "Cancella",
+ "conditionalAccess.condition": "Condizione",
+ "conditionalAccess.allOf": "Tutti",
+ "conditionalAccess.anyOf": "QualunqueDi",
+ "conditionalAccess.not": "Non",
+ "conditionalAccess.addNestedCondition": "Aggiungi condizione nidificata",
+ "conditionalAccess.addRule": "Aggiungi regola",
+ "conditionalAccess.nestedConditionTooltip": "Le condizioni nidificate sono **regole a un livello all'interno di una condizione principale**. Permette di concedere l'accesso appropriato utilizzando autorizzazioni dettagliate basate su varie condizioni. È possibile aggiungere più condizioni nidificate.",
+ "conditionalAccess.nestedConditionExample": "Ad esempio, è possibile consentire l'accesso a tutti i tipi di entità nella condizione principale e utilizzare una condizione nidificata per limitare l'accesso alle entità di proprietà dell'utente.",
+ "permissionPolicies.helperText": "Per impostazione predefinita, agli utenti non è concesso l'accesso ad alcun plugin. Per concedere l'accesso all'utente, selezionare i plugin da abilitare. Quindi, selezionare le azioni per cui concedere l'autorizzazione all'utente.",
+ "permissionPolicies.allPlugins": "Tutti i plugin ({{count}})",
+ "permissionPolicies.errorFetchingPolicies": "Errore durante il recupero dei criteri di autorizzazione: {{error}}",
+ "permissionPolicies.resourceTypeTooltip": "tipo di risorsa: {{resourceType}}",
+ "permissionPolicies.advancedPermissionsTooltip": "Utilizza autorizzazioni personalizzate avanzate per consentire l'accesso a parti specifiche del tipo di risorsa selezionato.",
+ "permissionPolicies.pluginsSelected": "{{count}} plugin",
+ "permissionPolicies.noPluginsSelected": "Nessun plugin selezionato",
+ "permissionPolicies.search": "Ricerca",
+ "permissionPolicies.noRecordsToDisplay": "Nessun record da visualizzare.",
+ "permissionPolicies.selectedPluginsAppearHere": "I plugin selezionati vengono visualizzati qui.",
+ "permissionPolicies.selectPlugins": "Selezionare i plugin",
+ "permissionPolicies.noPluginsFound": "Nessun plugin trovato.",
+ "permissionPolicies.plugin": "Plugin",
+ "permissionPolicies.permission": "Autorizzazione",
+ "permissionPolicies.policies": "Criteri",
+ "permissionPolicies.conditional": "Condizionale",
+ "permissionPolicies.rules": "regole",
+ "permissionPolicies.rule": "regola",
+ "permissionPolicies.permissionPolicies": "Criteri di autorizzazione",
+ "permissionPolicies.permissions": "autorizzazioni",
+ "common.noResults": "Nessun risultato per questo intervallo di date.",
+ "common.exportCSV": "Esporta CSV",
+ "common.csvFilename": "data-export.csv",
+ "common.noMembers": "Nessun membro",
+ "common.groups": "gruppi",
+ "common.group": "gruppo",
+ "common.users": "utenti",
+ "common.user": "utente",
+ "common.use": "Utilizza",
+ "common.refresh": "Aggiorna",
+ "common.edit": "Modifica",
+ "common.unauthorizedToEdit": "Non autorizzato a modificare",
+ "common.noRecordsFound": "Nessun record trovato",
+ "common.selectUsersAndGroups": "Selezionare utenti e gruppi",
+ "common.clearSearch": "cancella ricerca",
+ "common.closeDrawer": "Chiudi il riquadro",
+ "common.remove": "Rimuovi",
+ "common.addRule": "Aggiungi regola",
+ "common.selectRule": "Selezionare una regola",
+ "common.rule": "Regola",
+ "common.removeNestedCondition": "Rimuovi condizione nidificata",
+ "common.overview": "Panoramica",
+ "common.about": "Informazioni",
+ "common.description": "Descrizione",
+ "common.modifiedBy": "Modificato da",
+ "common.lastModified": "Ultima modifica",
+ "common.owner": "Proprietario",
+ "common.noUsersAndGroupsSelected": "Nessun utente e gruppo selezionato",
+ "common.selectedUsersAndGroupsAppearHere": "Qui vengono visualizzati gli utenti e i gruppi selezionati.",
+ "common.name": "Nome",
+ "common.type": "Tipo",
+ "common.members": "Membri",
+ "common.actions": "Azioni",
+ "common.removeMember": "Rimuovi membro",
+ "common.delete": "Elimina",
+ "common.deleteRole": "Elimina ruolo",
+ "common.update": "Aggiorna",
+ "common.editRole": "Modifica ruolo",
+ "common.checkingPermissions": "Controllo delle autorizzazioni in corso…",
+ "common.unauthorizedTo": "Non autorizzato a {{action}}",
+ "common.performThisAction": "eseguire questa azione",
+ "common.unableToCreatePermissionPolicies": "Impossibile creare i criteri di autorizzazione.",
+ "common.unableToDeletePermissionPolicies": "Impossibile eliminare i criteri di autorizzazione.",
+ "common.unableToRemoveConditions": "Impossibile rimuovere le condizioni dal ruolo.",
+ "common.unableToUpdateConditions": "Impossibile aggiornare le condizioni.",
+ "common.unableToAddConditions": "Impossibile aggiungere condizioni al ruolo.",
+ "common.roleActionSuccessfully": "Ruolo {{roleName}} {{action}} eseguito correttamente",
+ "common.unableToFetchRole": "Impossibile recuperare il ruolo: {{error}}",
+ "common.unableToFetchMembers": "Impossibile recuperare i membri: {{error}}",
+ "common.roleAction": "ruolo {{azione}}",
+ "common.membersCount": "{{count}} membri",
+ "common.parentGroupCount": "{{count}} gruppo padre",
+ "common.childGroupsCount": "{{count}} gruppi figlio",
+ "common.searchAndSelectUsersGroups": "Per cercare e selezionare gli utenti e i gruppi da aggiungere. Gli utenti e i gruppi selezionati appariranno nella tabella sottostante.",
+ "common.noUsersAndGroupsFound": "Nessun utente e gruppo trovato.",
+ "common.errorFetchingUserGroups": "Errore durante il recupero di utenti e gruppi: {{error}}",
+ "common.nameRequired": "Il nome è obbligatorio",
+ "common.noMemberSelected": "Nessun membro selezionato",
+ "common.noPluginSelected": "Nessun plugin selezionato",
+ "common.pluginRequired": "Il plugin è obbligatorio",
+ "common.permissionRequired": "L'autorizzazione è obbligatoria",
+ "common.editCell": "Modifica...",
+ "common.selectCell": "Seleziona...",
+ "common.expandRow": "espandi riga",
+ "common.configureAccessFor": "Configurare l'accesso per il",
+ "common.defaultResourceTypeVisible": "Per impostazione predefinita, il tipo di risorsa selezionato è visibile a tutti gli utenti aggiunti. Per limitare o concedere autorizzazioni a regole specifiche del plugin, selezionarle e aggiungere i parametri."
+ }
+ },
+ "plugin.argocd": {
+ "it": {
+ "appStatus.appHealthStatus.Healthy": "Integro",
+ "appStatus.appHealthStatus.Suspended": "Sospeso",
+ "appStatus.appHealthStatus.Degraded": "Degradato",
+ "appStatus.appHealthStatus.Progressing": "In avanzamento",
+ "appStatus.appHealthStatus.Missing": "Mancante",
+ "appStatus.appHealthStatus.Unknown": "Sconosciuto",
+ "appStatus.appSyncStatus.Unknown": "Sconosciuto",
+ "appStatus.appSyncStatus.Synced": "Sincronizzato",
+ "appStatus.appSyncStatus.OutOfSync": "Non sincronizzato",
+ "common.appServer.title": "Questo è il cluster locale in cui è installato Argo CD.",
+ "common.permissionAlert.alertTitle": "Autorizzazione richiesta",
+ "common.permissionAlert.alertText": "Per visualizzare il plugin argocd, contattare l'amministratore per ottenere l'autorizzazione argocd.view.read.",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.name": "Nome",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.kind": "Tipo",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.createdAt": "Creato alle",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.syncStatus": "Stato della sincronizzazione",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.healthStatus": "Stato di integrità",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.ariaLabelledBy": "Risorse",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.noneFound": "Nessuna risorsa trovata",
+ "deploymentLifecycle.sidebar.resources.resourcesTableRow.ariaLabel": "espandi riga",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistory.bodyText": "Cronologia delle distribuzioni",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistoryCommit.deployedText": "distribuito",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.title": "Immagini",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.tooltipText": "Queste sono le immagini per tutte le distribuzioni nell'applicazione ArgoCD.",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.namespace": "Spazio dei nomi",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.commit": "Commit",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.namespace": "Spazio dei nomi",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.strategy": "Strategia",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.status": "Stato",
+ "deploymentLifecycle.sidebar.resources.resource.resourceMetadata.namespace": "Spazio dei nomi",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.iconButton.ariaLabel": "altro",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.refresh": "Aggiorna",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.sync": "Sincronizzazione",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.placeholder": "Cerca per tipo",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.ariaLabel": "cancella ricerca",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SearchByName": "Nome",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Kind": "Tipo",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SyncStatus": "Stato della sincronizzazione",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.HealthStatus": "Stato di integrità",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Unset": "Filtra per",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.searchByNameInput": "Cerca per nome",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusInput": "Filtra per Stato di integrità",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusInput": "Filtra per stato della sincronizzazione",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.kindInput": "Filtra per tipo",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.resourceFilters": "Filtri delle risorse",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.syncStatus": "Stato della sincronizzazione",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.kind": "Tipo",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Healthy": "Integro",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Suspended": "Sospeso",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Degraded": "Degradato",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Progressing": "In avanzamento",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Missing": "Mancante",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Unknown": "Sconosciuto",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Synced": "Sincronizzato",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Unknown": "Sconosciuto",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.OutOfSync": "Non sincronizzato",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.textPrimary": "Cicli di analisi",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.name": "Nome:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.createdAt": "Creato alle:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.status": "Stato:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.chipLabel": "Analisi",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.revision": "Revisione",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.stable": "Stabile",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.active": "Attivo",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.preview": "Anteprima",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revision": "Revisione",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.stable": "Stabile",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.canary": "Canary",
+ "deploymentLifecycle.sidebar.rollouts.revisions.revisionImage.textPrimary": "Traffico verso l'immagine",
+ "deploymentLifecycle.sidebar.rollouts.rollOut.title": "Revisioni",
+ "deploymentLifecycle.deploymentLifecycle.title": "Ciclo di vita della distribuzione",
+ "deploymentLifecycle.deploymentLifecycle.subtitle": "Esaminare i componenti/sistemi distribuiti nello spazio dei nomi utilizzando il plug-in ArgoCD",
+ "deploymentLifecycle.deploymentLifecycleCard.instance": "Istanza",
+ "deploymentLifecycle.deploymentLifecycleCard.server": "Server",
+ "deploymentLifecycle.deploymentLifecycleCard.namespace": "Spazio dei nomi",
+ "deploymentLifecycle.deploymentLifecycleCard.commit": "Commit",
+ "deploymentLifecycle.deploymentLifecycleCard.tooltipText": "Il commit SHA mostrato di seguito è l'ultimo commit dalla prima sorgente dell'applicazione definita.",
+ "deploymentLifecycle.deploymentLifecycleCard.resources": "Risorse",
+ "deploymentLifecycle.deploymentLifecycleCard.resourcesDeployed": "risorse distribuite",
+ "deploymentLifecycle.deploymentLifecycleDrawer.iconButtonTitle": "Chiudi il riquadro",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instance": "Istanza",
+ "deploymentLifecycle.deploymentLifecycleDrawer.cluster": "Cluster",
+ "deploymentLifecycle.deploymentLifecycleDrawer.namespace": "Spazio dei nomi",
+ "deploymentLifecycle.deploymentLifecycleDrawer.commit": "Commit",
+ "deploymentLifecycle.deploymentLifecycleDrawer.revision": "Revisione",
+ "deploymentLifecycle.deploymentLifecycleDrawer.resources": "Risorse",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instanceDefaultValue": "predefinito",
+ "deploymentSummary.deploymentSummary.tableTitle": "Riepilogo della distribuzione",
+ "deploymentSummary.deploymentSummary.columns.instance": "Istanza",
+ "deploymentSummary.deploymentSummary.columns.server": "Server",
+ "deploymentSummary.deploymentSummary.columns.revision": "Revisione",
+ "deploymentSummary.deploymentSummary.columns.lastDeployed": "Ultima distribuzione",
+ "deploymentSummary.deploymentSummary.columns.syncStatus": "Stato della sincronizzazione",
+ "deploymentSummary.deploymentSummary.columns.healthStatus": "Stato di integrità"
+ }
+ },
+ "plugin.sonarqube": {
+ "it": {
+ "title": "Pannello di controllo SonarQube",
+ "sonarQubeCard.title": "Qualità del codice",
+ "sonarQubeCard.deepLinkTitle": "Visualizza altro",
+ "sonarQubeCard.emptyState.title": "Nessuna informazione da visualizzare",
+ "sonarQubeCard.emptyState.description": "Non esiste alcun progetto SonarQube con chiave '{{ projectTitle }}', verificare che il progetto esista e che abbia le autorizzazioni.",
+ "sonarQubeCard.noSonarQubeError.hasAnnotation": "Non esiste alcun progetto SonarQube con chiave '{{project}}'",
+ "sonarQubeCard.noSonarQubeError.noAnnotation": "Nessuna annotazione SonarQube trovata",
+ "sonarQubeCard.bugReportRatingCardTitle": "Bug",
+ "sonarQubeCard.vulnerabilitiesRatingCardTitle": "Vulnerabilità",
+ "sonarQubeCard.codeSmellsRatingCardTitle": "Possibili errori nel codice",
+ "sonarQubeCard.hotspotsReviewedTitle": "Hotspot rivisti",
+ "sonarQubeCard.coverageRatingCardTitle": "Copertura",
+ "sonarQubeCard.duplicationsRatingCard": "Duplicazioni",
+ "sonarQubeCard.qualityBadgeLabel.notComputed": "Non elaborato",
+ "sonarQubeCard.qualityBadgeLabel.gatePassed": "Gate superato",
+ "sonarQubeCard.qualityBadgeLabel.gateFailed": "Gate non riuscito",
+ "sonarQubeCard.qualityBadgeTooltip": "Visualizza il pannello di controllo di SonarQube",
+ "sonarQubeTable.columnsTitle.name": "Nome",
+ "sonarQubeTable.columnsTitle.qualityGate": "Quality Gate",
+ "sonarQubeTable.columnsTitle.lastAnalysis": "Ultima analisi",
+ "sonarQubeTable.columnsTitle.bugs": "Bug",
+ "sonarQubeTable.columnsTitle.vulnerabilities": "Vulnerabilità",
+ "sonarQubeTable.columnsTitle.codeSmells": "Possibili errori nel codice",
+ "sonarQubeTable.columnsTitle.hotspotsReviewed": "Hotspot rivisti",
+ "sonarQubeTable.columnsTitle.coverage": "Copertura",
+ "sonarQubeTable.columnsTitle.duplications": "Duplicazioni"
+ }
+ },
+ "plugin.tekton": {
+ "it": {
+ "errorPanel.title": "Si è verificato un problema durante il recupero degli oggetti Kubernetes",
+ "errorPanel.description": "Si è verificato un problema durante il recupero di alcune risorse Kubernetes per l'entità: {{entityName}}. Potrebbe significare che la scheda Segnalazione errori non è del tutto precisa.",
+ "permissionAlert.title": "Autorizzazione richiesta",
+ "permissionAlert.description": "Per visualizzare le esecuzioni delle pipeline Tekton, contattare l'amministratore per ottenere le seguenti autorizzazioni: {{permissions}}.",
+ "statusSelector.label": "Stato",
+ "clusterSelector.label": "Cluster",
+ "tableExpandCollapse.collapseAll": "Comprimi tutto",
+ "tableExpandCollapse.expandAll": "Espandi tutto",
+ "pipelineVisualization.emptyState.description": "Nessuna esecuzione della pipeline da visualizzare",
+ "pipelineVisualization.noTasksDescription": "Questa esecuzione della pipeline non ha attività da visualizzare",
+ "pipelineVisualization.stepList.finallyTaskTitle": "Attività finale",
+ "pipelineRunList.title": "Esecuzioni di pipeline",
+ "pipelineRunList.noPipelineRuns": "Nessuna esecuzione di pipeline trovata",
+ "pipelineRunList.searchBarPlaceholder": "Ricerca",
+ "pipelineRunList.rowActions.viewParamsAndResults": "Visualizza parametri e risultati",
+ "pipelineRunList.rowActions.viewLogs": "Visualizza registri",
+ "pipelineRunList.rowActions.unauthorizedViewLogs": "Non autorizzato a visualizzare i registri",
+ "pipelineRunList.rowActions.viewSBOM": "Visualizza SBOM",
+ "pipelineRunList.rowActions.SBOMNotApplicable": "Visualizza SBOM non è applicabile a questa PipelineRun",
+ "pipelineRunList.rowActions.viewOutput": "Visualizza output",
+ "pipelineRunList.rowActions.outputNotApplicable": "Visualizza output non è applicabile a questa PipelineRun",
+ "pipelineRunList.vulnerabilitySeverityTitle.critical": "Critica",
+ "pipelineRunList.vulnerabilitySeverityTitle.high": "Alta",
+ "pipelineRunList.vulnerabilitySeverityTitle.medium": "Media",
+ "pipelineRunList.vulnerabilitySeverityTitle.low": "Bassa",
+ "pipelineRunList.tableHeaderTitle.name": "NOME",
+ "pipelineRunList.tableHeaderTitle.vulnerabilities": "VULNERABILITÀ",
+ "pipelineRunList.tableHeaderTitle.status": "STATO",
+ "pipelineRunList.tableHeaderTitle.taskStatus": "STATO DELL'ATTIVITÀ",
+ "pipelineRunList.tableHeaderTitle.startTime": "Iniziata",
+ "pipelineRunList.tableHeaderTitle.duration": "DURATA",
+ "pipelineRunList.tableHeaderTitle.actions": "AZIONI",
+ "pipelineRunList.tablePagination.rowsPerPageOptionLabel": "{{num}} righe",
+ "pipelineRunLogs.title": "Registri PipelineRun",
+ "pipelineRunLogs.noLogs": "Nessun registro trovato",
+ "pipelineRunLogs.downloader.downloadTaskLogs": "Scaricamento",
+ "pipelineRunLogs.downloader.downloadPipelineRunLogs": "Scarica tutti i registri delle attività",
+ "pipelineRunLogs.podLogsDownloadLink.title": "Scaricamento",
+ "pipelineRunLogs.podLogsDownloadLink.downloading": "download dei registri in corso",
+ "pipelineRunLogs.taskStatusStepper.skipped": "Ignorato",
+ "pipelineRunOutput.title": "Output di PipelineRun",
+ "pipelineRunOutput.noOutput": "Nessun output",
+ "pipelineRunStatus.All": "Tutto",
+ "pipelineRunStatus.Cancelling": "Annullamento",
+ "pipelineRunStatus.Succeeded": "Riuscito",
+ "pipelineRunStatus.Failed": "Non riuscito",
+ "pipelineRunStatus.Running": "In esecuzione",
+ "pipelineRunStatus.In Progress": "In corso",
+ "pipelineRunStatus.FailedToStart": "Impossibile avviare",
+ "pipelineRunStatus.PipelineNotStarted": "Pipeline non avviata",
+ "pipelineRunStatus.Skipped": "Ignorato",
+ "pipelineRunStatus.Cancelled": "Annullato",
+ "pipelineRunStatus.Pending": "In pausa",
+ "pipelineRunStatus.Idle": "Inattivo",
+ "pipelineRunStatus.Other": "Altro",
+ "pipelineRunDuration.lessThanSec": "meno di un secondo",
+ "pipelineRunDuration.hour_one": "{{count}} ora",
+ "pipelineRunDuration.hour_other": "{{count}} ore",
+ "pipelineRunDuration.minute_one": "{{count}} minuto",
+ "pipelineRunDuration.minute_other": "{{count}} minuti",
+ "pipelineRunDuration.second_one": "{{count}} secondo",
+ "pipelineRunDuration.second_other": "{{count}} secondi",
+ "pipelineRunParamsAndResults.title": "Parametri e risultati di PipelineRun",
+ "pipelineRunParamsAndResults.noParams": "Nessun parametro trovato",
+ "pipelineRunParamsAndResults.noResults": "Nessun risultato trovato",
+ "pipelineRunParamsAndResults.params": "Parametri",
+ "pipelineRunParamsAndResults.results": "Risultati",
+ "pipelineRunParamsAndResults.outputTableColumn.name": "Nome",
+ "pipelineRunParamsAndResults.outputTableColumn.value": "Valore"
+ }
+ },
+ "plugin.topology": {
+ "it": {
+ "page.title": "Topologia",
+ "page.subtitle": "Visualizzazione della topologia del carico di lavoro di Kubernetes",
+ "toolbar.cluster": "Cluster",
+ "toolbar.selectCluster": "Selezionare Cluster",
+ "toolbar.displayOptions": "Opzioni di visualizzazione",
+ "toolbar.currentDisplayOptions": "Opzioni di visualizzazione correnti",
+ "emptyState.noResourcesFound": "Nessuna risorsa trovata",
+ "emptyState.noResourcesDescription": "Nessuna risorsa Kubernetes trovata nel cluster selezionato.",
+ "permissions.missingPermission": "Autorizzazione mancante",
+ "permissions.missingPermissionDescription": "Per visualizzare la topologia, l'amministratore deve concedere {{permissions}} {{permissionText}}.",
+ "permissions.missingPermissionDescription_plural": "Per visualizzare la topologia, l'amministratore deve concedere {{permissions}} {{permissionText}}.",
+ "permissions.permission": "autorizzazione",
+ "permissions.permissions": "autorizzazioni",
+ "permissions.goBack": "Indietro",
+ "sideBar.details": "Dettagli",
+ "sideBar.resources": "Risorse",
+ "status.running": "In esecuzione",
+ "status.pending": "In pausa",
+ "status.succeeded": "Riuscito",
+ "status.failed": "Non riuscito",
+ "status.unknown": "Sconosciuto",
+ "status.terminating": "Termine",
+ "status.crashLoopBackOff": "CrashLoopBackOff",
+ "status.error": "Errore",
+ "status.warning": "Avviso",
+ "status.ready": "Pronto",
+ "status.notReady": "Non pronto",
+ "status.active": "Attivo",
+ "status.inactive": "Inattivo",
+ "status.updating": "Aggiornamento",
+ "status.evicted": "Rimosso",
+ "status.cancelled": "Annullato",
+ "details.name": "Nome",
+ "details.namespace": "Spazio dei nomi",
+ "details.labels": "Etichette",
+ "details.annotations": "Annotazioni",
+ "details.createdAt": "Creato",
+ "details.age": "Età",
+ "details.replicas": "Repliche",
+ "details.availableReplicas": "Repliche disponibili",
+ "details.readyReplicas": "Repliche pronte",
+ "details.updatedReplicas": "Repliche aggiornate",
+ "details.selector": "Selettore",
+ "details.strategy": "Strategia",
+ "details.image": "Immagine",
+ "details.ports": "Porte",
+ "details.volumes": "Volumi",
+ "details.volumeMounts": "Montaggi del volume",
+ "details.environmentVariables": "Variabili d'ambiente",
+ "details.resourceRequirements": "Requisiti delle risorse",
+ "details.limits": "Limiti",
+ "details.requests": "Richieste",
+ "details.cpu": "CPU",
+ "details.memory": "Memoria",
+ "details.storage": "Archiviazione",
+ "details.noLabels": "Nessuna etichetta",
+ "details.noAnnotations": "Nessuna annotazione",
+ "details.noOwner": "Nessun proprietario",
+ "details.notAvailable": "Non disponibile",
+ "details.notConfigured": "Non configurato",
+ "details.updateStrategy": "Aggiornare la strategia",
+ "details.maxUnavailable": "Max non disponibile",
+ "details.maxSurge": "Sovratensione massima",
+ "details.progressDeadlineSeconds": "Secondi alla scadenza progressivi",
+ "details.minReadySeconds": "Secondi min alla preparazione",
+ "details.desiredCompletions": "Completamenti desiderati",
+ "details.parallelism": "Parallelismo",
+ "details.activeDeadlineSeconds": "Secondi alla scadenza attivi",
+ "details.currentCount": "Conteggio attuale",
+ "details.desiredCount": "Conteggio desiderato",
+ "details.schedule": "Programma",
+ "details.concurrencyPolicy": "Politica di concorrenza",
+ "details.startingDeadlineSeconds": "Secondi all'avvio della scadenza",
+ "details.lastScheduleTime": "Ultimo orario previsto",
+ "details.maxSurgeDescription": "{{maxSurge}} maggiore di {{replicas}} pod",
+ "details.maxUnavailableDescription": "{{maxUnavailable}} di {{replicas}} pod",
+ "logs.download": "Scaricamento",
+ "logs.noLogsFound": "Nessun registro trovato",
+ "logs.selectContainer": "Selezionare container",
+ "logs.container": "Container",
+ "logs.pod": "Pod",
+ "logs.showPrevious": "Mostra precedente",
+ "logs.follow": "Segui",
+ "logs.refresh": "Aggiorna",
+ "logs.timestamps": "Timestamp",
+ "logs.wrapLines": "A capo",
+ "logs.clearLogs": "Cancella registri",
+ "logs.logLevel": "Livello di registro",
+ "logs.search": "Ricerca",
+ "logs.noMatchingLogs": "Nessun registro corrispondente trovato",
+ "resources.noResourcesFound": "Nessun {{resourceType}} trovato per questa risorsa.",
+ "resources.showingLatest": "Visualizzazione degli ultimi {{count}} {{resourceType}}",
+ "time.seconds": "secondi",
+ "time.minutes": "minuti",
+ "time.hours": "ore",
+ "time.days": "giorni",
+ "events.type": "Tipo",
+ "events.reason": "Motivo",
+ "events.message": "Messaggio",
+ "events.source": "Sorgente",
+ "events.firstSeen": "Primo accesso",
+ "events.lastSeen": "Ultimo accesso",
+ "events.count": "Conteggio",
+ "events.noEventsFound": "Nessun evento trovato",
+ "filters.showLabels": "Mostra etichette",
+ "filters.showPodCount": "Mostra conteggio pod",
+ "filters.expandApplicationGroups": "Espandi gruppi di applicazioni",
+ "filters.showConnectors": "Mostra connettori",
+ "common.status": "Stato",
+ "common.owner": "Proprietario",
+ "common.location": "Posizione",
+ "common.viewLogs": "Visualizza registri",
+ "bootOrder.summary": "Riepilogo dell'ordine di avvio",
+ "bootOrder.emptySummary": "Nessun ordine di avvio configurato",
+ "bootOrder.disk": "Disco",
+ "bootOrder.network": "Rete",
+ "bootOrder.cdrom": "CD-ROM",
+ "vm.status.starting": "Avvio",
+ "vm.status.stopping": "Arresto",
+ "vm.status.stopped": "Arrestato",
+ "vm.status.paused": "In pausa",
+ "vm.status.migrating": "Migrazione",
+ "vm.status.provisioning": "Provisioning",
+ "vm.status.errorUnschedulable": "ErrorUnschedulable",
+ "vm.status.errorImagePull": "ErrorImagePull",
+ "vm.status.imageNotReady": "ImageNotReady",
+ "vm.status.waitingForVolumeBinding": "WaitingForVolumeBinding"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/community-plugins-reference-2025-12-05-ja-C.json b/translations/community-plugins-reference-2025-12-05-ja-C.json
new file mode 100644
index 0000000000..0931288c82
--- /dev/null
+++ b/translations/community-plugins-reference-2025-12-05-ja-C.json
@@ -0,0 +1,740 @@
+{
+ "plugin.acr": {
+ "ja": {
+ "page.title": "Azure Container Registry リポジトリー: {{image}}",
+ "table.searchPlaceholder": "フィルター",
+ "table.labelRowsSelect": "行",
+ "table.columns.tag": "タグ",
+ "table.columns.created": "作成済み",
+ "table.columns.lastModified": "最終更新",
+ "table.columns.manifest": "マニフェスト"
+ }
+ },
+ "plugin.adr": {
+ "ja": {
+ "contentHeaderTitle": "アーキテクチャー決定レコード",
+ "failedToFetch": "ADR の取得に失敗しました",
+ "notFound": "ADR が見つかりません"
+ }
+ },
+ "plugin.announcements-react": {
+ "ja": {
+ "announcementForm.title": "タイトル",
+ "announcementForm.excerpt": "抜粋",
+ "announcementForm.active": "アクティブ",
+ "announcementForm.submit": "送信",
+ "announcementForm.editAnnouncement": "お知らせの編集",
+ "announcementForm.newAnnouncement": "新しいお知らせ",
+ "announcementForm.startAt": "お知らせ開始日",
+ "announcementForm.untilDate": "お知らせ終了日",
+ "announcementForm.onBehalfOf": "発信元",
+ "announcementForm.categoryInput.create": "作成",
+ "announcementForm.categoryInput.label": "カテゴリー",
+ "announcementForm.tagsInput.create": "作成",
+ "announcementForm.tagsInput.label": "タグ",
+ "announcementForm.tagsLabel": "タグ",
+ "announcementsPage.newAnnouncement": "新しいお知らせ",
+ "announcementsPage.genericNew": "新規",
+ "announcementsPage.card.by": "By",
+ "announcementsPage.card.in": "in",
+ "announcementsPage.card.edit": "編集",
+ "announcementsPage.card.delete": "削除",
+ "announcementsPage.card.occurred": "実施済み ",
+ "announcementsPage.card.scheduled": "スケジュール済み ",
+ "announcementsPage.card.today": "今日",
+ "announcementsPage.grid.announcementDeleted": "お知らせを削除しました。",
+ "announcementsPage.contextMenu.admin": "アナウンスの管理",
+ "confirmDeleteDialog.title": "削除してもよろしいですか?",
+ "confirmDeleteDialog.cancel": "キャンセル",
+ "confirmDeleteDialog.delete": "削除",
+ "announcementsCard.seeAll": "すべて表示",
+ "announcementsCard.announcements": "お知らせ",
+ "announcementsCard.new": "新規",
+ "announcementsCard.in": "in",
+ "announcementsCard.noAnnouncements": "まだお知らせはありません。",
+ "announcementsCard.addOne": "追加しますか",
+ "announcementsCard.occurred": "実施済み",
+ "announcementsCard.scheduled": "スケジュール済み",
+ "announcementsCard.today": "今日",
+ "announcementSearchResultListItem.published": "公開済み",
+ "announcementSearchResultListItem.announcement": "お知らせ",
+ "announcementsTimeline.noAnnouncements": "お知らせなし",
+ "announcementsTimeline.error": "エラー",
+ "categoriesForm.newCategory": "新しいカテゴリー",
+ "categoriesForm.editCategory": "カテゴリーの編集",
+ "categoriesForm.titleLabel": "タイトル",
+ "categoriesForm.submit": "送信",
+ "categoriesTable.categoryDeleted": "カテゴリーが削除されました。",
+ "categoriesTable.slug": "スラッグ",
+ "categoriesTable.title": "タイトル",
+ "categoriesTable.actions": "アクション",
+ "categoriesTable.addTooltip": "追加",
+ "categoriesTable.noCategoriesFound": "カテゴリーが見つかりません。",
+ "categoriesPage.title": "カテゴリー",
+ "categoriesPage.subtitle": "お知らせのカテゴリーの管理",
+ "tagsForm.newTag": "新しいタグ",
+ "tagsForm.editTag": "タグの編集",
+ "tagsForm.titleLabel": "タイトル",
+ "tagsForm.submit": "送信",
+ "tagsForm.errors.alreadyExists": "この名前のタグはすでに存在します。",
+ "tagsForm.errors.invalidTitle": "タイトルは必須です。",
+ "tagsForm.errors.tooLong": "タイトルが最大長を超えています。",
+ "newTagDialog.createdMessage": "タグが作成されました。",
+ "newTagDialog.newTag": "新しいタグ",
+ "newTagDialog.title": "タイトル",
+ "newTagDialog.cancelButton": "キャンセル",
+ "newTagDialog.createButton": "作成",
+ "tagsPage.title": "タグ",
+ "tagsPage.subtitle": "お知らせのタグの管理",
+ "tagsTable.tagDeleted": "タグが削除されました。",
+ "tagsTable.slug": "スラッグ",
+ "tagsTable.title": "タイトル",
+ "tagsTable.actions": "アクション",
+ "tagsTable.addTooltip": "追加",
+ "tagsTable.noTagsFound": "タグが見つかりません。",
+ "createAnnouncementPage.alertMessage": "お知らせを作成しました。",
+ "createAnnouncementPage.alertMessageWithNewCategory": "新しいカテゴリー",
+ "editAnnouncementPage.updatedMessage": "お知らせを更新しました。",
+ "editAnnouncementPage.updatedMessageWithNewCategory": "新しいカテゴリー",
+ "editAnnouncementPage.notFoundMessage": "お知らせが見つかりません",
+ "editAnnouncementPage.edit": "編集",
+ "newAnnouncementBanner.markAsSeen": "既読としてマーク",
+ "newCategoryDialog.createdMessage": "カテゴリーが作成されました。",
+ "newCategoryDialog.newCategory": "新しいカテゴリー",
+ "newCategoryDialog.title": "タイトル",
+ "newCategoryDialog.cancelButton": "キャンセル",
+ "newCategoryDialog.createButton": "作成",
+ "admin.adminPortal.announcementsLabels": "お知らせ",
+ "admin.adminPortal.categoriesLabel": "カテゴリー",
+ "admin.adminPortal.tagsLabel": "タグ",
+ "admin.adminPortal.title": "お知らせ用の管理ポータル",
+ "admin.adminPortal.subtitle": "お知らせとカテゴリーの管理",
+ "admin.announcementsContent.alertMessage": "お知らせを作成しました。",
+ "admin.announcementsContent.alertMessageWithNewCategory": "新しいカテゴリー",
+ "admin.announcementsContent.cancelButton": "キャンセル",
+ "admin.announcementsContent.createButton": "お知らせの作成",
+ "admin.announcementsContent.announcements": "お知らせ",
+ "admin.announcementsContent.noAnnouncementsFound": "お知らせが見つかりません",
+ "admin.announcementsContent.table.title": "タイトル",
+ "admin.announcementsContent.table.body": "ボディー",
+ "admin.announcementsContent.table.publisher": "公開元",
+ "admin.announcementsContent.table.onBehalfOf": "発信元",
+ "admin.announcementsContent.table.category": "カテゴリー",
+ "admin.announcementsContent.table.tags": "タグ",
+ "admin.announcementsContent.table.status": "ステータス",
+ "admin.announcementsContent.table.actions": "アクション",
+ "admin.announcementsContent.table.active": "アクティブ",
+ "admin.announcementsContent.table.inactive": "非アクティブ",
+ "admin.announcementsContent.table.created_at": "作成済み",
+ "admin.announcementsContent.table.start_at": "開始日",
+ "admin.announcementsContent.table.until_date": "終了日",
+ "admin.categoriesContent.createdMessage": "作成済み",
+ "admin.categoriesContent.deletedMessage": "カテゴリーが削除されました。",
+ "admin.categoriesContent.cancelButton": "キャンセル",
+ "admin.categoriesContent.createButton": "カテゴリーの作成",
+ "admin.categoriesContent.table.categoryDeleted": "カテゴリーが削除されました。",
+ "admin.categoriesContent.table.slug": "スラッグ",
+ "admin.categoriesContent.table.title": "タイトル",
+ "admin.categoriesContent.table.actions": "アクション",
+ "admin.categoriesContent.table.addTooltip": "追加",
+ "admin.categoriesContent.table.noCategoriesFound": "カテゴリーが見つかりません。",
+ "admin.tagsContent.createdMessage": "作成済み",
+ "admin.tagsContent.deletedMessage": "タグが削除されました。",
+ "admin.tagsContent.cancelButton": "キャンセル",
+ "admin.tagsContent.createButton": "タグの作成",
+ "admin.tagsContent.table.tagDeleted": "タグが削除されました。",
+ "admin.tagsContent.table.slug": "スラッグ",
+ "admin.tagsContent.table.title": "タイトル",
+ "admin.tagsContent.table.actions": "アクション",
+ "admin.tagsContent.table.addTooltip": "追加",
+ "admin.tagsContent.table.noTagsFound": "タグが見つかりません。",
+ "admin.tagsContent.errors.alreadyExists": "この名前のタグはすでに存在します。"
+ }
+ },
+ "plugin.bookmarks": {
+ "ja": {
+ "bookmarkViewer.newTab": "新しいタブで開く",
+ "bookmarkViewer.navButton.next": "次へ",
+ "bookmarkViewer.navButton.previous": "前へ",
+ "bookmarkViewer.mobileView.toc": "目次",
+ "bookmarkViewerFrame.devModeWarning": "開発モードでは、iframe を正しく読み込むためにページを再読み込みする必要がある場合があります",
+ "entityBookmarksContent.invalid.title": "ブックマークの形式が無効です",
+ "entityBookmarksContent.invalid.description": "ブックマークの構造が正しいことを確認してください。",
+ "entityBookmarksContent.notFound.title": "ブックマークが見つかりません",
+ "entityBookmarksContent.notFound.description": "エンティティーのメタデータにブックマークを追加すると、ここに表示されます。"
+ }
+ },
+ "plugin.flux": {
+ "ja": {
+ "fluxContentCard.permissionAlert.title": "権限が必要",
+ "fluxContentCard.permissionAlert.message": "Flux コンテンツが Kubernetes オブジェクトに対する認可を必要としています。ポータル管理者に連絡して、kubernetes.clusters.read および kubernetes.resources.read 権限を付与してもらうよう依頼してください。"
+ }
+ },
+ "plugin.jfrog-artifactory": {
+ "ja": {
+ "page.title": "JFrog Artifactory リポジトリー: {{image}}",
+ "table.searchPlaceholder": "フィルター",
+ "table.labelRowsSelect": "行",
+ "table.columns.version": "バージョン",
+ "table.columns.repositories": "リポジトリー",
+ "table.columns.manifest": "マニフェスト",
+ "table.columns.modified": "更新済み",
+ "table.columns.size": "サイズ",
+ "table.emptyContent.message": "まだデータが追加されていません。",
+ "table.emptyContent.learnMore": "データの追加方法をご覧ください。",
+ "manifest.sha256": "sha256"
+ }
+ },
+ "plugin.linguist": {
+ "ja": {
+ "entityCard.title": "言語",
+ "entityCard.noData": "現在、このエンティティーの言語データはありません。"
+ }
+ },
+ "plugin.nexus-repository-manager": {
+ "ja": {
+ "table.title": "Nexus Repository Manager: {{title}}",
+ "table.searchPlaceholder": "フィルター",
+ "table.labelRowsSelect": "行",
+ "table.columns.version": "バージョン",
+ "table.columns.artifact": "アーティファクト",
+ "table.columns.repositoryType": "リポジトリータイプ",
+ "table.columns.checksum": "チェックサム",
+ "table.columns.modified": "更新済み",
+ "table.columns.size": "サイズ",
+ "table.emptyValue": "該当なし",
+ "table.emptyContent.message": "まだデータが追加されていません。",
+ "table.emptyContent.linkText": "データの追加方法をご覧ください",
+ "entityContent.title": "ビルドアーティファクト"
+ }
+ },
+ "plugin.npm": {
+ "ja": {
+ "infoCard.title": "NPM パッケージ {{packageName}}",
+ "infoCard.latestVersion": "最新バージョン",
+ "infoCard.publishedAt": "公開日時",
+ "infoCard.license": "ライセンス",
+ "infoCard.description": "説明",
+ "infoCard.keywords": "キーワード",
+ "infoCard.registryName": "レジストリー名",
+ "infoCard.npmRepository": "NPM リポジトリー",
+ "infoCard.codeRepository": "コードリポジトリー",
+ "infoCard.issueTracker": "イシュートラッカー",
+ "infoCard.homepage": "ホームページ",
+ "releaseOverviewCard.title": "現在のタグ",
+ "releaseOverviewCard.toolbar.searchPlaceholder": "検索",
+ "releaseOverviewCard.columns.tag": "タグ",
+ "releaseOverviewCard.columns.version": "バージョン",
+ "releaseOverviewCard.columns.published": "公開済み",
+ "releaseTableCard.title": "現在のタグ",
+ "releaseTableCard.toolbar.searchPlaceholder": "検索",
+ "releaseTableCard.columns.tag": "タグ",
+ "releaseTableCard.columns.version": "バージョン",
+ "releaseTableCard.columns.published": "公開済み",
+ "versionHistoryCard.title": "バージョン履歴",
+ "versionHistoryCard.toolbar.searchPlaceholder": "検索",
+ "versionHistoryCard.columns.version": "バージョン",
+ "versionHistoryCard.columns.published": "公開済み"
+ }
+ },
+ "plugin.rbac": {
+ "ja": {
+ "page.title": "RBAC",
+ "page.createRole": "ロールの作成",
+ "page.editRole": "ロールの編集",
+ "table.searchPlaceholder": "フィルター",
+ "table.labelRowsSelect": "行",
+ "table.title": "すべてのロール",
+ "table.titleWithCount": "すべてのロール ({{count}})",
+ "table.headers.name": "名前",
+ "table.headers.usersAndGroups": "ユーザーとグループ",
+ "table.headers.accessiblePlugins": "アクセス可能なプラグイン",
+ "table.headers.actions": "アクション",
+ "table.emptyContent": "レコードが見つかりません",
+ "toolbar.createButton": "作成",
+ "toolbar.warning.title": "ロールを作成できません。",
+ "toolbar.warning.message": "ロールの作成/編集ボタンを有効にするには、必要なユーザー/グループがカタログで利用可能であることを確認してください。ユーザー/グループがないと、ロールを作成できないためです。また、ユーザーに関連付けられているロールには、次のリンク先に記載されている権限ポリシーが必要です こちら。",
+ "toolbar.warning.linkText": "こちら",
+ "toolbar.warning.note": "注記",
+ "toolbar.warning.noteText": "カタログにユーザー/グループを取り込み、上記の権限を適用した後でも作成/編集ボタンが無効な場合は、管理者に問い合わせてください。作成/編集ボタンへのアクセスが条件付きで制限されている可能性があります。",
+ "errors.notFound": "見つかりません",
+ "errors.unauthorized": "ロールを作成する権限がありません",
+ "errors.rbacDisabled": "この機能を使用するには、RBAC バックエンドプラグインを有効にしてください。",
+ "errors.rbacDisabledInfo": "RBAC を有効にするには、app-config ファイルで `permission.enabled` を `true` に設定します。",
+ "errors.fetchRoles": "ロールの取得中に問題が発生しました",
+ "errors.fetchRole": "ロールの取得中に問題が発生しました",
+ "errors.fetchPoliciesErr": "ポリシーの取得中にエラーが発生しました。{{error}}",
+ "errors.fetchPolicies": "権限ポリシーの取得中に問題が発生しました",
+ "errors.fetchPlugins": "プラグインの取得中にエラーが発生しました。{{error}}",
+ "errors.fetchConditionalPermissionPolicies": "条件付き権限ポリシーの取得中にエラーが発生しました。{{error}}",
+ "errors.fetchConditions": "ロール条件の取得中に問題が発生しました",
+ "errors.fetchUsersAndGroups": "ユーザーとグループの取得中に問題が発生しました",
+ "errors.createRole": "ロールを作成できません。",
+ "errors.editRole": "ロールを編集できません。",
+ "errors.deleteRole": "ロールを削除できません。",
+ "errors.roleCreatedSuccess": "ロールが正常に作成されましたが、ロールに権限ポリシーを追加できません。",
+ "errors.roleCreatedConditionsSuccess": "ロールは正常に作成されましたが、ロールに条件を追加できません。",
+ "roleForm.titles.createRole": "ロールの作成",
+ "roleForm.titles.editRole": "ロールの編集",
+ "roleForm.titles.nameAndDescription": "ロールの名前と説明を入力してください",
+ "roleForm.titles.usersAndGroups": "ユーザーとグループの追加",
+ "roleForm.titles.permissionPolicies": "権限ポリシーの追加",
+ "roleForm.review.reviewAndCreate": "確認および作成",
+ "roleForm.review.reviewAndSave": "確認および保存",
+ "roleForm.review.nameDescriptionOwner": "ロールの名前、説明、および所有者",
+ "roleForm.steps.next": "次へ",
+ "roleForm.steps.back": "戻る",
+ "roleForm.steps.cancel": "キャンセル",
+ "roleForm.steps.reset": "リセット",
+ "roleForm.steps.create": "作成",
+ "roleForm.steps.save": "保存",
+ "roleForm.fields.name.label": "名前",
+ "roleForm.fields.name.helperText": "ロールの名前を入力してください",
+ "roleForm.fields.description.label": "説明",
+ "roleForm.fields.description.helperText": "ロールについての簡単な説明を入力してください (ロールの目的)",
+ "roleForm.fields.owner.label": "所有者",
+ "roleForm.fields.owner.helperText": "任意: このロールを編集する権限と追加のロールを作成する権限を持つユーザーまたはグループを入力してください。どのユーザーを自分のロールに割り当て可能にするか、どのプラグインへのアクセスを許可するかは、次のステップで設定します。空白のままにすると、作成時に作成者が自動的に割り当てられます。",
+ "deleteDialog.title": "ロールの削除",
+ "deleteDialog.question": "このロールを削除しますか?",
+ "deleteDialog.confirmation": "ロール **{{roleName}}** を削除してもよろしいですか?このロールの削除は取り消せません。その機能もシステムから削除されます。慎重に操作してください。このロールに関連付けられている **{{members}}** が、このロールに指定されているすべての **{{permissions}} 権限ポリシー** にアクセスできなくなります。",
+ "deleteDialog.roleNameLabel": "ロール名",
+ "deleteDialog.roleNameHelper": "確定するにはロールの名前を入力してください",
+ "deleteDialog.deleteButton": "削除",
+ "deleteDialog.cancelButton": "キャンセル",
+ "deleteDialog.successMessage": "ロール {{roleName}} が正常に削除されました",
+ "snackbar.success": "成功",
+ "dialog.cancelRoleCreation": "ロールの作成のキャンセル",
+ "dialog.exitRoleCreation": "ロールの作成を終了しますか?",
+ "dialog.exitRoleEditing": "ロールの編集を終了しますか?",
+ "dialog.exitWarning": "\n\nこのページを終了すると、入力した情報が完全に破棄されます。終了してもよろしいですか?",
+ "dialog.discard": "破棄",
+ "dialog.cancel": "キャンセル",
+ "conditionalAccess.condition": "条件",
+ "conditionalAccess.allOf": "AllOf",
+ "conditionalAccess.anyOf": "AnyOf",
+ "conditionalAccess.not": "Not",
+ "conditionalAccess.addNestedCondition": "ネストされた条件の追加",
+ "conditionalAccess.addRule": "ルールの追加",
+ "conditionalAccess.nestedConditionTooltip": "ネストされた条件とは、**メインの条件の中にある 1 階層分のルール** のことです。さまざまな条件に基づく詳細な権限を使用して、適切なアクセスを許可できます。ネストされた条件は複数追加できます。",
+ "conditionalAccess.nestedConditionExample": "たとえば、メインの条件ですべてのエンティティータイプへのアクセスを許可し、ネストされた条件でユーザーが所有するエンティティーへのアクセスを制限できます。",
+ "permissionPolicies.helperText": "デフォルトでは、ユーザーにはどのプラグインへのアクセスも許可されません。ユーザーのアクセスを許可するには、有効にするプラグインを選択します。その後、ユーザーに許可するアクションを選択します。",
+ "permissionPolicies.allPlugins": "すべてのプラグイン ({{count}})",
+ "permissionPolicies.errorFetchingPolicies": "権限ポリシーの取得中にエラーが発生しました: {{error}}",
+ "permissionPolicies.resourceTypeTooltip": "リソースタイプ: {{resourceType}}",
+ "permissionPolicies.advancedPermissionsTooltip": "詳細にカスタマイズした権限を使用して、選択したリソースタイプの特定の部分へのアクセスを許可します。",
+ "permissionPolicies.pluginsSelected": "{{count}} 個のプラグイン",
+ "permissionPolicies.noPluginsSelected": "プラグインが選択されていません",
+ "permissionPolicies.search": "検索",
+ "permissionPolicies.noRecordsToDisplay": "表示するレコードがありません。",
+ "permissionPolicies.selectedPluginsAppearHere": "選択したプラグインがここに表示されます。",
+ "permissionPolicies.selectPlugins": "プラグインの選択",
+ "permissionPolicies.noPluginsFound": "プラグインが見つかりません。",
+ "permissionPolicies.plugin": "プラグイン",
+ "permissionPolicies.permission": "権限",
+ "permissionPolicies.policies": "ポリシー",
+ "permissionPolicies.conditional": "条件付き",
+ "permissionPolicies.rules": "ルール",
+ "permissionPolicies.rule": "ルール",
+ "permissionPolicies.permissionPolicies": "権限ポリシー",
+ "permissionPolicies.permissions": "権限",
+ "common.noResults": "この日付範囲の結果はありません。",
+ "common.exportCSV": "CSV エクスポート",
+ "common.csvFilename": "data-export.csv",
+ "common.noMembers": "メンバーがありません",
+ "common.groups": "グループ",
+ "common.group": "グループ",
+ "common.users": "ユーザー",
+ "common.user": "ユーザー",
+ "common.use": "使用",
+ "common.refresh": "更新",
+ "common.edit": "編集",
+ "common.unauthorizedToEdit": "編集権限がありません",
+ "common.noRecordsFound": "レコードが見つかりません",
+ "common.selectUsersAndGroups": "ユーザーとグループの選択",
+ "common.clearSearch": "検索のクリア",
+ "common.closeDrawer": "ドロワーを閉じる",
+ "common.remove": "削除",
+ "common.addRule": "ルールの追加",
+ "common.selectRule": "ルールの選択",
+ "common.rule": "ルール",
+ "common.removeNestedCondition": "ネストされた条件の削除",
+ "common.overview": "概要",
+ "common.about": "概要",
+ "common.description": "説明",
+ "common.modifiedBy": "更新者",
+ "common.lastModified": "最終更新",
+ "common.owner": "所有者",
+ "common.noUsersAndGroupsSelected": "ユーザーとグループが選択されていません",
+ "common.selectedUsersAndGroupsAppearHere": "選択したユーザーとグループがここに表示されます。",
+ "common.name": "名前",
+ "common.type": "タイプ",
+ "common.members": "メンバー",
+ "common.actions": "アクション",
+ "common.removeMember": "メンバーの削除",
+ "common.delete": "削除",
+ "common.deleteRole": "ロールの削除",
+ "common.update": "更新",
+ "common.editRole": "ロールの編集",
+ "common.checkingPermissions": "権限を確認しています…",
+ "common.unauthorizedTo": "{{action}} 権限がありません",
+ "common.performThisAction": "このアクションの実行",
+ "common.unableToCreatePermissionPolicies": "権限ポリシーを作成できません。",
+ "common.unableToDeletePermissionPolicies": "権限ポリシーを削除できません。",
+ "common.unableToRemoveConditions": "ロールから条件を削除できません。",
+ "common.unableToUpdateConditions": "条件を更新できません。",
+ "common.unableToAddConditions": "ロールに条件を追加できません。",
+ "common.roleActionSuccessfully": "ロール {{roleName}} {{action}} が正常に実行されました",
+ "common.unableToFetchRole": "ロールを取得できません: {{error}}",
+ "common.unableToFetchMembers": "メンバーを取得できません: {{error}}",
+ "common.roleAction": "ロールの {{action}}",
+ "common.membersCount": "{{count}} 人のメンバー",
+ "common.parentGroupCount": "{{count}} 個の親グループ",
+ "common.childGroupsCount": "{{count}} 個の子グループ",
+ "common.searchAndSelectUsersGroups": "追加するユーザーとグループを検索して選択します。選択したユーザーとグループは下の表に表示されます。",
+ "common.noUsersAndGroupsFound": "ユーザーとグループが見つかりません。",
+ "common.errorFetchingUserGroups": "ユーザーとグループの取得中にエラーが発生しました: {{error}}",
+ "common.nameRequired": "名前は必須です",
+ "common.noMemberSelected": "メンバーが選択されていません",
+ "common.noPluginSelected": "プラグインが選択されていません",
+ "common.pluginRequired": "プラグインが必要です",
+ "common.permissionRequired": "権限が必要です",
+ "common.editCell": "編集...",
+ "common.selectCell": "選択...",
+ "common.expandRow": "行を展開",
+ "common.configureAccessFor": "以下に対するアクセス権を設定",
+ "common.defaultResourceTypeVisible": "デフォルトでは、選択したリソースタイプが、追加されたすべてのユーザーに表示されます。特定のプラグインルールに対する権限を制限または付与する場合は、そのルールを選択してパラメーターを追加してください。"
+ }
+ },
+ "plugin.argocd": {
+ "ja": {
+ "appStatus.appHealthStatus.Healthy": "健全",
+ "appStatus.appHealthStatus.Suspended": "一時停止中",
+ "appStatus.appHealthStatus.Degraded": "デグレード",
+ "appStatus.appHealthStatus.Progressing": "進行中",
+ "appStatus.appHealthStatus.Missing": "なし",
+ "appStatus.appHealthStatus.Unknown": "不明",
+ "appStatus.appSyncStatus.Unknown": "不明",
+ "appStatus.appSyncStatus.Synced": "同期済み",
+ "appStatus.appSyncStatus.OutOfSync": "同期なし",
+ "common.appServer.title": "これは、Argo CD がインストールされているローカルクラスターです。",
+ "common.permissionAlert.alertTitle": "権限が必要",
+ "common.permissionAlert.alertText": "argocd プラグインを表示するには、管理者に連絡して argocd.view.read 権限を付与してもらうよう依頼してください。",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.name": "名前",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.kind": "種類",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.createdAt": "作成日時",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.syncStatus": "同期ステータス",
+ "deploymentLifecycle.sidebar.resources.resourcesColumnHeader.healthStatus": "健全性ステータス",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.ariaLabelledBy": "リソース",
+ "deploymentLifecycle.sidebar.resources.resourcesTable.noneFound": "リソースが見つかりません",
+ "deploymentLifecycle.sidebar.resources.resourcesTableRow.ariaLabel": "行を展開",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistory.bodyText": "デプロイメント履歴",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentHistoryCommit.deployedText": "デプロイ済み",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.title": "イメージ",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.metadataItemWithTooltip.tooltipText": "これらは、ArgoCD アプリケーションの全デプロイメントで使用されているイメージです。",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.namespace": "Namespace",
+ "deploymentLifecycle.sidebar.resources.resource.deploymentMetadata.commit": "コミット",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.namespace": "Namespace",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.strategy": "ストラテジー",
+ "deploymentLifecycle.sidebar.resources.resource.rolloutMetadata.status": "ステータス",
+ "deploymentLifecycle.sidebar.resources.resource.resourceMetadata.namespace": "Namespace",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.iconButton.ariaLabel": "詳細",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.refresh": "更新",
+ "deploymentLifecycle.sidebar.resources.resourcesKebabMenuOptions.sync": "同期",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.placeholder": "種類で検索",
+ "deploymentLifecycle.sidebar.resources.resourcesSearchBar.ariaLabel": "検索のクリア",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SearchByName": "名前",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Kind": "種類",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.SyncStatus": "同期ステータス",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.HealthStatus": "健全性ステータス",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.Unset": "フィルタリング条件",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.searchByNameInput": "名前で検索",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusInput": "健全性ステータスでフィルタリング",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusInput": "同期ステータスでフィルタリング",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.kindInput": "種類でフィルタリング",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.resourceFilters": "リソースフィルター",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.syncStatus": "同期ステータス",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.ariaLabels.kind": "種類",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Healthy": "健全",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Suspended": "一時停止中",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Degraded": "デグレード",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Progressing": "進行中",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Missing": "なし",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.healthStatusSelectOptions.Unknown": "不明",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Synced": "同期済み",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.Unknown": "不明",
+ "deploymentLifecycle.sidebar.resources.filters.resourcesFilterBy.syncStatusSelectOptions.OutOfSync": "同期なし",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.textPrimary": "分析実行",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.name": "名前:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.createdAt": "作成日時:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.status": "ステータス:",
+ "deploymentLifecycle.sidebar.rollouts.revisions.analysisRuns.analysisRuns.chipLabel": "分析",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.revision": "リビジョン",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.stable": "安定",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.active": "アクティブ",
+ "deploymentLifecycle.sidebar.rollouts.revisions.blueGreenRevision.preview": "プレビュー",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revision": "リビジョン",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.stable": "安定",
+ "deploymentLifecycle.sidebar.rollouts.revisions.canaryRevision.revisionType.canary": "カナリア",
+ "deploymentLifecycle.sidebar.rollouts.revisions.revisionImage.textPrimary": "イメージへのトラフィック",
+ "deploymentLifecycle.sidebar.rollouts.rollOut.title": "リビジョン",
+ "deploymentLifecycle.deploymentLifecycle.title": "デプロイメントライフサイクル",
+ "deploymentLifecycle.deploymentLifecycle.subtitle": "ArgoCD プラグインを使用して、namespace にデプロイされたコンポーネント/システムをレビューします",
+ "deploymentLifecycle.deploymentLifecycleCard.instance": "インスタンス",
+ "deploymentLifecycle.deploymentLifecycleCard.server": "サーバー",
+ "deploymentLifecycle.deploymentLifecycleCard.namespace": "Namespace",
+ "deploymentLifecycle.deploymentLifecycleCard.commit": "コミット",
+ "deploymentLifecycle.deploymentLifecycleCard.tooltipText": "下に表示されているコミット SHA は、最初に定義されたアプリケーションソースの最新のコミットです。",
+ "deploymentLifecycle.deploymentLifecycleCard.resources": "リソース",
+ "deploymentLifecycle.deploymentLifecycleCard.resourcesDeployed": "デプロイ済みリソース",
+ "deploymentLifecycle.deploymentLifecycleDrawer.iconButtonTitle": "ドロワーを閉じる",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instance": "インスタンス",
+ "deploymentLifecycle.deploymentLifecycleDrawer.cluster": "クラスター",
+ "deploymentLifecycle.deploymentLifecycleDrawer.namespace": "Namespace",
+ "deploymentLifecycle.deploymentLifecycleDrawer.commit": "コミット",
+ "deploymentLifecycle.deploymentLifecycleDrawer.revision": "リビジョン",
+ "deploymentLifecycle.deploymentLifecycleDrawer.resources": "リソース",
+ "deploymentLifecycle.deploymentLifecycleDrawer.instanceDefaultValue": "デフォルト",
+ "deploymentSummary.deploymentSummary.tableTitle": "デプロイメントの概要",
+ "deploymentSummary.deploymentSummary.columns.instance": "インスタンス",
+ "deploymentSummary.deploymentSummary.columns.server": "サーバー",
+ "deploymentSummary.deploymentSummary.columns.revision": "リビジョン",
+ "deploymentSummary.deploymentSummary.columns.lastDeployed": "最終デプロイメント",
+ "deploymentSummary.deploymentSummary.columns.syncStatus": "同期ステータス",
+ "deploymentSummary.deploymentSummary.columns.healthStatus": "健全性ステータス"
+ }
+ },
+ "plugin.sonarqube": {
+ "ja": {
+ "title": "SonarQube ダッシュボード",
+ "sonarQubeCard.title": "コード品質",
+ "sonarQubeCard.deepLinkTitle": "詳細の表示",
+ "sonarQubeCard.emptyState.title": "表示する情報がありません",
+ "sonarQubeCard.emptyState.description": "キー '{{ projectTitle }}' を持つ SonarQube プロジェクトがありません。プロジェクトの存在と権限を確認してください。",
+ "sonarQubeCard.noSonarQubeError.hasAnnotation": "キー '{{project}}' を持つ SonarQube プロジェクトがありません",
+ "sonarQubeCard.noSonarQubeError.noAnnotation": "SonarQube アノテーションが見つかりません",
+ "sonarQubeCard.bugReportRatingCardTitle": "バグ",
+ "sonarQubeCard.vulnerabilitiesRatingCardTitle": "脆弱性",
+ "sonarQubeCard.codeSmellsRatingCardTitle": "コードスメル",
+ "sonarQubeCard.hotspotsReviewedTitle": "レビュー済みのホットスポット",
+ "sonarQubeCard.coverageRatingCardTitle": "カバレッジ",
+ "sonarQubeCard.duplicationsRatingCard": "重複",
+ "sonarQubeCard.qualityBadgeLabel.notComputed": "未判定",
+ "sonarQubeCard.qualityBadgeLabel.gatePassed": "ゲート合格",
+ "sonarQubeCard.qualityBadgeLabel.gateFailed": "ゲート不合格",
+ "sonarQubeCard.qualityBadgeTooltip": "SonarQube ダッシュボードを表示します",
+ "sonarQubeTable.columnsTitle.name": "名前",
+ "sonarQubeTable.columnsTitle.qualityGate": "品質ゲート",
+ "sonarQubeTable.columnsTitle.lastAnalysis": "最終分析",
+ "sonarQubeTable.columnsTitle.bugs": "バグ",
+ "sonarQubeTable.columnsTitle.vulnerabilities": "脆弱性",
+ "sonarQubeTable.columnsTitle.codeSmells": "コードスメル",
+ "sonarQubeTable.columnsTitle.hotspotsReviewed": "レビュー済みのホットスポット",
+ "sonarQubeTable.columnsTitle.coverage": "カバレッジ",
+ "sonarQubeTable.columnsTitle.duplications": "重複"
+ }
+ },
+ "plugin.tekton": {
+ "ja": {
+ "errorPanel.title": "Kubernetes オブジェクトの取得中に問題が発生しました",
+ "errorPanel.description": "エンティティー {{entityName}} の一部の Kubernetes リソースの取得中に問題が発生しました。そのため、エラーレポートカードの表示が完全には正確でない可能性があります。",
+ "permissionAlert.title": "権限が必要",
+ "permissionAlert.description": "Tekton パイプライン実行を表示するには、管理者に連絡して次の権限を付与してもらうよう依頼してください: {{permissions}}。",
+ "statusSelector.label": "ステータス",
+ "clusterSelector.label": "クラスター",
+ "tableExpandCollapse.collapseAll": "すべて折りたたむ",
+ "tableExpandCollapse.expandAll": "すべて展開",
+ "pipelineVisualization.emptyState.description": "視覚化するパイプライン実行がありません",
+ "pipelineVisualization.noTasksDescription": "このパイプライン実行には視覚化するタスクがありません",
+ "pipelineVisualization.stepList.finallyTaskTitle": "Finally Task",
+ "pipelineRunList.title": "パイプライン実行",
+ "pipelineRunList.noPipelineRuns": "パイプライン実行が見つかりません",
+ "pipelineRunList.searchBarPlaceholder": "検索",
+ "pipelineRunList.rowActions.viewParamsAndResults": "パラメーターと結果の表示",
+ "pipelineRunList.rowActions.viewLogs": "ログの表示",
+ "pipelineRunList.rowActions.unauthorizedViewLogs": "ログを表示する権限がありません",
+ "pipelineRunList.rowActions.viewSBOM": "SBOM の表示",
+ "pipelineRunList.rowActions.SBOMNotApplicable": "この PipelineRun には SBOM の表示は適用されません",
+ "pipelineRunList.rowActions.viewOutput": "出力の表示",
+ "pipelineRunList.rowActions.outputNotApplicable": "この PipelineRun には出力の表示は適用されません",
+ "pipelineRunList.vulnerabilitySeverityTitle.critical": "重大",
+ "pipelineRunList.vulnerabilitySeverityTitle.high": "高",
+ "pipelineRunList.vulnerabilitySeverityTitle.medium": "中",
+ "pipelineRunList.vulnerabilitySeverityTitle.low": "低",
+ "pipelineRunList.tableHeaderTitle.name": "名前",
+ "pipelineRunList.tableHeaderTitle.vulnerabilities": "脆弱性",
+ "pipelineRunList.tableHeaderTitle.status": "状態",
+ "pipelineRunList.tableHeaderTitle.taskStatus": "タスクステータス",
+ "pipelineRunList.tableHeaderTitle.startTime": "開始済み",
+ "pipelineRunList.tableHeaderTitle.duration": "期間",
+ "pipelineRunList.tableHeaderTitle.actions": "アクション",
+ "pipelineRunList.tablePagination.rowsPerPageOptionLabel": "{{num}} 行",
+ "pipelineRunLogs.title": "PipelineRun ログ",
+ "pipelineRunLogs.noLogs": "ログが見つかりません",
+ "pipelineRunLogs.downloader.downloadTaskLogs": "ダウンロード",
+ "pipelineRunLogs.downloader.downloadPipelineRunLogs": "すべてのタスクログのダウンロード",
+ "pipelineRunLogs.podLogsDownloadLink.title": "ダウンロード",
+ "pipelineRunLogs.podLogsDownloadLink.downloading": "ログのダウンロード中",
+ "pipelineRunLogs.taskStatusStepper.skipped": "スキップ済み",
+ "pipelineRunOutput.title": "PipelineRun 出力",
+ "pipelineRunOutput.noOutput": "出力なし",
+ "pipelineRunStatus.All": "すべて",
+ "pipelineRunStatus.Cancelling": "キャンセル中",
+ "pipelineRunStatus.Succeeded": "成功",
+ "pipelineRunStatus.Failed": "失敗",
+ "pipelineRunStatus.Running": "実行中",
+ "pipelineRunStatus.In Progress": "進行中",
+ "pipelineRunStatus.FailedToStart": "FailedToStart",
+ "pipelineRunStatus.PipelineNotStarted": "PipelineNotStarted",
+ "pipelineRunStatus.Skipped": "スキップ済み",
+ "pipelineRunStatus.Cancelled": "キャンセル済み",
+ "pipelineRunStatus.Pending": "保留中",
+ "pipelineRunStatus.Idle": "アイドル",
+ "pipelineRunStatus.Other": "その他",
+ "pipelineRunDuration.lessThanSec": "1 秒未満",
+ "pipelineRunDuration.hour_one": "{{count}} 時間",
+ "pipelineRunDuration.hour_other": "{{count}} 時間",
+ "pipelineRunDuration.minute_one": "{{count}} 分",
+ "pipelineRunDuration.minute_other": "{{count}} 分",
+ "pipelineRunDuration.second_one": "{{count}} 秒",
+ "pipelineRunDuration.second_other": "{{count}} 秒",
+ "pipelineRunParamsAndResults.title": "PipelineRun のパラメーターと結果",
+ "pipelineRunParamsAndResults.noParams": "パラメーターが見つかりません",
+ "pipelineRunParamsAndResults.noResults": "結果が見つかりません",
+ "pipelineRunParamsAndResults.params": "パラメーター",
+ "pipelineRunParamsAndResults.results": "結果",
+ "pipelineRunParamsAndResults.outputTableColumn.name": "名前",
+ "pipelineRunParamsAndResults.outputTableColumn.value": "値"
+ }
+ },
+ "plugin.topology": {
+ "ja": {
+ "page.title": "トポロジー",
+ "page.subtitle": "Kubernetes ワークロードトポロジーの視覚化",
+ "toolbar.cluster": "クラスター",
+ "toolbar.selectCluster": "クラスターの選択",
+ "toolbar.displayOptions": "表示オプション",
+ "toolbar.currentDisplayOptions": "現在の表示オプション",
+ "emptyState.noResourcesFound": "リソースが見つかりません",
+ "emptyState.noResourcesDescription": "選択したクラスター内に Kubernetes リソースが見つかりませんでした。",
+ "permissions.missingPermission": "権限の不足",
+ "permissions.missingPermissionDescription": "トポロジーを表示するには、管理者から {{permissions}} {{permissionText}} を付与してもらう必要があります。",
+ "permissions.missingPermissionDescription_plural": "トポロジーを表示するには、管理者から {{permissions}} {{permissionText}} を付与してもらう必要があります。",
+ "permissions.permission": "権限",
+ "permissions.permissions": "権限",
+ "permissions.goBack": "戻る",
+ "sideBar.details": "詳細",
+ "sideBar.resources": "リソース",
+ "status.running": "実行中",
+ "status.pending": "保留中",
+ "status.succeeded": "成功",
+ "status.failed": "失敗",
+ "status.unknown": "不明",
+ "status.terminating": "終了中",
+ "status.crashLoopBackOff": "CrashLoopBackOff",
+ "status.error": "エラー",
+ "status.warning": "警告",
+ "status.ready": "準備完了",
+ "status.notReady": "準備未完了",
+ "status.active": "アクティブ",
+ "status.inactive": "非アクティブ",
+ "status.updating": "更新中",
+ "status.evicted": "退避済み",
+ "status.cancelled": "キャンセル済み",
+ "details.name": "名前",
+ "details.namespace": "Namespace",
+ "details.labels": "ラベル",
+ "details.annotations": "アノテーション",
+ "details.createdAt": "作成済み",
+ "details.age": "経過時間",
+ "details.replicas": "レプリカ",
+ "details.availableReplicas": "利用可能なレプリカ",
+ "details.readyReplicas": "準備完了のレプリカ",
+ "details.updatedReplicas": "更新済みのレプリカ",
+ "details.selector": "セレクター",
+ "details.strategy": "ストラテジー",
+ "details.image": "イメージ",
+ "details.ports": "ポート",
+ "details.volumes": "ボリューム",
+ "details.volumeMounts": "ボリュームマウント",
+ "details.environmentVariables": "環境変数",
+ "details.resourceRequirements": "リソース要件",
+ "details.limits": "制限",
+ "details.requests": "要求",
+ "details.cpu": "CPU",
+ "details.memory": "メモリー",
+ "details.storage": "ストレージ",
+ "details.noLabels": "ラベルがありません",
+ "details.noAnnotations": "アノテーションなし",
+ "details.noOwner": "オーナーがありません",
+ "details.notAvailable": "利用不可",
+ "details.notConfigured": "未設定",
+ "details.updateStrategy": "更新ストラテジー",
+ "details.maxUnavailable": "最大利用可能数",
+ "details.maxSurge": "Pod 増分の最大値",
+ "details.progressDeadlineSeconds": "進行の期限 (秒)",
+ "details.minReadySeconds": "最小の準備状態 (秒)",
+ "details.desiredCompletions": "必要なレベルの完了",
+ "details.parallelism": "並列処理",
+ "details.activeDeadlineSeconds": "有効な期限 (秒)",
+ "details.currentCount": "現在のカウント",
+ "details.desiredCount": "必要なカウント",
+ "details.schedule": "スケジュール",
+ "details.concurrencyPolicy": "同時実行ポリシー",
+ "details.startingDeadlineSeconds": "起動の期限 (秒)",
+ "details.lastScheduleTime": "最終スケジュール日時",
+ "details.maxSurgeDescription": "{{replicas}} 個の Pod よりも {{maxSurge}} 個多い",
+ "details.maxUnavailableDescription": "{{replicas}} 個の Pod のうち {{maxUnavailable}} 個",
+ "logs.download": "ダウンロード",
+ "logs.noLogsFound": "ログが見つかりません",
+ "logs.selectContainer": "コンテナーの選択",
+ "logs.container": "コンテナー",
+ "logs.pod": "Pod",
+ "logs.showPrevious": "前を表示",
+ "logs.follow": "フォロー",
+ "logs.refresh": "更新",
+ "logs.timestamps": "タイムスタンプ",
+ "logs.wrapLines": "行の折り返し",
+ "logs.clearLogs": "ログのクリア",
+ "logs.logLevel": "ログレベル",
+ "logs.search": "検索",
+ "logs.noMatchingLogs": "一致するログが見つかりません",
+ "resources.noResourcesFound": "このリソースの {{resourceType}} が見つかりません。",
+ "resources.showingLatest": "最新 {{count}} 件の {{resourceType}} を表示中",
+ "time.seconds": "秒",
+ "time.minutes": "分",
+ "time.hours": "時間",
+ "time.days": "日",
+ "events.type": "タイプ",
+ "events.reason": "理由",
+ "events.message": "メッセージ",
+ "events.source": "ソース",
+ "events.firstSeen": "初回の発生",
+ "events.lastSeen": "直近の発生",
+ "events.count": "回数",
+ "events.noEventsFound": "イベントが見つかりません",
+ "filters.showLabels": "ラベルの表示",
+ "filters.showPodCount": "Pod 数の表示",
+ "filters.expandApplicationGroups": "アプリケーショングループの展開",
+ "filters.showConnectors": "コネクターの表示",
+ "common.status": "ステータス",
+ "common.owner": "所有者",
+ "common.location": "場所",
+ "common.viewLogs": "ログの表示",
+ "bootOrder.summary": "起動順序の概要",
+ "bootOrder.emptySummary": "起動順序が設定されていません",
+ "bootOrder.disk": "ディスク",
+ "bootOrder.network": "ネットワーク",
+ "bootOrder.cdrom": "CD-ROM",
+ "vm.status.starting": "起動中",
+ "vm.status.stopping": "停止中",
+ "vm.status.stopped": "停止",
+ "vm.status.paused": "一時停止",
+ "vm.status.migrating": "移行中",
+ "vm.status.provisioning": "プロビジョニング中",
+ "vm.status.errorUnschedulable": "ErrorUnschedulable",
+ "vm.status.errorImagePull": "ErrorImagePull",
+ "vm.status.imageNotReady": "ImageNotReady",
+ "vm.status.waitingForVolumeBinding": "WaitingForVolumeBinding"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/rhdh-plugins-reference-2025-12-05-fr-C.json b/translations/rhdh-plugins-reference-2025-12-05-fr-C.json
new file mode 100644
index 0000000000..b180dfde9b
--- /dev/null
+++ b/translations/rhdh-plugins-reference-2025-12-05-fr-C.json
@@ -0,0 +1,1013 @@
+{
+ "plugin.adoption-insights": {
+ "fr": {
+ "page.title": "Adoption Insights",
+ "header.title": "Adoption Insights",
+ "header.dateRange.today": "Aujourd'hui",
+ "header.dateRange.lastWeek": "La semaine dernière",
+ "header.dateRange.lastMonth": "Mois dernier",
+ "header.dateRange.last28Days": "Les 28 derniers jours",
+ "header.dateRange.lastYear": "L'année dernière",
+ "header.dateRange.dateRange": "Plage de dates...",
+ "header.dateRange.cancel": "Annuler",
+ "header.dateRange.ok": "OK",
+ "header.dateRange.defaultLabel": "Les 28 derniers jours",
+ "header.dateRange.title": "Intervalle de temps",
+ "header.dateRange.startDate": "Date de départ",
+ "header.dateRange.endDate": "Date de fin",
+ "activeUsers.title": "Utilisateurs actifs",
+ "activeUsers.averagePrefix": "Le nombre moyen maximal d'utilisateurs actifs était de",
+ "activeUsers.averageText": "{{count}} par {{period}}",
+ "activeUsers.averageSuffix": " pour cette période.",
+ "activeUsers.hour": "heure",
+ "activeUsers.day": "jour",
+ "activeUsers.week": "semaine",
+ "activeUsers.month": "mois",
+ "activeUsers.legend.newUsers": "Nouveaux utilisateurs",
+ "activeUsers.legend.returningUsers": "Utilisateurs récurrents",
+ "templates.title": "Meilleurs modèles",
+ "templates.topNTitle": "Meilleurs {{count}} modèles",
+ "templates.allTitle": "Tous les modèles",
+ "catalogEntities.title": "Principales entités du catalogue",
+ "catalogEntities.topNTitle": "Top {{count}} entités du catalogue",
+ "catalogEntities.allTitle": "Toutes les entités du catalogue",
+ "plugins.title": "Meilleurs plugins",
+ "plugins.topNTitle": "Meilleurs {{count}} plugins",
+ "plugins.allTitle": "Tous les plugins",
+ "techDocs.title": "Top TechDocs",
+ "techDocs.topNTitle": "Meilleurs {{count}} TechDocs",
+ "techDocs.allTitle": "Tous les TechDocs",
+ "searches.title": "Recherches les plus fréquentes",
+ "searches.totalCount": "{{count}} recherches",
+ "searches.averagePrefix": "Le nombre moyen de recherches était de",
+ "searches.averageText": "{{count}} par {{period}}",
+ "searches.averageSuffix": " pour cette période.",
+ "searches.hour": "heure",
+ "searches.day": "jour",
+ "searches.week": "semaine",
+ "searches.month": "mois",
+ "users.title": "Nombre total d'utilisateurs",
+ "users.haveLoggedIn": "se sont connectés",
+ "users.loggedInUsers": "Utilisateurs connectés",
+ "users.licensed": "Autorisé",
+ "users.licensedNotLoggedIn": "Sous licence (non connecté)",
+ "users.ofTotal": "de {{total}}",
+ "users.tooltip": "Définissez le nombre d'utilisateurs sous licence dans le fichier app-config.yaml",
+ "table.headers.name": "Nom",
+ "table.headers.kind": "Type",
+ "table.headers.lastUsed": "Dernière utilisation",
+ "table.headers.views": "Vues",
+ "table.headers.executions": "Exécutions",
+ "table.headers.trend": "S'orienter",
+ "table.headers.entity": "Entité",
+ "table.pagination.topN": "Top {{count}}",
+ "filter.all": "Tous",
+ "filter.selectKind": "Sélectionnez le type",
+ "common.noResults": "Aucun résultat pour cette plage de dates.",
+ "common.readMore": "En savoir plus",
+ "common.exportCSV": "Exporter au format CSV",
+ "common.downloading": "Téléchargement...",
+ "common.today": "Aujourd'hui",
+ "common.yesterday": "Hier",
+ "common.numberOfSearches": "Nombre de recherches",
+ "common.filteredBy": "filtré par",
+ "common.invalidDateFormat": "Format de date invalide",
+ "common.csvFilename": "utilisateurs_actifs",
+ "permission.title": "Autorisations manquantes",
+ "permission.description": "Pour afficher le plugin « Adoption Insights », contactez votre administrateur pour accorder les autorisations adoption-insights.events.read."
+ }
+ },
+ "plugin.ai-experience": {
+ "fr": {
+ "page.title": "Expérience de l'IA",
+ "page.subtitle": "Explorer les modèles d'IA, les serveurs, les actualités et les ressources d'apprentissage",
+ "learn.getStarted.title": "Commencer",
+ "learn.getStarted.description": "En savoir plus sur Red Hat Developer Hub.",
+ "learn.getStarted.cta": "Accéder à la documentation technique",
+ "learn.explore.title": "Explorer",
+ "learn.explore.description": "Explorer les modèles, serveurs et modèles d’IA.",
+ "learn.explore.cta": "Accéder au catalogue",
+ "learn.learn.title": "Apprendre",
+ "learn.learn.description": "Explorer et développer de nouvelles compétences en IA.",
+ "learn.learn.cta": "Accéder aux parcours d'apprentissage",
+ "news.pageTitle": "Actualités de l'IA",
+ "news.fetchingRssFeed": "Récupération du flux RSS",
+ "news.noContentAvailable": "Aucun contenu disponible",
+ "news.noContentDescription": "Il semblerait que nous n'ayons pas pu obtenir de contenu à partir de ce flux RSS. Vous pouvez vérifier l'URL ou passer à une autre source en mettant à jour le fichier de configuration du plugin.",
+ "news.noRssContent": "Aucun contenu RSS",
+ "modal.title.preview": "Aperçu de la pièce jointe",
+ "modal.title.edit": "Modifier la pièce jointe",
+ "modal.edit": "Modifier",
+ "modal.save": "Sauvegarder",
+ "modal.close": "Fermer",
+ "modal.cancel": "Annuler",
+ "common.viewMore": "Voir davantage",
+ "common.guest": "Invité",
+ "common.template": "Modèle",
+ "common.latest": "dernier",
+ "common.more": "davantage",
+ "greeting.goodMorning": "Bonjour",
+ "greeting.goodAfternoon": "Bon après-midi",
+ "greeting.goodEvening": "Bonne soirée",
+ "sections.exploreAiModels": "Explorer les modèles d'IA",
+ "sections.exploreAiTemplates": "Explorer les modèles d'IA",
+ "sections.discoverModels": "Découvrez les modèles et services d'IA disponibles dans votre organisation",
+ "sections.viewAllModels": "Voir tous les {{count}} modèles",
+ "sections.viewAllTemplates": "Afficher tous les {{count}} modèles",
+ "accessibility.close": "fermer",
+ "accessibility.aiIllustration": "Illustration de l'IA",
+ "accessibility.aiModelsIllustration": "Illustration des modèles d'IA"
+ }
+ },
+ "plugin.bulk-import": {
+ "fr": {
+ "page.title": "Importation en masse",
+ "page.subtitle": "Importer des entités vers Red Hat Developer Hub",
+ "page.addRepositoriesTitle": "Ajouter des référentiels",
+ "page.importEntitiesTitle": "Importer des entités",
+ "page.addRepositoriesSubtitle": "Ajoutez des référentiels à Red Hat Developer Hub en 4 étapes",
+ "page.importEntitiesSubtitle": "Importer vers Red Hat Developer Hub",
+ "page.typeLink": "Importation en masse",
+ "sidebar.bulkImport": "Importation en masse",
+ "permissions.title": "Autorisation requise",
+ "permissions.addRepositoriesMessage": "Pour ajouter des référentiels, contactez votre administrateur pour qu'il vous donne l'autorisation « bulk.import ».",
+ "permissions.viewRepositoriesMessage": "Pour afficher les référentiels ajoutés, contactez votre administrateur pour qu'il vous donne l'autorisation « bulk.import ».",
+ "repositories.addedRepositories": "Dépôts ajoutés",
+ "repositories.importedEntities": "Entités importées",
+ "repositories.addedRepositoriesCount": "Dépôts ajoutés ({{count}})",
+ "repositories.importedEntitiesCount": "Entités importées ({{count}})",
+ "repositories.noRecordsFound": "Aucun enregistrement trouvé",
+ "repositories.refresh": "Rafraîchir",
+ "repositories.import": "Importer",
+ "repositories.removing": "Suppression...",
+ "repositories.deleteRepository": "Supprimer le référentiel",
+ "repositories.removeRepositoryQuestion": "Supprimer {{repoName}} {{repositoryText}} ?",
+ "repositories.repositoryText": "Dépôt",
+ "repositories.removeRepositoryWarningScaffolder": "La suppression d’un référentiel efface toutes les informations de tâches de scaffolding.",
+ "repositories.removeRepositoryWarning": "La suppression d’un référentiel efface toutes les informations associées de la page Catalogue.",
+ "repositories.removeRepositoryWarningGitlab": "Sa suppression effacera toutes les informations associées de la page Catalogue.",
+ "repositories.cannotRemoveRepositoryUrl": "Impossible de supprimer le référentiel car l'URL du référentiel est manquante.",
+ "repositories.unableToRemoveRepository": "Impossible de supprimer le dépôt. {{error}}",
+ "repositories.removeTooltipDisabled": "Ce référentiel a été ajouté au fichier app-config. Pour le supprimer, modifiez directement le fichier",
+ "repositories.removeTooltipRepositoryScaffolder": "Supprimer le référentiel et toutes les tâches de scaffolding associées",
+ "repositories.errorOccuredWhileFetching": "Une erreur s'est produite lors de la récupération de la demande d'extraction",
+ "repositories.failedToCreatePullRequest": "Échec de la création de la demande d'extraction",
+ "repositories.errorOccured": "Une erreur s'est produite",
+ "repositories.editCatalogInfoTooltip": "Modifier la demande d'extraction catalog-info.yaml",
+ "repositories.viewCatalogInfoTooltip": "Afficher le fichier catalog-info.yaml",
+ "repositories.pr": "PR",
+ "status.alreadyImported": "Déjà importé",
+ "status.added": "Ajouté",
+ "status.waitingForApproval": "En attente d'approbation",
+ "status.imported": "Importé",
+ "errors.prErrorPermissions": "Impossible de créer un nouveau PR en raison d'autorisations insuffisantes. Contactez votre administrateur.",
+ "errors.catalogInfoExists": "Étant donné que catalog-info.yaml existe déjà dans le référentiel, aucun nouveau PR ne sera créé. Cependant, l'entité sera toujours enregistrée dans la page du catalogue.",
+ "errors.catalogEntityConflict": "Impossible de créer un nouveau PR en raison d'un conflit d'entité de catalogue.",
+ "errors.repoEmpty": "Impossible de créer un nouveau PR car le référentiel est vide. Envoyez un commit initial au référentiel.",
+ "errors.codeOwnersNotFound": "Le fichier CODEOWNERS est manquant dans le référentiel. Ajoutez un fichier CODEOWNERS pour créer un nouveau PR.",
+ "errors.errorOccurred": "Une erreur s'est produite",
+ "errors.failedToCreatePullRequest": "Échec de la création de la demande d'extraction",
+ "validation.componentNameInvalid": "\"{{value}}\" n'est pas valide ; une chaîne contenant des séquences de [a-zA-Z0-9] séparées par l'un des [-_.] est attendue, soit au maximum 63 caractères au total. Pour en savoir plus sur le format de fichier de catalogue, visitez : https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md",
+ "validation.componentNameRequired": "Le nom du composant est requis",
+ "validation.entityOwnerRequired": "Le propriétaire de l'entité est requis",
+ "validation.titleRequired": "Le titre {{approvalTool}} est obligatoire",
+ "validation.descriptionRequired": "La description de {{approvalTool}} est requise",
+ "validation.keyValuePairFormat": "Chaque entrée doit avoir une clé et une valeur séparées par deux points.",
+ "table.headers.name": "Nom",
+ "table.headers.url": "URL",
+ "table.headers.repoUrl": "URL du dépôt",
+ "table.headers.organization": "Organisation",
+ "table.headers.organizationGroup": "Organisation/groupe",
+ "table.headers.group": "Groupe",
+ "table.headers.status": "Statut",
+ "table.headers.lastUpdated": "Dernière mise à jour",
+ "table.headers.actions": "Actes",
+ "table.headers.catalogInfoYaml": "catalogue-info.yaml",
+ "table.pagination.rows5": "5 lignes",
+ "table.pagination.rows10": "10 lignes",
+ "table.pagination.rows20": "20 lignes",
+ "table.pagination.rows50": "50 lignes",
+ "table.pagination.rows100": "100 lignes",
+ "steps.chooseApprovalTool": "Choisissez l'outil d'approbation (GitHub/GitLab) pour la création de PR",
+ "steps.chooseRepositories": "Choisissez les référentiels que vous souhaitez ajouter",
+ "steps.chooseItems": "Choisissez les éléments que vous souhaitez importer",
+ "steps.generateCatalogInfo": "Générer un fichier catalog-info.yaml pour chaque référentiel",
+ "steps.generateCatalogInfoItems": "Générer un fichier catalog-info.yaml pour chaque élément sélectionné",
+ "steps.editPullRequest": "Modifier les détails de la demande d'extraction si nécessaire",
+ "steps.trackStatus": "Suivre l'état d'approbation",
+ "addRepositories.approvalTool.title": "Outil d'approbation",
+ "addRepositories.approvalTool.description": "Choisir l'outil d'approbation pour la création de RP",
+ "addRepositories.approvalTool.tooltip": "L'importation nécessite une approbation. Une fois la demande d'extraction/fusion approuvée, les référentiels/projets seront importés sur la page Catalogue.",
+ "addRepositories.approvalTool.github": "GitHub",
+ "addRepositories.approvalTool.gitlab": "GitLab",
+ "addRepositories.repositoryType.title": "Type de référentiel",
+ "addRepositories.repositoryType.repository": "Dépôt",
+ "addRepositories.repositoryType.organization": "Organisation",
+ "addRepositories.repositoryType.project": "Projet",
+ "addRepositories.repositoryType.group": "Groupe",
+ "addRepositories.searchPlaceholder": "Recherche",
+ "addRepositories.clearSearch": "supprimer la recherche",
+ "addRepositories.noRepositoriesFound": "Aucun dépôt trouvé",
+ "addRepositories.allRepositoriesAdded": "Tous les référentiels sont ajoutés",
+ "addRepositories.noSelection": "Aucun",
+ "addRepositories.selectRepositories": "Sélectionner les référentiels",
+ "addRepositories.selectedRepositories": "dépôts",
+ "addRepositories.selectedProjects": "projets",
+ "addRepositories.selectedLabel": "Choisi",
+ "addRepositories.selectedCount": "{{count}} sélectionné",
+ "addRepositories.addSelected": "Ajouter la sélection",
+ "addRepositories.generateCatalogInfo": "Générer catalog-info.yaml",
+ "addRepositories.editPullRequest": "Modifier la demande d'extraction",
+ "addRepositories.preview": "Aperçu",
+ "catalogInfo.status.generating": "Générateur",
+ "catalogInfo.status.notGenerated": "Non généré",
+ "common.add": "Ajouter",
+ "common.cancel": "Annuler",
+ "common.close": "Fermer",
+ "common.delete": "Supprimer",
+ "common.edit": "Modifier",
+ "common.filter": "Filtre",
+ "common.import": "Importer",
+ "common.remove": "Supprimer",
+ "common.save": "Sauvegarder",
+ "common.select": "Sélectionner",
+ "common.update": "Mise à jour",
+ "common.view": "Voir",
+ "time.daysAgo": "Il y a {{count}} jour(s)",
+ "time.hoursAgo": "Il y a {{count}} heure(s)",
+ "time.minutesAgo": "Il y a {{count}} minute(s)",
+ "time.secondsAgo": "Il y a {{count}} seconde(s)",
+ "previewFile.readyToImport": "Prêt à importer",
+ "previewFile.previewFile": "Fichier d'aperçu",
+ "previewFile.previewFiles": "Aperçu des fichiers",
+ "previewFile.failedToCreatePR": "Échec de la création du PR",
+ "previewFile.prCreationUnsuccessful": "La création de PR a échoué pour certains référentiels. Cliquer sur « Modifier » pour voir la raison.",
+ "previewFile.failedToFetchPR": "Échec de la récupération de la demande d'extraction. Un nouveau YAML a été généré ci-dessous.",
+ "previewFile.invalidEntityYaml": "L'entité YAML dans votre demande d'extraction n'est pas valide (fichier vide ou apiVersion, kind ou metadata.name manquant). Un nouveau YAML a été généré ci-dessous.",
+ "previewFile.pullRequestPendingApproval": "Le [{{pullRequestText}}]({{pullRequestUrl}}) est en attente d'approbation",
+ "previewFile.pullRequestText": "demande d'extraction",
+ "previewFile.viewRepository": "Afficher le référentiel",
+ "previewFile.closeDrawer": "Fermez le tiroir",
+ "previewFile.keyValuePlaceholder": "clé1 : valeur2 ; clé2 : valeur2",
+ "previewFile.useSemicolonSeparator": "Utilisez un point-virgule pour séparer {{label}}",
+ "previewFile.preview": "Aperçu",
+ "previewFile.pullRequest.title": "Demande d'extraction",
+ "previewFile.pullRequest.mergeRequest": "Demande de fusion",
+ "previewFile.pullRequest.serviceNowTicket": "Ticket ServiceNow",
+ "previewFile.pullRequest.details": "{{tool}} détails",
+ "previewFile.pullRequest.titleLabel": "titre de {{outil}}",
+ "previewFile.pullRequest.bodyLabel": "corps de {{outil}}",
+ "previewFile.pullRequest.titlePlaceholder": "Ajouter des fichiers descripteurs d'entités de catalogue Backstage",
+ "previewFile.pullRequest.bodyPlaceholder": "Un texte descriptif avec prise en charge Markdown",
+ "previewFile.pullRequest.entityConfiguration": "Configuration de l'entité",
+ "previewFile.pullRequest.componentNameLabel": "Nom du composant créé",
+ "previewFile.pullRequest.componentNamePlaceholder": "Nom du composant",
+ "previewFile.pullRequest.entityOwnerLabel": "Propriétaire de l'entité",
+ "previewFile.pullRequest.entityOwnerPlaceholder": "groupes et utilisateurs",
+ "previewFile.pullRequest.entityOwnerHelper": "Sélectionnez un propriétaire dans la liste ou entrez une référence à un groupe ou à un utilisateur",
+ "previewFile.pullRequest.loadingText": "Chargement des groupes et des utilisateurs",
+ "previewFile.pullRequest.previewEntities": "Aperçu des entités",
+ "previewFile.pullRequest.annotations": "Annotations",
+ "previewFile.pullRequest.labels": "Étiquettes",
+ "previewFile.pullRequest.spec": "Spécifications",
+ "previewFile.pullRequest.useCodeOwnersFile": "Utiliser le fichier *CODEOWNERS* comme propriétaire de l'entité",
+ "previewFile.pullRequest.codeOwnersWarning": "AVERTISSEMENT : cette opération peut échouer si aucun fichier CODEOWNERS n'est trouvé à l'emplacement cible.",
+ "forms.footer.createServiceNowTicket": "Créer un ticket ServiceNow",
+ "forms.footer.createServiceNowTickets": "Créer des tickets ServiceNow",
+ "forms.footer.createPullRequest": "Créer une demande d'extraction",
+ "forms.footer.createPullRequests": "Créer des demandes d'extraction",
+ "forms.footer.serviceNowTooltip": "Les fichiers Catalog-info.yaml doivent être générés avant de créer un ticket ServiceNow",
+ "forms.footer.importTooltip": "Les fichiers Catalog-info.yaml doivent être générés pour l'importation.",
+ "forms.footer.pullRequestTooltip": "Les fichiers Catalog-info.yaml doivent être générés avant de créer une demande d'extraction",
+ "tasks.tasksFor": "Tâches pour {{importJobStatusId}}",
+ "tasks.taskId": "ID de tâche",
+ "tasks.taskLink": "Lien pour les tâches",
+ "tasks.viewTask": "Afficher les tâches",
+ "tasks.loading": "Chargement en cours...",
+ "tasks.errorFetchingData": "Erreur lors de la récupération des données",
+ "tasks.taskCancelled": "Tâche annulée",
+ "tasks.taskCompleted": "Tâche complétée",
+ "tasks.taskFailed": "Tâche ayant échoué",
+ "tasks.taskOpen": "Tâche en cours",
+ "tasks.taskProcessing": "Traitement de la tâche en cours",
+ "tasks.taskSkipped": "Tâche ignorée"
+ }
+ },
+ "plugin.global-floating-action-button": {
+ "fr": {
+ "fab.create.label": "Créer",
+ "fab.create.tooltip": "Créer l'entité",
+ "fab.docs.label": "Docs",
+ "fab.docs.tooltip": "Documentation",
+ "fab.apis.label": "APIs",
+ "fab.apis.tooltip": "Documentation API",
+ "fab.github.label": "GitHub",
+ "fab.github.tooltip": "Référentiel GitHub",
+ "fab.bulkImport.label": "Importation en masse",
+ "fab.bulkImport.tooltip": "Enregistrer plusieurs référentiel en masse",
+ "fab.quay.label": "Quay",
+ "fab.quay.tooltip": "Quay Container Registry",
+ "fab.menu.tooltip": "Menu"
+ }
+ },
+ "plugin.global-header": {
+ "fr": {
+ "help.tooltip": "Aide",
+ "help.noSupportLinks": "Aucun lien de support",
+ "help.noSupportLinksSubtitle": "Votre administrateur doit configurer des liens d’assistance.",
+ "help.quickStart": "Démarrage rapide",
+ "help.supportTitle": "Assistance",
+ "profile.picture": "Photo de profil",
+ "profile.settings": "Paramètres",
+ "profile.myProfile": "Mon profil",
+ "profile.signOut": "Déconnection",
+ "search.placeholder": "Recherche...",
+ "search.noResults": "Aucun résultat trouvé",
+ "search.errorFetching": "Erreur lors de la récupération des résultats",
+ "applicationLauncher.tooltip": "Lanceur d'applications",
+ "applicationLauncher.noLinksTitle": "Aucun lien d'application configuré",
+ "applicationLauncher.noLinksSubtitle": "Configurez les liens d'application dans la configuration du plugin dynamique pour un accès rapide à partir d'ici.",
+ "applicationLauncher.developerHub": "Centre des développeurs",
+ "applicationLauncher.rhdhLocal": "RHDH Local",
+ "applicationLauncher.sections.documentation": "Documentation",
+ "applicationLauncher.sections.developerTools": "Outils de développement",
+ "starred.title": "Vos articles favoris",
+ "starred.removeTooltip": "Supprimer de la liste",
+ "starred.noItemsTitle": "Aucun élément étoilé pour le moment",
+ "starred.noItemsSubtitle": "Cliquez sur l'icône étoile à côté du nom d'une entité pour l'enregistrer ici pour un accès rapide.",
+ "notifications.title": "Notifications",
+ "notifications.unsupportedDismissOption": "Option de rejet non prise en charge « {{option}} », actuellement prise en charge « none », « session » ou « localstorage » !",
+ "create.title": "Self-service",
+ "create.registerComponent.title": "Enregistrer un composant",
+ "create.registerComponent.subtitle": "Importez-le sur la page du catalogue",
+ "create.templates.sectionTitle": "Utiliser un modèle",
+ "create.templates.allTemplates": "Tous les modèles",
+ "create.templates.errorFetching": "Erreur lors de la récupération des modèles",
+ "create.templates.noTemplatesAvailable": "Aucun modèle disponible"
+ }
+ },
+ "plugin.dynamic-home-page": {
+ "fr": {
+ "header.welcome": "Content de vous revoir!",
+ "header.welcomePersonalized": "Bienvenue {{name}} !",
+ "header.local": "Locale",
+ "homePage.empty": "Aucune carte de page d'accueil (points de montage) configurée ou trouvée.",
+ "search.placeholder": "Recherche",
+ "quickAccess.title": "Accès rapide",
+ "quickAccess.fetchError": "Impossible de récupérer les données.",
+ "quickAccess.error": "Erreur inconnue",
+ "featuredDocs.learnMore": " En savoir plus",
+ "templates.title": "Explorer les modèles",
+ "templates.fetchError": "Impossible de récupérer les données.",
+ "templates.error": "Erreur inconnue",
+ "templates.empty": "Aucun modèle ajouté pour le moment",
+ "templates.emptyDescription": "Une fois les modèles ajoutés, cet espace présentera du contenu pertinent adapté à votre expérience.",
+ "templates.register": "Enregistrer un modèle",
+ "templates.viewAll": "Afficher tous les {{count}} modèles",
+ "onboarding.greeting.goodMorning": "Bonjour",
+ "onboarding.greeting.goodAfternoon": "Bon après-midi",
+ "onboarding.greeting.goodEvening": "Bonne soirée",
+ "onboarding.guest": "Invité",
+ "onboarding.getStarted.title": "Commencer",
+ "onboarding.getStarted.description": "En savoir plus sur Red Hat Developer Hub.",
+ "onboarding.getStarted.buttonText": "Lire la documentation",
+ "onboarding.getStarted.ariaLabel": "Lire la documentation (s'ouvre dans un nouvel onglet)",
+ "onboarding.explore.title": "Explorer",
+ "onboarding.explore.description": "Explorer les composants, les API et les modèles.",
+ "onboarding.explore.buttonText": "Accéder au catalogue",
+ "onboarding.explore.ariaLabel": "Accéder au catalogue",
+ "onboarding.learn.title": "Apprendre",
+ "onboarding.learn.description": "Explorer et développer de nouvelles compétences.",
+ "onboarding.learn.buttonText": "Accéder aux parcours d'apprentissage",
+ "onboarding.learn.ariaLabel": "Accéder aux parcours d'apprentissage",
+ "entities.title": "Explorer votre catalogue de logiciels",
+ "entities.fetchError": "Impossible de récupérer les données.",
+ "entities.error": "Erreur inconnue",
+ "entities.description": "Parcourir les systèmes, les composants, les ressources et les API disponibles dans votre organisation.",
+ "entities.close": "fermer",
+ "entities.empty": "Aucun catalogue de logiciels n'a encore été ajouté",
+ "entities.emptyDescription": "Une fois les catalogues de logiciels ajoutés, cet espace présentera du contenu pertinent adapté à votre expérience.",
+ "entities.register": "Enregistrer un composant",
+ "entities.viewAll": "Afficher toutes les {{count}} entités du catalogue"
+ }
+ },
+ "plugin.lightspeed": {
+ "fr": {
+ "page.title": "Lightspeed",
+ "page.subtitle": "Assistant de développement AI-POWERED",
+ "prompts.codeReadability.title": "Obtenir de l’aide pour Décrypter le Code",
+ "prompts.codeReadability.message": "Pourriez-vous me suggérer des techniques qui puissent rendre mon code plus lisible et facile d’entretien?",
+ "prompts.debugging.title": "Aide Débogage",
+ "prompts.debugging.message": "Mon application me renvoie une erreur lorsque j’essaie de me connecter à la base de données. Pouvez-vous m’aider à identifier le problème?",
+ "prompts.developmentConcept.title": "Expliquer un Concept de développement",
+ "prompts.developmentConcept.message": "Pourriez-vous m’expliquer comment l’architecture des microservices fonctionne et quels sont ses avantages par rapport à un design monolithic ?",
+ "prompts.codeOptimization.title": "Suggestions d’Optmisation de Code",
+ "prompts.codeOptimization.message": "Pourriez-vous me suggérer les façons d’optimiser le code pour le rendre plus performant ?",
+ "prompts.documentation.title": "Récapitulatif de la documentation",
+ "prompts.documentation.message": "Pourriez-vous résumer la documentation d’implémentation de l’authentification 2.0 dans un app web ?",
+ "prompts.gitWorkflows.title": "Flux de travail dans Git",
+ "prompts.gitWorkflows.message": "Je souhaite changer le code sur une autre branche sans perdre mon travail existant. Quelle est la procédure pour ce faire sans utiliser Git ?",
+ "prompts.testingStrategies.title": "Suggestions de Stratégies pour Tester",
+ "prompts.testingStrategies.message": "Pourriez-vous me conseiller des stratégies communes pour tester qui puissent rendre mon application robuste et sans erreurs?",
+ "prompts.sortingAlgorithms.title": "Démystification les Algorithmes de triage",
+ "prompts.sortingAlgorithms.message": "Pourriez-vous m’expliquer quelle est la différence entre un triage rapide (quicksort) et un triage de regroupement (mergesort), et quand utiliser quoi?",
+ "prompts.eventDriven.title": "Comprendre l’Architecture basée-événement",
+ "prompts.eventDriven.message": "Pourriez-vous m’expliquer l’architecture basée-événement et quand il faut l’utiliser pour le développement des logiciels?",
+ "prompts.tekton.title": "Déployer avec Tekton",
+ "prompts.tekton.message": "Pourriez-vous m’aider à automatiser le déploiement de mon application en utilisant les pipelines Tekton ?",
+ "prompts.openshift.title": "Créer un Déploiement Openshift",
+ "prompts.openshift.message": "Pourriez-vous me guider sur la façon de créer un nouveau développement Openshift pour une application conteneurisée ?",
+ "prompts.rhdh.title": "Guide de Démarrage de Red Hat Developer Hub",
+ "prompts.rhdh.message": "Pourriez-vous me guider pour les premières étapes de démarrage avec Developer Hub en tant que développeur, comme explorer le Software Catalog et ajouter mon service ?",
+ "conversation.delete.confirm.title": "Supprimer cette conversation ?",
+ "conversation.delete.confirm.message": "Vous ne verrez plus cette conversation ici. Cela supprimera également les activités associées comme les prompts, réponses, et commentaires de votre activité Lightspeed.",
+ "conversation.delete.confirm.action": "Supprimer",
+ "conversation.rename.confirm.title": "Renommer la conversation ?",
+ "conversation.rename.confirm.action": "Renommer",
+ "conversation.rename.placeholder": "Nom de la conversation",
+ "conversation.action.error": "Erreur: {{error}}",
+ "permission.required.title": "Autorisations manquantes",
+ "permission.required.description": "Pour afficher le plugin lightspeed, veuillez contacter votre administrateur pour qu’il vous donne les permissionslightspeed.chat.read et lightspeed.chat.create .",
+ "disclaimer.withValidation": "Cette fonctionnalité utilise la technologie AI. Ne pas inclure d’informations personnelles ou toute autre information sensible dans vos entrées de données. Des interactions pourront être utilisées pour améliorer les produits ou services de Red Hat.",
+ "disclaimer.withoutValidation": "Cette fonctionnalité utilise la technologie AI. Ne pas inclure d’informations personnelles ou toute autre information sensible dans vos entrées de données. Des interactions pourront être utilisées pour améliorer les produits ou services de Red Hat.",
+ "footer.accuracy.label": "Toujours vérifier le contenu AI généré avant utilisation.",
+ "footer.accuracy.popover.title": "Vérifier l’exactitude",
+ "footer.accuracy.popover.description": "Bien que Developer Lightspeed soit orienté sur l’exactitude, il y a toujours possibilité d’erreurs. Il est toujours bon de vérifier les informations critiques à partir de sources de confiance, surtout si c’est crucial pour prendre des décisions ou entreprendre des actions.",
+ "footer.accuracy.popover.image.alt": "Exemple d’image de note de bas de page popover",
+ "footer.accuracy.popover.cta.label": "J'ai compris!",
+ "footer.accuracy.popover.link.label": "En savoir plus",
+ "common.cancel": "Annuler",
+ "common.close": "Fermer",
+ "common.readMore": "En savoir plus",
+ "common.noSearchResults": "Aucun résultat ne correspond à cette demande",
+ "menu.newConversation": "Nouvelle Conversation",
+ "chatbox.header.title": "Developer Lightspeed",
+ "chatbox.search.placeholder": "Recherche",
+ "chatbox.provider.other": "Autre",
+ "chatbox.emptyState.noPinnedChats": "Aucune conversation épinglée",
+ "chatbox.emptyState.noRecentChats": "Aucune conversation récente",
+ "chatbox.emptyState.noResults.title": "Aucun résultat trouvé",
+ "chatbox.emptyState.noResults.body": "Ajuster votre recherche et essayer à nouveau. Vérifier votre orthographe et essayez un terme plus général.",
+ "chatbox.welcome.greeting": "Hello, {{userName}}",
+ "chatbox.welcome.description": "Comment puis-je vous aider ?",
+ "chatbox.message.placeholder": "Envoyer un message et télécharger un fichier JSON, YAML, ou TXT...",
+ "chatbox.fileUpload.failed": "Le chargement de fichiers a échoué",
+ "chatbox.fileUpload.infoText": "Types de fichiers pris en charge: .txt, .yaml, and .json. La taille maximale est de 25 MB.",
+ "aria.chatbotSelector": "Sélecteur Chatbot",
+ "aria.important": "Important",
+ "aria.chatHistoryMenu": "Menu de l’historique de conversations",
+ "aria.closeDrawerPanel": "Fermer le panneau de tiroirs",
+ "aria.search.placeholder": "Recherche",
+ "aria.searchPreviousConversations": "Recherche des anciennes conversations",
+ "aria.resize": "Redimensionnement",
+ "aria.options.label": "Options",
+ "aria.scroll.down": "De haut en bas",
+ "aria.scroll.up": "De bas en haut",
+ "aria.settings.label": "Options Chatbot",
+ "modal.edit": "Modifier",
+ "modal.save": "Sauvegarder",
+ "modal.close": "Fermer",
+ "modal.cancel": "Annuler",
+ "conversation.delete": "Supprimer",
+ "conversation.rename": "Renommer",
+ "conversation.addToPinnedChats": "Épingler",
+ "conversation.removeFromPinnedChats": "Détacher",
+ "conversation.announcement.userMessage": "Message en provenance de l’utilisateur: {{prompt}}. Message en provenance du Bot en cours de chargement.",
+ "user.guest": "Invité",
+ "user.loading": "...",
+ "tooltip.attach": "Attacher",
+ "tooltip.send": "Envoyer",
+ "tooltip.microphone.active": "Cessez d’écouter",
+ "tooltip.microphone.inactive": "Utilisez le micro",
+ "button.newChat": "Nouvelle Conversation",
+ "tooltip.chatHistoryMenu": "Menu de l’historique de conversations",
+ "tooltip.responseRecorded": "Réponse enregistrée",
+ "tooltip.backToTop": "De bas en haut",
+ "tooltip.backToBottom": "De haut en bas",
+ "tooltip.settings": "Options Chatbot",
+ "modal.title.preview": "Aperçu de la pièce jointe",
+ "modal.title.edit": "Modifier la pièce jointe",
+ "icon.lightspeed.alt": "Icône Lightspeed",
+ "icon.permissionRequired.alt": "icône d’autorisation requise",
+ "message.options.label": "Options",
+ "file.upload.error.alreadyExists": "Le fichier existe déjà",
+ "file.upload.error.multipleFiles": "Télécharger plus d’un fichier.",
+ "file.upload.error.unsupportedType": "Type de fichier non pris en charge. Types de fichiers pris en charge: .txt, .yaml, and .json.",
+ "file.upload.error.fileTooLarge": "Votre taille de fichier est trop grande. Veuillez vous assurer que votre fichier soit inférieur à 25MB.",
+ "file.upload.error.readFailed": "Impossible de lire le fichier : {{errorMessage}}",
+ "error.context.fileAttachment": "useFileAttachmentContext doit être dans un FileAttachmentContextProvider",
+ "feedback.form.title": "Pourquoi avez-vous sélectionnée cette estimation ?",
+ "feedback.form.textAreaPlaceholder": "Veuillez-nous offrir des commentaires supplémentaires ?",
+ "feedback.form.submitWord": "Soumettre",
+ "feedback.tooltips.goodResponse": "Bonne réponse",
+ "feedback.tooltips.badResponse": "Mauvaise réponse",
+ "feedback.tooltips.copied": "Copié",
+ "feedback.tooltips.copy": "Copier",
+ "feedback.tooltips.listening": "En cours d’écoute",
+ "feedback.tooltips.listen": "Écouter",
+ "feedback.quickResponses.positive.helpful": "Information utile",
+ "feedback.quickResponses.positive.easyToUnderstand": "Facile à comprendre",
+ "feedback.quickResponses.positive.resolvedIssue": "A pu résoudre mon problème",
+ "feedback.quickResponses.negative.didntAnswer": "N’a pas répondu à ma question",
+ "feedback.quickResponses.negative.hardToUnderstand": "Difficile à comprendre",
+ "feedback.quickResponses.negative.notHelpful": "Peu utile",
+ "feedback.completion.title": "Commentaire soumis",
+ "feedback.completion.body": "Nous avons reçu votre réponse. Merci de partager vos commentaires avec nous !",
+ "conversation.category.pinnedChats": "Épinglé",
+ "conversation.category.recent": "Récent",
+ "settings.pinned.enable": "Activer les conversations épinglées",
+ "settings.pinned.disable": "Désactiver les conversations épinglées",
+ "settings.pinned.enabled.description": "Les conversation épinglées sont actuellement activées",
+ "settings.pinned.disabled.description": "Les conversations épinglées sont actuellement désactivées"
+ }
+ },
+ "plugin.marketplace": {
+ "fr": {
+ "header.title": "Extensions",
+ "header.extensions": "Extensions",
+ "header.catalog": "Catalogue",
+ "header.installedPackages": "Paquets installés",
+ "header.installedPackagesWithCount": "Paquets installés ({{count}})",
+ "header.pluginsPage": "Plugins",
+ "header.packagesPage": "Paquets",
+ "header.collectionsPage": "Collections",
+ "button.install": "Installer",
+ "button.uninstall": "Désinstaller",
+ "button.enable": "Activer",
+ "button.disable": "Désactiver",
+ "button.update": "Mise à jour",
+ "button.save": "Sauvegarder",
+ "button.close": "Fermer",
+ "button.viewAll": "Voir tous les plugins",
+ "button.viewDocumentation": "Voir la documentation",
+ "button.viewInstalledPlugins": "Afficher les plugins installés ({{count}})",
+ "button.restart": "Redémarrage requis",
+ "status.notInstalled": "Non installé",
+ "status.installed": "Installé",
+ "status.disabled": "Désactivé",
+ "status.partiallyInstalled": "Partiellement installé",
+ "status.updateAvailable": "Mise à jour disponible",
+ "role.backend": "Backend",
+ "role.backendModule": "Module backend",
+ "role.frontend": "L'extrémité avant",
+ "emptyState.noPluginsFound": "Aucun plugin trouvé",
+ "emptyState.mustEnableBackend": "Doit activer le plugin backend Extensions",
+ "emptyState.noPluginsDescription": "Une erreur s'est produite lors du chargement des plugins. Vérifiez votre configuration ou consultez la documentation du plugin pour résoudre le problème. Vous pouvez également explorer d’autres plugins disponibles.",
+ "emptyState.configureBackend": "Configurez le plugin '@red-hat-developer-hub/backstage-plugin-marketplace-backend'.",
+ "alert.productionDisabled": "L'installation du plugin est désactivée dans l'environnement de production.",
+ "alert.installationDisabled": "L'installation du plugin est désactivée.",
+ "alert.missingDynamicArtifact": "Impossible de gérer ce paquet. Pour activer les actions, un catalogue avec l’ **spec.dynamicArtifact** requis doit être ajouté.",
+ "alert.missingDynamicArtifactTitle": "Le paquet ne peut pas être modifié",
+ "alert.missingDynamicArtifactForPlugin": "Impossible de gérer ce plugin. Pour activer les actions, un catalogue avec l’ **spec.dynamicArtifact** requis doit être ajouté.",
+ "alert.missingDynamicArtifactTitlePlugin": "Le plugin ne peut pas être modifié",
+ "alert.extensionsExample": "Pour l’activer, ajouter ou modifier la configuration des extensions dans votre fichier de configuration dynamic-plugins.",
+ "alert.singlePluginRestart": "Le plugin **{{pluginName}}** nécessite un redémarrage du système backend pour terminer l'installation, la mise à jour, l'activation ou la désactivation.",
+ "alert.multiplePluginRestart": "Vous avez **{{count}}** plugins qui nécessitent un redémarrage de votre système backend pour terminer l'installation, la mise à jour, l'activation ou la désactivation.",
+ "alert.singlePackageRestart": "Le paquet **{{packageName}}** nécessite un redémarrage du système backend pour terminer d’installer, mettre à jour, activer ou désactiver.",
+ "alert.multiplePackageRestart": "Vous avez **{{count}}** paquets nécessitant un redémarrge de votre système backend pour terminer d’installer, mettre à jour, activer ou désactiver.",
+ "alert.restartRequired": "{{count}} plugins installés",
+ "alert.backendRestartRequired": "Redémarrage du backend requis",
+ "alert.viewPlugins": "Afficher les plugins",
+ "alert.viewPackages": "Afficher les paquets",
+ "search.placeholder": "Recherche",
+ "search.clear": "Effacer la recherche",
+ "search.filter": "Filtre",
+ "search.clearFilter": "Effacer le filtre",
+ "search.category": "Catégorie",
+ "search.author": "Auteur",
+ "search.supportType": "Type de support",
+ "search.noResults": "Aucun plugin ne correspond à vos critères de recherche",
+ "search.filterBy": "Filtrer par",
+ "search.clearFilters": "Effacer les filtres",
+ "search.noResultsFound": "Aucun résultat trouvé. Ajustez vos filtres et réessayez.",
+ "common.links": "Links",
+ "common.by": " par ",
+ "common.comma": ", ",
+ "common.noDescriptionAvailable": "aucune description disponible",
+ "common.readMore": "En savoir plus",
+ "common.close": "Fermer",
+ "common.apply": "Appliquer",
+ "common.couldNotApplyYaml": "Impossible d'appliquer YAML : {{error}}",
+ "dialog.backendRestartRequired": "Redémarrage du backend requis",
+ "dialog.packageRestartMessage": "Pour terminer les modifications du paquet, redémarrez votre système backend.",
+ "dialog.pluginRestartMessage": "Pour terminer les modifications du plugin, redémarrez votre système backend.",
+ "plugin.description": "Description",
+ "plugin.documentation": "Documentation",
+ "plugin.repository": "Dépôt",
+ "plugin.license": "Licence",
+ "plugin.version": "Version",
+ "plugin.author": "Auteur",
+ "plugin.authors": "Auteurs",
+ "plugin.tags": "Mots-clés",
+ "plugin.dependencies": "Dépendances",
+ "plugin.configuration": "Configuration",
+ "plugin.installation": "Installation",
+ "package.name": "Nom du paquet :",
+ "package.version": "Version:",
+ "package.dynamicPluginPath": "Chemin du plugin dynamique :",
+ "package.backstageRole": "Rôle backstage:",
+ "package.supportedVersions": "Versions prises en charge :",
+ "package.author": "Auteur:",
+ "package.support": "Support:",
+ "package.lifecycle": "Cycle de vie:",
+ "package.highlights": "Points forts",
+ "package.about": "À propos",
+ "package.notFound": "Paquet {{namespace}}/{{name}} introuvable !",
+ "package.notAvailable": "Paquet {{name}} non disponible",
+ "package.ensureCatalogEntity": "Veillez à ce que l’entité de catalogue existe pour ce paquet.",
+ "table.packageName": "Nom du paquet",
+ "table.version": "Version",
+ "table.role": "Rôle",
+ "table.supportedVersion": "Version prise en charge",
+ "table.status": "Statut",
+ "table.name": "Nom",
+ "table.action": "Action",
+ "table.description": "Description",
+ "table.versions": "Versions",
+ "table.plugins": "Plugins",
+ "table.packages": "Paquets",
+ "table.pluginsCount": "Plugins ({{count}})",
+ "table.packagesCount": "Paquets ({{count}})",
+ "table.pluginsTable": "Tableau des plugins",
+ "installedPackages.table.title": "Paquets installés ({{count}})",
+ "installedPackages.table.searchPlaceholder": "Recherche",
+ "installedPackages.table.columns.name": "Nom",
+ "installedPackages.table.columns.packageName": "nom du paquet npm",
+ "installedPackages.table.columns.role": "Rôle",
+ "installedPackages.table.columns.version": "Version",
+ "installedPackages.table.columns.actions": "Actes",
+ "installedPackages.table.tooltips.packageProductionDisabled": "Le paquet ne peut pas être géré en environnement de production.",
+ "installedPackages.table.tooltips.installationDisabled": "Le paquet ne peut pas être géré car le plugin d’installation est désactivé. Pour l’activer, ajouter ou modifier la configuration des extensions dans votre fichier de configuration dynamic-plugins.",
+ "installedPackages.table.tooltips.enableActions": "Pour activer les actions, ajoutez une entité de catalogue pour ce paquet",
+ "installedPackages.table.tooltips.noDownloadPermissions": "Vous n’avez pas l’autorisation de télécharger la configuration. Contactez votre administrateur pour demander un accès ou une assistance.",
+ "installedPackages.table.tooltips.noEditPermissions": "Vous n’avez pas la permission de modifier la configuration. Contactez votre administrateur pour demander un accès ou une assistance.",
+ "installedPackages.table.tooltips.noTogglePermissions": "Vous n’avez pas la permission d’activer ou de désactiver les paquets. Contactez votre administrateur pour demander un accès ou une assistance.",
+ "installedPackages.table.tooltips.editPackage": "Modifier la configuration du paquet",
+ "installedPackages.table.tooltips.downloadPackage": "Télécharger la configuration du paquet",
+ "installedPackages.table.tooltips.enablePackage": "Activer le paquet",
+ "installedPackages.table.tooltips.disablePackage": "Désactiver le paquet",
+ "installedPackages.table.emptyMessages.noResults": "Aucun résultat trouvé. Essayez un autre terme de recherche.",
+ "installedPackages.table.emptyMessages.noRecords": "Aucun enregistrement à afficher",
+ "actions.install": "Installer",
+ "actions.view": "Voir",
+ "actions.edit": "Modifier",
+ "actions.enable": "Activer",
+ "actions.disable": "Désactiver",
+ "actions.actions": "Actes",
+ "actions.editConfiguration": "Modifier",
+ "actions.pluginConfigurations": "Configurations des plugins",
+ "actions.packageConfiguration": "Configuration du paquet",
+ "actions.pluginCurrentlyEnabled": "Plugin actuellement activé",
+ "actions.pluginCurrentlyDisabled": "Plugin actuellement désactivé",
+ "actions.packageCurrentlyEnabled": "Paquet actuellement activé",
+ "actions.packageCurrentlyDisabled": "Paquet actuellement désactivé",
+ "actions.installTitle": "Installer {{displayName}}",
+ "actions.editTitle": "Modifier les configurations {{displayName}}",
+ "metadata.by": " par ",
+ "metadata.comma": ", ",
+ "metadata.pluginNotFound": "Plugin {{name}} non trouvé !",
+ "metadata.pluginNotAvailable": "Plugin {{name}} non disponible",
+ "metadata.ensureCatalogEntityPlugin": "Veillez à ce que l’entité de catalogue existe pour ce paquet.",
+ "metadata.highlights": "Points forts",
+ "metadata.about": "À propos",
+ "metadata.publisher": "Éditeur",
+ "metadata.supportProvider": "Fournisseur de support",
+ "metadata.entryName": "Nom de l’entrée",
+ "metadata.bySomeone": "par quelqu’un",
+ "metadata.category": "Catégorie",
+ "metadata.versions": "Versions",
+ "metadata.backstageCompatibility": "Version de compatibilité backstage",
+ "supportTypes.certifiedBy": "Certifié par {{value}} ({{count}})",
+ "supportTypes.verifiedBy": "Vérifié par {{value}} ({{count}})",
+ "supportTypes.customPlugins": "Plugins personnalisés ({{count}})",
+ "collection.kubernetes": "Kubernetes",
+ "collection.monitoring": "Surveillance",
+ "collection.security": "Sécurité",
+ "collection.viewMore": "Voir davantage",
+ "collection.pluginCount": "{{count}} plugins",
+ "collection.featured.title": "Plugins en vedette",
+ "collection.featured.description": "Une collection organisée de plugins recommandés pour la plupart des utilisateurs",
+ "install.title": "Installer le plugin",
+ "install.configurationRequired": "Configuration requise",
+ "install.optional": "Facultatif",
+ "install.required": "Requis",
+ "install.selectPackages": "Sélectionnez les paquets à installer",
+ "install.allPackages": "Tous les paquets",
+ "install.customConfiguration": "Configuration personnalisée",
+ "install.installProgress": "Installation...",
+ "install.success": "Plugin installé avec succès",
+ "install.error": "Échec de l'installation du plugin",
+ "install.installFrontend": "Installer le plugin frontal",
+ "install.installBackend": "Installer le plugin back-end",
+ "install.installTemplates": "Installer des modèles de logiciels",
+ "install.installationInstructions": "Instructions d'installation",
+ "install.download": "Télécharger",
+ "install.examples": "Exemples",
+ "install.cancel": "Annuler",
+ "install.reset": "Réinitialiser",
+ "install.pluginTabs": "Onglets de plugins",
+ "install.settingUpPlugin": "Configuration du plugin",
+ "install.aboutPlugin": "À propos du plugin",
+ "install.pluginUpdated": "Plugin mis à jour",
+ "install.pluginInstalled": "Plugin installé",
+ "install.instructions": "Instructions",
+ "install.editInstructions": "Modifier les instructions",
+ "install.back": "Retour",
+ "install.packageUpdated": "Paquet mis à jour",
+ "install.packageEnabled": "Paquet activé",
+ "install.packageDisabled": "Paquet non activé",
+ "install.pluginEnabled": "Plugin activé",
+ "install.pluginDisabled": "Plugin non activé",
+ "install.errors.missingPluginsList": "Contenu de l'éditeur non valide : liste des « plugins » manquante",
+ "install.errors.missingPackageItem": "Contenu de l'éditeur non valide : élément de paquet manquant",
+ "install.errors.missingPackageField": "Contenu de l'éditeur non valide : champ « package » manquant dans l'élément",
+ "install.errors.failedToSave": "Échec de la sauvegarde",
+ "loading": "Chargement en cours...",
+ "error": "Une erreur s'est produite",
+ "retry": "Réessayer",
+ "errors.missingConfigFile": "Fichier de configuration manquant",
+ "errors.missingConfigMessage": "{{message}}. Vous devez l'ajouter à votre app-config.yaml si vous souhaitez activer cet outil. Modifiez le fichier app-config.yaml comme indiqué dans l'exemple ci-dessous :",
+ "errors.invalidConfigFile": "Fichier de configuration non valide",
+ "errors.invalidConfigMessage": "Échec du chargement de « extensions.installation.saveToSingleFile.file ». {{message}}. Fournissez une configuration d'installation valide si vous souhaitez activer cet outil. Modifiez votre fichier dynamic-plugins.yaml comme indiqué dans l'exemple ci-dessous :",
+ "errors.fileNotExists": "Le fichier de configuration est incorrect, mal orthographié ou n'existe pas",
+ "errors.fileNotExistsMessage": "{{message}}. Veuillez revérifier le nom de fichier spécifié dans votre app-config.yaml si vous souhaitez activer cet outil comme indiqué dans l'exemple ci-dessous :",
+ "errors.unknownError": "Erreur lors de la lecture du fichier de configuration. ",
+ "tooltips.productionDisabled": "L'installation du plugin est désactivée dans l'environnement de production.",
+ "tooltips.extensionsDisabled": "L'installation du plugin est désactivée. Pour l’activer, ajouter ou modifier la configuration des extensions dans votre fichier de configuration dynamic-plugins.",
+ "tooltips.noPermissions": "Vous n'avez pas l'autorisation d'installer des plugins ou d'afficher leurs configurations. Contactez votre administrateur pour demander un accès ou une assistance.",
+ "tooltips.missingDynamicArtifact": "Impossible de gérer ce {{type}}. Pour activer les actions, un catalogue avec le spec.dynamicArtifact requis doit être ajouté.",
+ "aria.openPlugin": "Ouvrir le plugin {{name}}",
+ "aria.closeDialog": "Fermer la boîte de dialogue",
+ "aria.expandSection": "Développer la section",
+ "aria.collapseSection": "Réduire la section",
+ "aria.sortBy": "Trier par {{field}}",
+ "aria.filterBy": "Filtrer par {{field}}",
+ "badges.certified": "Certifié",
+ "badges.certifiedBy": "Certifié par {{provider}}",
+ "badges.verified": "Vérifié",
+ "badges.verifiedBy": "Vérifié par {{provider}}",
+ "badges.customPlugin": "Plugin personnalisé",
+ "badges.stableAndSecured": "Stable et sécurisé par {{provider}}",
+ "badges.generallyAvailable": "Généralement disponible (GA)",
+ "badges.gaAndSupportedBy": "Généralement disponible (GA) et pris en charge par {{provider}}",
+ "badges.gaAndSupported": "Généralement disponible (GA) et pris en charge",
+ "badges.productionReadyBy": "Prêt pour la production et pris en charge par {{provider}}",
+ "badges.productionReady": "Prêt pour la production et pris en charge",
+ "badges.communityPlugin": "Plugin communautaire",
+ "badges.openSourceNoSupport": "Plugins open source, pas de support officiel",
+ "badges.techPreview": "Aperçu technique (TP)",
+ "badges.pluginInDevelopment": "Plugin toujours en développement",
+ "badges.devPreview": "Aperçu du développement (DP)",
+ "badges.earlyStageExperimental": "Un plugin expérimental en phase de démarrage",
+ "badges.addedByAdmin": "Plugins ajoutés par l'administrateur"
+ }
+ },
+ "plugin.orchestrator": {
+ "fr": {
+ "page.title": "Orchestrateur de flux de travail",
+ "page.tabs.workflows": "Flux de travail",
+ "page.tabs.allRuns": "Toutes les exécutions",
+ "page.tabs.workflowDetails": "Détails du flux de travail",
+ "page.tabs.workflowRuns": "Le flux de travail s'exécute",
+ "table.title.workflows": "Flux de travail",
+ "table.title.allRuns": "Toutes les courses ({{count}})",
+ "table.title.allWorkflowRuns": "Exécutions du workflow ({{count}})",
+ "table.headers.name": "Nom",
+ "table.headers.runStatus": "État d'exécution",
+ "table.headers.started": "Commencé",
+ "table.headers.status": "Statut",
+ "table.headers.workflowStatus": "Statut du flux de travail",
+ "table.headers.duration": "Durée",
+ "table.headers.description": "Description",
+ "table.headers.lastRun": "Dernière course",
+ "table.headers.lastRunStatus": "Statut de la dernière exécution",
+ "table.headers.workflowName": "Nom du flux de travail",
+ "table.actions.run": "Exécution",
+ "table.actions.viewRuns": "Voir les exécutions",
+ "table.actions.viewInputSchema": "Afficher le schéma d'entrée",
+ "table.status.running": "En cours d'exécution",
+ "table.status.failed": "Échoué",
+ "table.status.completed": "Complété",
+ "table.status.aborted": "Avorté",
+ "table.status.pending": "En attente",
+ "table.status.active": "Actif",
+ "table.filters.status": "Statut",
+ "table.filters.started": "Commencé",
+ "table.filters.startedOptions.today": "Aujourd'hui",
+ "table.filters.startedOptions.yesterday": "Hier",
+ "table.filters.startedOptions.last7days": "Les 7 derniers jours",
+ "table.filters.startedOptions.thisMonth": "Ce mois-ci",
+ "workflow.details": "Détails",
+ "workflow.definition": "Définition du flux de travail",
+ "workflow.progress": "Progression du flux de travail",
+ "workflow.status.available": "Disponible",
+ "workflow.status.unavailable": "Non disponible",
+ "workflow.fields.workflow": "Flux de travail",
+ "workflow.fields.workflowStatus": "Statut du flux de travail",
+ "workflow.fields.runStatus": "État d'exécution",
+ "workflow.fields.duration": "Durée",
+ "workflow.fields.description": "Description",
+ "workflow.fields.started": "Commencé",
+ "workflow.fields.workflowId": "ID d'exécution",
+ "workflow.fields.workflowIdCopied": "ID d'exécution copié dans le presse-papiers",
+ "workflow.errors.retriggerFailed": "Échec du re-déclenchement : {{reason}}",
+ "workflow.errors.abortFailed": "Échec de l'abandon : l'exécution a déjà été terminée.",
+ "workflow.errors.abortFailedWithReason": "Échec de l'abandon : {{reason}}",
+ "workflow.errors.failedToLoadDetails": "Échec du chargement des détails de l'ID de workflow : {{id}}",
+ "workflow.messages.areYouSureYouWantToRunThisWorkflow": "Êtes-vous sûr de vouloir exécuter ce workflow ?",
+ "workflow.messages.userNotAuthorizedExecute": "L'utilisateur n'est pas autorisé à exécuter le workflow.",
+ "workflow.messages.workflowDown": "Le flux de travail est actuellement en panne ou dans un état d'erreur. L'exécuter maintenant peut échouer ou produire des résultats inattendus.",
+ "workflow.buttons.run": "Exécution",
+ "workflow.buttons.runWorkflow": "Exécuter le flux de travail",
+ "workflow.buttons.runAgain": "Courir à nouveau",
+ "workflow.buttons.running": "En cours d'exécution",
+ "workflow.buttons.fromFailurePoint": "Du point de défaillance",
+ "workflow.buttons.runFailedAgain": "L'exécution a échoué à nouveau",
+ "run.title": "Exécuter le flux de travail",
+ "run.pageTitle": "{{processName}} exécuter",
+ "run.variables": "Variables d'exécution",
+ "run.inputs": "Entrées",
+ "run.results": "Résultats",
+ "run.abort.title": "Abandonner l’exécution du workflow ?",
+ "run.abort.button": "Avorter",
+ "run.abort.warning": "L'abandon arrêtera immédiatement toutes les étapes en cours et en attente. Tout travail en cours sera perdu.",
+ "run.abort.completed.title": "Exécution terminée",
+ "run.abort.completed.message": "Il n'est pas possible d'interrompre l'exécution car elle est déjà terminée.",
+ "run.status.completed": "Exécution terminée",
+ "run.status.failed": "L'exécution a échoué {{time}}",
+ "run.status.aborted": "L'exécution a été interrompue",
+ "run.status.completedWithMessage": "Exécution terminée {{time}} avec message",
+ "run.status.failedAt": "L'exécution a échoué {{time}}",
+ "run.status.completedAt": "Exécution terminée {{time}}",
+ "run.status.running": "Le flux de travail est en cours d'exécution. Démarré {{time}}",
+ "run.status.runningWaitingAtNode": "Le workflow est en cours d'exécution – en attente au nœud {{node}} depuis {{formattedTime}}",
+ "run.status.workflowIsRunning": "Le flux de travail est en cours d'exécution. Démarré {{time}}",
+ "run.status.noAdditionalInfo": "Le flux de travail n'a fourni aucune information supplémentaire sur le statut.",
+ "run.status.resultsWillBeDisplayedHereOnceTheRunIsComplete": "Les résultats seront affichés ici une fois l’exécution terminée.",
+ "run.retrigger": "Re-déclencher",
+ "run.viewVariables": "Afficher les variables",
+ "run.suggestedNextWorkflow": "Prochain flux de travail suggéré",
+ "run.suggestedNextWorkflows": "Prochains flux de travail suggérés",
+ "tooltips.completed": "Complété",
+ "tooltips.active": "Actif",
+ "tooltips.aborted": "Avorté",
+ "tooltips.suspended": "Suspendu",
+ "tooltips.pending": "En attente",
+ "tooltips.workflowDown": "Le flux de travail est actuellement interrompu ou dans un état d'erreur",
+ "tooltips.userNotAuthorizedAbort": "l'utilisateur n'est pas autorisé à interrompre le flux de travail",
+ "tooltips.userNotAuthorizedExecute": "utilisateur non autorisé à exécuter le workflow",
+ "messages.noDataAvailable": "Aucune donnée disponible",
+ "messages.noVariablesFound": "Aucune variable trouvée pour cette exécution.",
+ "messages.noInputSchemaWorkflow": "Aucun schéma d'entrée n'est défini pour ce workflow.",
+ "messages.workflowInstanceNoInputs": "L'instance de workflow n'a aucune entrée",
+ "messages.missingJsonSchema.title": "Schéma JSON manquant pour le formulaire de saisie",
+ "messages.missingJsonSchema.message": "Ce workflow n'a pas de schéma JSON défini pour la validation des entrées. Vous pouvez toujours exécuter le workflow, mais la validation des entrées sera limitée.",
+ "messages.additionalDetailsAboutThisErrorAreNotAvailable": "Des détails supplémentaires sur cette erreur ne sont pas disponibles",
+ "common.close": "Fermer",
+ "common.cancel": "Annuler",
+ "common.execute": "Exécuter",
+ "common.details": "Détails",
+ "common.links": "Links",
+ "common.values": "Valeurs",
+ "common.back": "Retour",
+ "common.run": "Exécution",
+ "common.next": "Suivant",
+ "common.review": "Revue",
+ "common.unavailable": "---",
+ "stepperObjectField.error": "Le champ d'objet Stepper n'est pas pris en charge pour les schémas qui ne contiennent pas de propriétés",
+ "formDecorator.error": "Le décorateur de formulaire doit fournir des données contextuelles.",
+ "aria.close": "fermer"
+ }
+ },
+ "plugin.quickstart": {
+ "fr": {
+ "header.title": "Commençons par vous familiariser avec Developer Hub",
+ "header.subtitle": "Nous vous guiderons à travers quelques étapes rapides",
+ "steps.setupAuthentication.title": "Configurer l'authentification",
+ "steps.setupAuthentication.description": "Configurez des informations de connexion sécurisées pour protéger votre compte contre tout accès non autorisé.",
+ "steps.setupAuthentication.ctaTitle": "En savoir plus",
+ "steps.configureRbac.title": "Configurer RBAC",
+ "steps.configureRbac.description": "Attribuez des rôles et des autorisations pour contrôler qui peut afficher, créer ou modifier des ressources, garantissant ainsi une collaboration sécurisée et efficace.",
+ "steps.configureRbac.ctaTitle": "Gérer l'accès",
+ "steps.configureGit.title": "Configurer Git",
+ "steps.configureGit.description": "Connectez vos fournisseurs Git, tels que GitHub pour gérer le code, automatiser les flux de travail et intégrer les fonctionnalités de la plateforme.",
+ "steps.configureGit.ctaTitle": "En savoir plus",
+ "steps.managePlugins.title": "Gérer les plugins",
+ "steps.managePlugins.description": "Parcourez et installez des extensions pour ajouter des fonctionnalités, vous connecter à des outils externes et personnaliser votre expérience.",
+ "steps.managePlugins.ctaTitle": "Explorer les plugins",
+ "steps.importApplication.title": "Demande d'importation",
+ "steps.importApplication.description": "Importez votre code et vos services existants dans le catalogue pour les organiser et y accéder via votre portail de développeur.",
+ "steps.importApplication.ctaTitle": "Importer",
+ "steps.learnAboutCatalog.title": "En savoir plus sur le catalogue",
+ "steps.learnAboutCatalog.description": "Découvrir tous les composants logiciels, services et API, et affichez leurs propriétaires et leur documentation.",
+ "steps.learnAboutCatalog.ctaTitle": "Voir le catalogue",
+ "steps.exploreSelfServiceTemplates.title": "Explorer les modèles en libre-service",
+ "steps.exploreSelfServiceTemplates.description": "Utiliser nos modèles en libre-service pour configurer rapidement de nouveaux projets, services ou documentations.",
+ "steps.exploreSelfServiceTemplates.ctaTitle": "Explorer les modèles",
+ "steps.findAllLearningPaths.title": "Trouver tous les Learning Paths",
+ "steps.findAllLearningPaths.description": "Intégrez l’apprentissage en ligne personnalisé dans vos flux de travail avec Learning Paths pour accélérer l’intégration, combler les lacunes en matière de compétences et promouvoir les meilleures pratiques.",
+ "steps.findAllLearningPaths.ctaTitle": "Voir Learning Paths",
+ "button.quickstart": "Démarrage rapide",
+ "button.openQuickstartGuide": "Ouvrir le guide de démarrage rapide",
+ "button.closeDrawer": "Fermer le tiroir",
+ "button.gotIt": "J'ai compris!",
+ "footer.progress": "{{progress}}% de progrès",
+ "footer.notStarted": "Non démarré",
+ "footer.hide": "Cacher",
+ "content.emptyState.title": "Le contenu de démarrage rapide n'est pas disponible pour votre rôle.",
+ "item.expandAriaLabel": "Développer les détails de {{title}}",
+ "item.collapseAriaLabel": "Réduire les détails de {{title}}",
+ "item.expandButtonAriaLabel": "Développer l'élément",
+ "item.collapseButtonAriaLabel": "Réduire l'élément",
+ "dev.pageTitle": "Page de test du plugin de démarrage rapide",
+ "dev.pageDescription": "Ceci est une page de test pour le plugin Quickstart. Utilisez les boutons ci-dessous pour interagir avec le tiroir de démarrage rapide.",
+ "dev.drawerControls": "Commandes des tiroirs",
+ "dev.currentState": "État actuel du tiroir : {{state}}",
+ "dev.stateOpen": "Ouvrir",
+ "dev.stateClosed": "Fermé",
+ "dev.instructions": "Instructions",
+ "dev.step1": "1. Cliquez sur « Ouvrir le guide de démarrage rapide » pour ouvrir le tiroir",
+ "dev.step2": "2. Parcourez les étapes de démarrage rapide",
+ "dev.step3": "3. Testez le suivi de la progression en complétant les étapes",
+ "dev.step4": "4. Le tiroir peut être fermé à l'aide du bouton de fermeture ou des commandes du tiroir",
+ "dev.step5": "5. La progression est automatiquement enregistrée dans le stockage local"
+ }
+ },
+ "plugin.scorecard": {
+ "fr": {
+ "emptyState.title": "Aucune carte de score n'a encore été ajoutée",
+ "emptyState.description": "Les tableaux de bord vous aident à surveiller l’état des composants en un coup d’œil. Pour commencer, explorez notre documentation pour obtenir des instructions de configuration.",
+ "emptyState.button": "Voir la documentation",
+ "emptyState.altText": "Pas de tableau de bord",
+ "permissionRequired.title": "Autorisations manquantes",
+ "permissionRequired.description": "Pour afficher le plugin Scorecard, contactez votre administrateur pour lui accorder l'autorisation {{permission}}.",
+ "permissionRequired.button": "En savoir plus",
+ "permissionRequired.altText": "Autorisation requise",
+ "errors.entityMissingProperties": "Entité manquant les propriétés requises pour la recherche dans la fiche d'évaluation",
+ "errors.invalidApiResponse": "Format de réponse non valide de l'API de scorecard",
+ "errors.fetchError": "Erreur lors de la récupération des tableaux de bord : {{error}}",
+ "errors.metricDataUnavailable": "Données métriques indisponibles",
+ "errors.invalidThresholds": "Seuils invalides",
+ "metric.github.open_prs.title": "GitHub ouvre des PR",
+ "metric.github.open_prs.description": "Nombre actuel de requêtes d'extraction ouvertes pour un référentiel GitHub donné.",
+ "metric.jira.open_issues.title": "Jira ouvre des tickets bloquants",
+ "metric.jira.open_issues.description": "Met en évidence le nombre de problèmes critiques et bloquants actuellement ouverts dans Jira.",
+ "thresholds.success": "Succès",
+ "thresholds.warning": "Attention",
+ "thresholds.error": "Erreur",
+ "metric.github.open-prs.title": "GitHub ouvre des PR",
+ "metric.github.open-prs.description": "Nombre actuel de requêtes d'extraction ouvertes pour un référentiel GitHub donné.",
+ "metric.jira.open-issues.title": "Jira ouvre des tickets bloquants",
+ "metric.jira.open-issues.description": "Met en évidence le nombre de problèmes critiques et bloquants actuellement ouverts dans Jira."
+ }
+ },
+ "plugin.translations-test": {
+ "fr": {
+ "page.title": "Plugin de test de traductions",
+ "page.subtitle": "Un plugin pour tester les fonctionnalités de traduction et les fonctionnalités d'i18next",
+ "essentials.key": "valeur de la clé",
+ "essentials.look.deep": "valeur look deep",
+ "interpolation.key": "{{what}} est {{how}}",
+ "interpolation.nested.key": "{{what}} est {{how.value}}",
+ "interpolation.complex.message": "Voici un {{link}}.",
+ "interpolation.complex.linkText": "lien",
+ "formatting.intlNumber": "Certains {{val, number}}",
+ "formatting.intlNumberWithOptions": "Certains {{val, number(minimumFractionDigits: 2)}}",
+ "formatting.intlDateTime": "Le {{val, datetime}}",
+ "formatting.intlRelativeTime": "Lorem {{val, relativetime}}",
+ "formatting.intlRelativeTimeWithOptions": "Lorem {{val, relativetime(quarter)}}",
+ "formatting.intlRelativeTimeWithOptionsExplicit": "Lorem {{val, relativetime(range: quarter; style: narrow;)}}",
+ "plurals.key_zero": "zéro",
+ "plurals.key_one": "un",
+ "plurals.key_two": "deux",
+ "plurals.key_few": "peu",
+ "plurals.key_many": "plusieurs",
+ "plurals.key_other": "autre",
+ "plurals.keyWithCount_one": "{{count}} article",
+ "plurals.keyWithCount_other": "{{count}} articles",
+ "context.friend": "Un ami",
+ "context.friend_male": "Un petit ami",
+ "context.friend_female": "Une petite amie",
+ "objects.tree.res": "a ajouté {{something}}"
+ }
+ },
+ "plugin.translations": {
+ "fr": {
+ "page.title": "Traductions",
+ "page.subtitle": "Gérer et afficher les traductions chargées",
+ "table.title": "Traductions chargées ({{count}})",
+ "table.headers.refId": "ID de réf",
+ "table.headers.key": "Clé",
+ "table.options.pageSize": "Articles par page",
+ "table.options.pageSizeOptions": "Afficher {{count}} éléments",
+ "export.title": "Traductions",
+ "export.downloadButton": "Télécharger les traductions par défaut (anglais)",
+ "export.filename": "traductions-{{timestamp}}.json",
+ "common.loading": "Chargement en cours...",
+ "common.error": "Une erreur s'est produite",
+ "common.noData": "Aucune donnée disponible",
+ "common.refresh": "Rafraîchir",
+ "language.displayFormat": "{{displayName}} ({{code}})"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/rhdh-plugins-reference-2025-12-05-it-C.json b/translations/rhdh-plugins-reference-2025-12-05-it-C.json
new file mode 100644
index 0000000000..771ef4dd5f
--- /dev/null
+++ b/translations/rhdh-plugins-reference-2025-12-05-it-C.json
@@ -0,0 +1,1009 @@
+{
+ "plugin.adoption-insights": {
+ "it": {
+ "page.title": "Adoption Insights",
+ "header.title": "Adoption Insights",
+ "header.dateRange.today": "Oggi",
+ "header.dateRange.lastWeek": "La settimana scorsa",
+ "header.dateRange.lastMonth": "Il mese scorso",
+ "header.dateRange.last28Days": "Ultimi 28 giorni",
+ "header.dateRange.lastYear": "L'anno scorso",
+ "header.dateRange.dateRange": "Intervallo di date...",
+ "header.dateRange.cancel": "Cancella",
+ "header.dateRange.ok": "OK",
+ "header.dateRange.defaultLabel": "Ultimi 28 giorni",
+ "header.dateRange.title": "Intervallo di date",
+ "header.dateRange.startDate": "Data di inizio",
+ "header.dateRange.endDate": "Data di fine",
+ "activeUsers.title": "Utenti attivi",
+ "activeUsers.averagePrefix": "Il conteggio del picco medio di utenti attivi era",
+ "activeUsers.averageText": "{{count}} per {{period}}",
+ "activeUsers.averageSuffix": " per questo periodo.",
+ "activeUsers.hour": "ora",
+ "activeUsers.day": "giorno",
+ "activeUsers.week": "settimana",
+ "activeUsers.month": "mese",
+ "activeUsers.legend.newUsers": "Nuovi utenti",
+ "activeUsers.legend.returningUsers": "Utenti di ritorno",
+ "templates.title": "Modelli più popolari",
+ "templates.topNTitle": "I {{count}} modelli più popolari",
+ "templates.allTitle": "Tutti i modelli",
+ "catalogEntities.title": "Entità del catalogo più popolari",
+ "catalogEntities.topNTitle": "Le {{count}} entità del catalogo più popolari",
+ "catalogEntities.allTitle": "Tutte le entità del catalogo",
+ "plugins.title": "I plugin più popolari",
+ "plugins.topNTitle": "I {{count}} plugin più popolari",
+ "plugins.allTitle": "Tutti i plugin",
+ "techDocs.title": "TechDocs più popolari",
+ "techDocs.topNTitle": "I {{count}} TechDocs più popolari",
+ "techDocs.allTitle": "Tutti i TechDocs",
+ "searches.title": "Ricerche più popolari",
+ "searches.totalCount": "{{count}} ricerche",
+ "searches.averagePrefix": "Il conteggio medio delle ricerche era",
+ "searches.averageText": "{{count}} per {{period}}",
+ "searches.averageSuffix": " per questo periodo.",
+ "searches.hour": "ora",
+ "searches.day": "giorno",
+ "searches.week": "settimana",
+ "searches.month": "mese",
+ "users.title": "Numero totale di utenti",
+ "users.haveLoggedIn": "registrati",
+ "users.loggedInUsers": "Utenti registrati",
+ "users.licensed": "Con licenza",
+ "users.licensedNotLoggedIn": "Con licenza (non registrato)",
+ "users.ofTotal": "di {{totale}}",
+ "users.tooltip": "Imposta il numero di utenti con licenza in app-config.yaml",
+ "table.headers.name": "Nome",
+ "table.headers.kind": "Tipo",
+ "table.headers.lastUsed": "Ultimo utilizzo",
+ "table.headers.views": "Visualizzazioni",
+ "table.headers.executions": "Esecuzioni",
+ "table.headers.trend": "Tendenza",
+ "table.headers.entity": "Entità",
+ "table.pagination.topN": "{{count}} più popolare",
+ "filter.all": "Tutto",
+ "filter.selectKind": "Selezionare il tipo",
+ "common.noResults": "Nessun risultato per questo intervallo di date.",
+ "common.readMore": "Per saperne di più",
+ "common.exportCSV": "Esporta CSV",
+ "common.downloading": "Scaricamento in corso...",
+ "common.today": "Oggi",
+ "common.yesterday": "Ieri",
+ "common.numberOfSearches": "Numero di ricerche",
+ "common.filteredBy": "filtrato da",
+ "common.invalidDateFormat": "Formato data non valido",
+ "common.csvFilename": "active_users",
+ "permission.title": "Autorizzazioni mancanti",
+ "permission.description": "Per visualizzare il plugin \"Adoption Insights\", richiedere all'amministratore le autorizzazioni adoption-insights.events.read."
+ }
+ },
+ "plugin.ai-experience": {
+ "it": {
+ "page.title": "Esperienza di intelligenza artificiale",
+ "page.subtitle": "Esplora modelli, server, notizie e risorse di apprendimento sull'intelligenza artificiale",
+ "learn.getStarted.title": "Inizia",
+ "learn.getStarted.description": "Scopri di più su Red Hat Developer Hub.",
+ "learn.getStarted.cta": "Vai a Documenti tecnici",
+ "learn.explore.title": "Esplora",
+ "learn.explore.description": "Esplora modelli e server di intelligenza artificiale.",
+ "learn.explore.cta": "Vai al Catalogo",
+ "learn.learn.title": "Apprendi",
+ "learn.learn.description": "Esplora e sviluppa nuove competenze sull'intelligenza artificiale.",
+ "learn.learn.cta": "Vai ai Percorsi di apprendimento",
+ "news.pageTitle": "Notizie sull'intelligenza artificiale",
+ "news.fetchingRssFeed": "Recupero del feed RSS",
+ "news.noContentAvailable": "Nessun contenuto disponibile",
+ "news.noContentDescription": "Non è stato possibile ottenere contenuti dal feed RSS. Ricontrollare l'URL o passare a un'origine diversa aggiornando il file di configurazione del plugin.",
+ "news.noRssContent": "Nessun contenuto RSS",
+ "modal.title.preview": "Anteprima allegato",
+ "modal.title.edit": "Modifica allegato",
+ "modal.edit": "Modifica",
+ "modal.save": "Salva",
+ "modal.close": "Chiudi",
+ "modal.cancel": "Cancella",
+ "common.viewMore": "Visualizza altro",
+ "common.guest": "Ospite",
+ "common.template": "Modello",
+ "common.latest": "ultimo",
+ "common.more": "altro",
+ "greeting.goodMorning": "Buon giorno",
+ "greeting.goodAfternoon": "Buon pomeriggio",
+ "greeting.goodEvening": "Buona sera",
+ "sections.exploreAiModels": "Esplora i modelli di intelligenza artificiale",
+ "sections.exploreAiTemplates": "Esplora i modelli di intelligenza artificiale",
+ "sections.discoverModels": "Scopri i modelli e i servizi di intelligenza artificiale disponibili nella tua organizzazione",
+ "sections.viewAllModels": "Visualizza tutti i {{count}} modelli",
+ "sections.viewAllTemplates": "Visualizza tutti i {{count}} modelli",
+ "accessibility.close": "chiudi",
+ "accessibility.aiIllustration": "Illustrazione dell'intelligenza artificiale",
+ "accessibility.aiModelsIllustration": "Illustrazione dei modelli di intelligenza artificiale"
+ }
+ },
+ "plugin.bulk-import": {
+ "it": {
+ "page.title": "Importazione in blocco",
+ "page.subtitle": "Importa entità in Red Hat Developer Hub",
+ "page.addRepositoriesTitle": "Aggiungere repository",
+ "page.importEntitiesTitle": "Importare entità",
+ "page.addRepositoriesSubtitle": "Aggiungere repository a Red Hat Developer Hub in 4 passaggi",
+ "page.importEntitiesSubtitle": "Importa in Red Hat Developer Hub",
+ "page.typeLink": "Importazione in blocco",
+ "sidebar.bulkImport": "Importazione in blocco",
+ "permissions.title": "Autorizzazione richiesta",
+ "permissions.addRepositoriesMessage": "Per aggiungere repository, contattare l'amministratore per ottenere l'autorizzazione 'bulk.import'.",
+ "permissions.viewRepositoriesMessage": "Per visualizzare i repository aggiunti, contattare l'amministratore per ottenere l'autorizzazione 'bulk.import'.",
+ "repositories.addedRepositories": "Repository aggiunti",
+ "repositories.importedEntities": "Entità importate",
+ "repositories.addedRepositoriesCount": "Repository aggiunti ({{count}})",
+ "repositories.importedEntitiesCount": "Entità importate ({{count}})",
+ "repositories.noRecordsFound": "Nessun record trovato",
+ "repositories.refresh": "Aggiorna",
+ "repositories.import": "Importa",
+ "repositories.removing": "Rimozione in corso...",
+ "repositories.deleteRepository": "Elimina repository",
+ "repositories.removeRepositoryQuestion": "Eliminare {{repoName}} {{repositoryText}}?",
+ "repositories.repositoryText": "repository",
+ "repositories.removeRepositoryWarningScaffolder": "La rimozione di un repository rimuove anche tutte le informazioni sulle attività di scaffolding associate.",
+ "repositories.removeRepositoryWarning": "La rimozione di un repository cancella tutte le informazioni associate dalla pagina Catalogo.",
+ "repositories.removeRepositoryWarningGitlab": "La rimozione elimina tutte le informazioni associate dalla pagina Catalogo.",
+ "repositories.cannotRemoveRepositoryUrl": "Impossibile rimuovere il repository perché l'URL del repository è mancante.",
+ "repositories.unableToRemoveRepository": "Impossibile rimuovere il repository. {{error}}",
+ "repositories.removeTooltipDisabled": "Questo repository è stato aggiunto al file app-config. Per rimuoverlo modificare direttamente il file",
+ "repositories.removeTooltipRepositoryScaffolder": "Elimina il repository e le informazioni sull'attività di scaffolding associata",
+ "repositories.errorOccuredWhileFetching": "Si è verificato un errore durante il recupero della richiesta pull",
+ "repositories.failedToCreatePullRequest": "Impossibile creare la richiesta pull",
+ "repositories.errorOccured": "Si è verificato un errore",
+ "repositories.editCatalogInfoTooltip": "Modifica la richiesta pull catalog-info.yaml",
+ "repositories.viewCatalogInfoTooltip": "Visualizza il file catalog-info.yaml",
+ "repositories.pr": "Richiesta pull",
+ "status.alreadyImported": "Già importata",
+ "status.added": "Aggiunta",
+ "status.waitingForApproval": "In attesa di approvazione",
+ "status.imported": "Importata",
+ "errors.prErrorPermissions": "Impossibile creare una nuova richiesta pull a causa di autorizzazioni insufficienti. Contattare l'amministratore.",
+ "errors.catalogInfoExists": "Poiché catalog-info.yaml esiste già nel repository, non verrà creata alcuna nuova richiesta pull. Tuttavia, l'entità sarà comunque registrata nella pagina del catalogo.",
+ "errors.catalogEntityConflict": "Impossibile creare una nuova richiesta pull a causa di un conflitto tra entità del catalogo.",
+ "errors.repoEmpty": "Impossibile creare una nuova richiesta pull perché il repository è vuoto. Inviare un commit iniziale al repository.",
+ "errors.codeOwnersNotFound": "Il file CODEOWNERS non è presente nel repository. Aggiungere un file CODEOWNERS per creare una nuova richiesta pull.",
+ "errors.errorOccurred": "Si è verificato un errore",
+ "errors.failedToCreatePullRequest": "Impossibile creare la richiesta pull",
+ "validation.componentNameInvalid": "\"{{value}}\" non è valido; è prevista una stringa composta da sequenze di [a-zA-Z0-9] separate da uno qualsiasi tra i simboli [-_.], per un massimo di 63 caratteri in totale. Per saperne di più sul formato del file catalogo, visitare: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md",
+ "validation.componentNameRequired": "Il nome del componente è obbligatorio",
+ "validation.entityOwnerRequired": "Il proprietario dell'entità è obbligatorio",
+ "validation.titleRequired": "Il titolo {{approvalTool}} è obbligatorio",
+ "validation.descriptionRequired": "La descrizione {{approvalTool}} è obbligatoria",
+ "validation.keyValuePairFormat": "Ogni voce deve avere una chiave e un valore separati da due punti.",
+ "table.headers.name": "Nome",
+ "table.headers.url": "URL",
+ "table.headers.repoUrl": "URL del repository",
+ "table.headers.organization": "Organizzazione",
+ "table.headers.organizationGroup": "Organizzazione/gruppo",
+ "table.headers.group": "Gruppo",
+ "table.headers.status": "Stato",
+ "table.headers.lastUpdated": "Ultimo aggiornamento",
+ "table.headers.actions": "Azioni",
+ "table.headers.catalogInfoYaml": "catalogo-info.yaml",
+ "table.pagination.rows5": "5 righe",
+ "table.pagination.rows10": "10 righe",
+ "table.pagination.rows20": "20 righe",
+ "table.pagination.rows50": "50 righe",
+ "table.pagination.rows100": "100 righe",
+ "steps.chooseApprovalTool": "Scegliere lo strumento di approvazione (GitHub/GitLab) per la creazione di richieste pull",
+ "steps.chooseRepositories": "Scegliere i repository da aggiungere",
+ "steps.chooseItems": "Scegliere quali elementi importare",
+ "steps.generateCatalogInfo": "Generare un file catalog-info.yaml per ogni repository",
+ "steps.generateCatalogInfoItems": "Generare un file catalog-info.yaml per ogni elemento selezionato",
+ "steps.editPullRequest": "Modificare i dettagli della richiesta pull se necessario",
+ "steps.trackStatus": "Tenere traccia dello stato di approvazione",
+ "addRepositories.approvalTool.title": "Strumento di approvazione",
+ "addRepositories.approvalTool.description": "Scegliere lo strumento di approvazione per la creazione di richiesta pull",
+ "addRepositories.approvalTool.tooltip": "L'importazione richiede l'approvazione. Dopo l'approvazione della richiesta di pull/merge, i repository/progetti vengono importati nella pagina Catalogo.",
+ "addRepositories.approvalTool.github": "GitHub",
+ "addRepositories.approvalTool.gitlab": "GitLab",
+ "addRepositories.repositoryType.title": "Tipo di repository",
+ "addRepositories.repositoryType.repository": "Repository",
+ "addRepositories.repositoryType.organization": "Organizzazione",
+ "addRepositories.repositoryType.project": "Progetto",
+ "addRepositories.repositoryType.group": "Gruppo",
+ "addRepositories.searchPlaceholder": "Ricerca",
+ "addRepositories.clearSearch": "cancella ricerca",
+ "addRepositories.noRepositoriesFound": "Nessun repository trovato",
+ "addRepositories.allRepositoriesAdded": "Tutti i repository sono stati aggiunti",
+ "addRepositories.noSelection": "Nessuno",
+ "addRepositories.selectRepositories": "Selezionare repository",
+ "addRepositories.selectedRepositories": "repository",
+ "addRepositories.selectedProjects": "progetti",
+ "addRepositories.selectedLabel": "Selezionato",
+ "addRepositories.selectedCount": "{{count}} selezionati",
+ "addRepositories.addSelected": "Aggiungi selezionati",
+ "addRepositories.generateCatalogInfo": "Genera catalog-info.yaml",
+ "addRepositories.editPullRequest": "Modifica richiesta pull",
+ "addRepositories.preview": "Anteprima",
+ "catalogInfo.status.generating": "Generazione",
+ "catalogInfo.status.notGenerated": "Non generato",
+ "common.add": "Aggiungi",
+ "common.cancel": "Cancella",
+ "common.close": "Chiudi",
+ "common.delete": "Elimina",
+ "common.edit": "Modifica",
+ "common.filter": "Filtra",
+ "common.import": "Importa",
+ "common.remove": "Rimuovi",
+ "common.save": "Salva",
+ "common.select": "Seleziona",
+ "common.update": "Aggiorna",
+ "common.view": "Visualizza",
+ "time.daysAgo": "{{count}} giorno/i fa",
+ "time.hoursAgo": "{{count}} ora/e fa",
+ "time.minutesAgo": "{{count}} minuto/i fa",
+ "time.secondsAgo": "{{count}} secondi fa",
+ "previewFile.readyToImport": "Pronto per l'importazione",
+ "previewFile.previewFile": "Anteprima del file",
+ "previewFile.previewFiles": "Anteprima dei file",
+ "previewFile.failedToCreatePR": "Impossibile creare la richiesta pull",
+ "previewFile.prCreationUnsuccessful": "La creazione delle richieste pull per alcuni repository non è riuscita. Cliccare su `Modifica` per vedere il motivo.",
+ "previewFile.failedToFetchPR": "Impossibile recuperare la richiesta pull. Di seguito è stato generato un nuovo YAML.",
+ "previewFile.invalidEntityYaml": "L'entità YAML nella richiesta pull non è valida (file vuoto o apiVersion, kind o metadata.name mancanti). Di seguito è stato generato un nuovo YAML.",
+ "previewFile.pullRequestPendingApproval": "[{{pullRequestText}}]({{pullRequestUrl}}) è in attesa di approvazione",
+ "previewFile.pullRequestText": "richiesta pull",
+ "previewFile.viewRepository": "Visualizza repository",
+ "previewFile.closeDrawer": "Chiudi il riquadro",
+ "previewFile.keyValuePlaceholder": "key1: value2; key2: value2",
+ "previewFile.useSemicolonSeparator": "Utilizzare il punto e virgola per separare {{label}}",
+ "previewFile.preview": "Anteprima",
+ "previewFile.pullRequest.title": "Richiesta pull",
+ "previewFile.pullRequest.mergeRequest": "Richiesta merge",
+ "previewFile.pullRequest.serviceNowTicket": "Ticket ServiceNow",
+ "previewFile.pullRequest.details": "Dettagli {{tool}}",
+ "previewFile.pullRequest.titleLabel": "Titolo {{tool}}",
+ "previewFile.pullRequest.bodyLabel": "Corpo {{tool}}",
+ "previewFile.pullRequest.titlePlaceholder": "Aggiungere i file descrittori di entità del catalogo Backstage",
+ "previewFile.pullRequest.bodyPlaceholder": "Un testo descrittivo con supporto Markdown",
+ "previewFile.pullRequest.entityConfiguration": "Configurazione dell'entità",
+ "previewFile.pullRequest.componentNameLabel": "Nome del componente creato",
+ "previewFile.pullRequest.componentNamePlaceholder": "Nome del componente",
+ "previewFile.pullRequest.entityOwnerLabel": "Proprietario dell'entità",
+ "previewFile.pullRequest.entityOwnerPlaceholder": "gruppi e utenti",
+ "previewFile.pullRequest.entityOwnerHelper": "Selezionare un proprietario dall'elenco o inserire un riferimento a un gruppo o a un utente",
+ "previewFile.pullRequest.loadingText": "Caricamento di gruppi e utenti",
+ "previewFile.pullRequest.previewEntities": "Anteprima entità",
+ "previewFile.pullRequest.annotations": "Annotazioni",
+ "previewFile.pullRequest.labels": "Etichette",
+ "previewFile.pullRequest.spec": "Specifiche",
+ "previewFile.pullRequest.useCodeOwnersFile": "Utilizzare il file *CODEOWNERS* come Proprietario dell'entità",
+ "previewFile.pullRequest.codeOwnersWarning": "ATTENZIONE: questa operazione potrebbe non riuscire se la posizione di destinazione non contiene alcun file CODEOWNERS.",
+ "forms.footer.createServiceNowTicket": "Crea un ticket ServiceNow",
+ "forms.footer.createServiceNowTickets": "Crea ticket ServiceNow",
+ "forms.footer.createPullRequest": "Crea richiesta pull",
+ "forms.footer.createPullRequests": "Crea richieste pull",
+ "forms.footer.serviceNowTooltip": "È necessario generare i file catalog-info.yaml prima di creare un ticket ServiceNow",
+ "forms.footer.importTooltip": "Per l'importazione è necessario generare i file Catalog-info.yaml.",
+ "forms.footer.pullRequestTooltip": "È necessario generare i file catalog-info.yaml prima di creare una richiesta pull",
+ "tasks.tasksFor": "Attività per {{importJobStatusId}}",
+ "tasks.taskId": "ID attività",
+ "tasks.taskLink": "Collegamento attività",
+ "tasks.viewTask": "Visualizza attività",
+ "tasks.loading": "Caricamento...",
+ "tasks.errorFetchingData": "Errore durante il recupero dei dati",
+ "tasks.taskCancelled": "Attività annullata",
+ "tasks.taskCompleted": "Attività completata",
+ "tasks.taskFailed": "Attività non riuscita",
+ "tasks.taskOpen": "Attività aperta",
+ "tasks.taskProcessing": "Elaborazione delle attività",
+ "tasks.taskSkipped": "Attività ignorata"
+ }
+ },
+ "plugin.global-floating-action-button": {
+ "it": {
+ "fab.create.label": "Crea",
+ "fab.create.tooltip": "Crea entità",
+ "fab.docs.label": "Documenti",
+ "fab.docs.tooltip": "Documentazione",
+ "fab.apis.label": "API",
+ "fab.apis.tooltip": "Documentazione API",
+ "fab.github.label": "GitHub",
+ "fab.github.tooltip": "Repository GitHub",
+ "fab.bulkImport.label": "Importazione in blocco",
+ "fab.bulkImport.tooltip": "Registra più repository in blocco",
+ "fab.quay.label": "Quay",
+ "fab.quay.tooltip": "Registro dei container di Quay",
+ "fab.menu.tooltip": "Menu"
+ }
+ },
+ "plugin.global-header": {
+ "it": {
+ "help.tooltip": "Guida",
+ "help.noSupportLinks": "Nessun link di supporto",
+ "help.noSupportLinksSubtitle": "L'amministratore deve impostare i link di supporto.",
+ "help.quickStart": "Avvio rapido",
+ "help.supportTitle": "Supporto",
+ "profile.picture": "Immagine del profilo",
+ "profile.settings": "Impostazioni",
+ "profile.myProfile": "Il mio profilo",
+ "profile.signOut": "Disconnetti",
+ "search.placeholder": "Cerca...",
+ "search.noResults": "Nessun risultato trovato",
+ "search.errorFetching": "Errore durante il recupero dei risultati",
+ "applicationLauncher.tooltip": "Avvio applicazione",
+ "applicationLauncher.noLinksTitle": "Nessun collegamento all'applicazione configurato",
+ "applicationLauncher.noLinksSubtitle": "Configurare i collegamenti all'applicazione nella configurazione del plugin dinamico per accedere rapidamente da qui.",
+ "applicationLauncher.developerHub": "Developer Hub",
+ "applicationLauncher.rhdhLocal": "RHDH Local",
+ "applicationLauncher.sections.documentation": "Documentazione",
+ "applicationLauncher.sections.developerTools": "Strumenti per sviluppatori",
+ "starred.title": "I tuoi articoli contrassegnati",
+ "starred.removeTooltip": "Rimuovi dall'elenco",
+ "starred.noItemsTitle": "Non è stato ancora contrassegnato alcun articolo",
+ "starred.noItemsSubtitle": "Fare clic sull'icona a forma di stella accanto al nome di un'entità per salvarla qui e accedervi rapidamente.",
+ "notifications.title": "Notifiche",
+ "notifications.unsupportedDismissOption": "Opzione di esclusione non supportata \"{{option}}\"; attualmente sono supportate le opzioni \"none\", \"session\" o \"localstorage\"!",
+ "create.title": "Self-service",
+ "create.registerComponent.title": "Registrare un componente",
+ "create.registerComponent.subtitle": "Importare il componente nella pagina del catalogo",
+ "create.templates.sectionTitle": "Utilizzare un modello",
+ "create.templates.allTemplates": "Tutti i modelli",
+ "create.templates.errorFetching": "Errore durante il recupero dei modelli",
+ "create.templates.noTemplatesAvailable": "Nessun modello disponibile"
+ }
+ },
+ "plugin.dynamic-home-page": {
+ "it": {
+ "header.welcome": "Bentornato/a!",
+ "header.welcomePersonalized": "Bentornato/a, {{name}}!",
+ "header.local": "Locale",
+ "homePage.empty": "Nessuna scheda home page (punto di montaggio) configurata o trovata.",
+ "search.placeholder": "Ricerca",
+ "quickAccess.title": "Accesso rapido",
+ "quickAccess.fetchError": "Impossibile recuperare i dati.",
+ "quickAccess.error": "Errore sconosciuto",
+ "featuredDocs.learnMore": " Per saperne di più",
+ "templates.title": "Esplora i modelli",
+ "templates.fetchError": "Impossibile recuperare i dati.",
+ "templates.error": "Errore sconosciuto",
+ "templates.empty": "Non è stato ancora aggiunto alcun modello",
+ "templates.emptyDescription": "Una volta aggiunti i modelli, in quest'area verranno visualizzati contenuti pertinenti e personalizzati in base all'esperienza dell'utente.",
+ "templates.register": "Registra un modello",
+ "templates.viewAll": "Visualizza tutti i {{count}} modelli",
+ "onboarding.greeting.goodMorning": "Buon giorno",
+ "onboarding.greeting.goodAfternoon": "Buon pomeriggio",
+ "onboarding.greeting.goodEvening": "Buona sera",
+ "onboarding.guest": "Ospite",
+ "onboarding.getStarted.title": "Inizia",
+ "onboarding.getStarted.description": "Scopri di più su Red Hat Developer Hub.",
+ "onboarding.getStarted.buttonText": "Leggi la documentazione",
+ "onboarding.getStarted.ariaLabel": "Leggi la documentazione (si apre in una nuova scheda)",
+ "onboarding.explore.title": "Esplora",
+ "onboarding.explore.description": "Esplora componenti, API e modelli.",
+ "onboarding.explore.buttonText": "Vai al Catalogo",
+ "onboarding.explore.ariaLabel": "Vai al Catalogo",
+ "onboarding.learn.title": "Apprendi",
+ "onboarding.learn.description": "Esplora e sviluppa nuove competenze.",
+ "onboarding.learn.buttonText": "Vai ai Percorsi di apprendimento",
+ "onboarding.learn.ariaLabel": "Vai ai Percorsi di apprendimento",
+ "entities.title": "Esplora il Catalogo software",
+ "entities.fetchError": "Impossibile recuperare i dati.",
+ "entities.error": "Errore sconosciuto",
+ "entities.description": "Esplora i sistemi, i componenti, le risorse e le API disponibili nella tua organizzazione.",
+ "entities.close": "chiudi",
+ "entities.empty": "Non è stato ancora aggiunto alcun catalogo software",
+ "entities.emptyDescription": "Una volta aggiunti i cataloghi software, in quest'area verranno visualizzati contenuti pertinenti e personalizzati in base all'esperienza dell'utente.",
+ "entities.register": "Registrare un componente",
+ "entities.viewAll": "Visualizza tutte le {{count}} entità del catalogo"
+ }
+ },
+ "plugin.lightspeed": {
+ "it": {
+ "page.title": "Lightspeed",
+ "page.subtitle": "Assistente allo sviluppo basato sull'intelligenza artificiale",
+ "prompts.codeReadability.title": "Ottenere aiuto sulla leggibilità del codice",
+ "prompts.codeReadability.message": "Puoi suggerirmi delle tecniche da utilizzare per rendere il mio codice più leggibile e gestibile?",
+ "prompts.debugging.title": "Ottenere aiuto con il debug",
+ "prompts.debugging.message": "La mia applicazione genera un errore quando tenta di connettersi al database. Puoi aiutarmi a identificare il problema?",
+ "prompts.developmentConcept.title": "Spiegare un concetto di sviluppo",
+ "prompts.developmentConcept.message": "Puoi spiegarmi come funziona l'architettura dei microservizi e quali vantaggi ha rispetto alla progettazione monolitica?",
+ "prompts.codeOptimization.title": "Suggerimenti per ottimizzare il codice",
+ "prompts.codeOptimization.message": "Puoi suggerirmi metodi comuni per ottimizzare il codice e ottenere prestazioni migliori?",
+ "prompts.documentation.title": "Riepilogo della documentazione",
+ "prompts.documentation.message": "Puoi riassumere la documentazione per implementare l'autenticazione OAuth 2.0 in un'app web?",
+ "prompts.gitWorkflows.title": "Flussi di lavoro con Git",
+ "prompts.gitWorkflows.message": "Voglio apportare modifiche al codice su un'altra diramazione, senza perdere il lavoro svolto in precedenza. Qual è la procedura per farlo utilizzando Git?",
+ "prompts.testingStrategies.title": "Suggerimenti su strategie di test",
+ "prompts.testingStrategies.message": "Puoi consigliarmi alcune strategie di test comuni in grado di rendere la mia applicazione efficiente e priva di errori?",
+ "prompts.sortingAlgorithms.title": "Svelare gli algoritmi di ordinamento",
+ "prompts.sortingAlgorithms.message": "Puoi spiegarmi la differenza tra un algoritmo quicksort e un algoritmo merge sort e quando utilizzare ognuno di essi?",
+ "prompts.eventDriven.title": "Comprendere l'architettura guidata dagli eventi",
+ "prompts.eventDriven.message": "Puoi spiegarmi cos'è l'architettura guidata dagli eventi e quando è utile utilizzarla nello sviluppo software?",
+ "prompts.tekton.title": "Deployment con Tekton",
+ "prompts.tekton.message": "Puoi aiutarmi ad automatizzare il deployment della mia applicazione utilizzando le pipeline Tekton?",
+ "prompts.openshift.title": "Creare un deployment in OpenShift",
+ "prompts.openshift.message": "Puoi guidarmi nella creazione di un nuovo deployment in OpenShift per un'applicazione containerizzata?",
+ "prompts.rhdh.title": "Introduzione a Red Hat Developer Hub",
+ "prompts.rhdh.message": "Puoi guidarmi nelle prime fasi per iniziare a utilizzare Developer Hub come sviluppatore, ad esempio esplorando il catalogo software e aggiungendo il mio servizio?",
+ "conversation.delete.confirm.title": "Eliminare la chat?",
+ "conversation.delete.confirm.message": "Questa chat non sarà più visibile qui. Dalla tua attività Lightspeed verranno eliminate anche le attività correlate, come prompt, risposte e feedback.",
+ "conversation.delete.confirm.action": "Elimina",
+ "conversation.rename.confirm.title": "Rinominare la chat?",
+ "conversation.rename.confirm.action": "Rinomina",
+ "conversation.rename.placeholder": "Nome della chat",
+ "conversation.action.error": "Si è verificato un errore: {{error}}",
+ "permission.required.title": "Autorizzazioni mancanti",
+ "permission.required.description": "Per visualizzare il plugin Lightspeed, contattare l'amministratore per ottenere le autorizzazioni lightspeed.chat.read e lightspeed.chat.create.",
+ "disclaimer.withValidation": "Questa funzione utilizza una tecnologia AI. Non includere nei dati immessi informazioni personali o altre informazioni sensibili. Le interazioni possono essere utilizzate per migliorare i prodotti o i servizi Red Hat.",
+ "disclaimer.withoutValidation": "Questa funzione utilizza una tecnologia AI. Non includere nei dati immessi informazioni personali o altre informazioni sensibili. Le interazioni possono essere utilizzate per migliorare i prodotti o i servizi Red Hat.",
+ "footer.accuracy.label": "Esaminare sempre i contenuti generati dall'intelligenza artificiale prima di utilizzarli.",
+ "footer.accuracy.popover.title": "Verificare l'accuratezza",
+ "footer.accuracy.popover.description": "Nonostante l'impegno di Developer Lightspeed a garantire la massima precisione, esiste sempre un margine di errore. È buona norma verificare le informazioni critiche confrontandole con fonti affidabili, soprattutto se sono essenziali per prendere decisioni o intraprendere azioni.",
+ "footer.accuracy.popover.image.alt": "Immagine di esempio per il popover del piè di pagina",
+ "footer.accuracy.popover.cta.label": "Ho capito",
+ "footer.accuracy.popover.link.label": "Per saperne di più",
+ "common.cancel": "Cancella",
+ "common.close": "Chiudi",
+ "common.readMore": "Per saperne di più",
+ "common.noSearchResults": "Nessun risultato corrisponde alla ricerca",
+ "menu.newConversation": "Nuova chat",
+ "chatbox.header.title": "Sviluppatore Lightspeed",
+ "chatbox.search.placeholder": "Ricerca",
+ "chatbox.provider.other": "Altro",
+ "chatbox.emptyState.noPinnedChats": "Nessuna chat bloccata",
+ "chatbox.emptyState.noRecentChats": "Nessuna chat recente",
+ "chatbox.emptyState.noResults.title": "Nessun risultato trovato",
+ "chatbox.emptyState.noResults.body": "Modificare la query di ricerca e riprovare. Controllare l'ortografia o provare un termine più generico.",
+ "chatbox.welcome.greeting": "Ciao {{userName}},",
+ "chatbox.welcome.description": "come posso aiutarti oggi?",
+ "chatbox.message.placeholder": "Invia un messaggio e, facoltativamente, carica un file JSON, YAML o TXT...",
+ "chatbox.fileUpload.failed": "Caricamento del file non riuscito",
+ "chatbox.fileUpload.infoText": "I tipi di file supportati sono: .txt, .yaml e .json. La dimensione massima del file è 25 MB.",
+ "aria.chatbotSelector": "Selettore di chatbot",
+ "aria.important": "Importante",
+ "aria.chatHistoryMenu": "Menu cronologia chat",
+ "aria.closeDrawerPanel": "Chiudi riquadro",
+ "aria.search.placeholder": "Ricerca",
+ "aria.searchPreviousConversations": "Cerca conversazioni precedenti",
+ "aria.resize": "Ridimensiona",
+ "aria.options.label": "Opzioni",
+ "aria.scroll.down": "Torna alla fine",
+ "aria.scroll.up": "Torna all'inizio",
+ "aria.settings.label": "Opzioni chatbot",
+ "modal.edit": "Modifica",
+ "modal.save": "Salva",
+ "modal.close": "Chiudi",
+ "modal.cancel": "Cancella",
+ "conversation.delete": "Elimina",
+ "conversation.rename": "Rinomina",
+ "conversation.addToPinnedChats": "Blocca",
+ "conversation.removeFromPinnedChats": "Sblocca",
+ "conversation.announcement.userMessage": "Messaggio dall'utente: {{prompt}}. Caricamento in corso del messaggio del bot.",
+ "user.guest": "Ospite",
+ "user.loading": "...",
+ "tooltip.attach": "Allega",
+ "tooltip.send": "Invia",
+ "tooltip.microphone.active": "Non ascoltare più",
+ "tooltip.microphone.inactive": "Usa il microfono",
+ "button.newChat": "Nuova chat",
+ "tooltip.chatHistoryMenu": "Menu cronologia chat",
+ "tooltip.responseRecorded": "Risposta registrata",
+ "tooltip.backToTop": "Torna all'inizio",
+ "tooltip.backToBottom": "Torna alla fine",
+ "tooltip.settings": "Opzioni chatbot",
+ "modal.title.preview": "Anteprima allegato",
+ "modal.title.edit": "Modifica allegato",
+ "icon.lightspeed.alt": "icona di lightspeed",
+ "icon.permissionRequired.alt": "icona di autorizzazione richiesta",
+ "message.options.label": "Opzioni",
+ "file.upload.error.alreadyExists": "Il file esiste già.",
+ "file.upload.error.multipleFiles": "È stato caricato più di un file.",
+ "file.upload.error.unsupportedType": "Tipo di file non supportato. I tipi supportati sono: .txt, .yaml e .json.",
+ "file.upload.error.fileTooLarge": "Dimensione del file troppo grande. Verificare che il file sia inferiore a 25 MB.",
+ "file.upload.error.readFailed": "Impossibile leggere il file: {{errorMessage}}",
+ "error.context.fileAttachment": "useFileAttachmentContext deve essere all'interno di un FileAttachmentContextProvider",
+ "feedback.form.title": "Perché hai scelto questa valutazione?",
+ "feedback.form.textAreaPlaceholder": "Fornire commenti aggiuntivi facoltativi",
+ "feedback.form.submitWord": "Invia",
+ "feedback.tooltips.goodResponse": "Risposta valida",
+ "feedback.tooltips.badResponse": "Risposta non valida",
+ "feedback.tooltips.copied": "Copiato",
+ "feedback.tooltips.copy": "Copia",
+ "feedback.tooltips.listening": "In ascolto",
+ "feedback.tooltips.listen": "Ascoltare",
+ "feedback.quickResponses.positive.helpful": "Informazioni utili",
+ "feedback.quickResponses.positive.easyToUnderstand": "Facile da capire",
+ "feedback.quickResponses.positive.resolvedIssue": "Ha risolto il mio problema",
+ "feedback.quickResponses.negative.didntAnswer": "Non ha risposto alla mia domanda",
+ "feedback.quickResponses.negative.hardToUnderstand": "Difficile da capire",
+ "feedback.quickResponses.negative.notHelpful": "Non utile",
+ "feedback.completion.title": "Feedback inviato",
+ "feedback.completion.body": "Abbiamo ricevuto la tua risposta. Grazie per aver condiviso i tuoi commenti!",
+ "conversation.category.pinnedChats": "Bloccata",
+ "conversation.category.recent": "Recente",
+ "settings.pinned.enable": "Abilita le chat bloccate",
+ "settings.pinned.disable": "Disattiva le chat bloccate",
+ "settings.pinned.enabled.description": "Le chat bloccate sono attualmente abilitate",
+ "settings.pinned.disabled.description": "Le chat bloccate sono attualmente disabilitate"
+ }
+ },
+ "plugin.marketplace": {
+ "it": {
+ "header.title": "Estensioni",
+ "header.extensions": "Estensioni",
+ "header.catalog": "Catalogo",
+ "header.installedPackages": "Pacchetti installati",
+ "header.installedPackagesWithCount": "Pacchetti installati ({{count}})",
+ "header.pluginsPage": "Plugin",
+ "header.packagesPage": "Pacchetti",
+ "header.collectionsPage": "Raccolte",
+ "button.install": "Installa",
+ "button.uninstall": "Disinstalla",
+ "button.enable": "Abilita",
+ "button.disable": "Disabilita",
+ "button.update": "Aggiorna",
+ "button.save": "Salva",
+ "button.close": "Chiudi",
+ "button.viewAll": "Visualizza tutti i plugin",
+ "button.viewDocumentation": "Visualizza la documentazione",
+ "button.viewInstalledPlugins": "Visualizza i plugin installati ({{count}})",
+ "button.restart": "È necessario riavviare",
+ "status.notInstalled": "Non installato",
+ "status.installed": "Installato",
+ "status.disabled": "Disabilitato",
+ "status.partiallyInstalled": "Parzialmente installato",
+ "status.updateAvailable": "Aggiornamento disponibile",
+ "role.backend": "Backend",
+ "role.backendModule": "Modulo backend",
+ "role.frontend": "Frontend",
+ "emptyState.noPluginsFound": "Nessun plugin trovato",
+ "emptyState.mustEnableBackend": "È necessario abilitare il plugin backend Estensioni",
+ "emptyState.noPluginsDescription": "Si è verificato un errore durante il caricamento dei plugin. Per risolvere il problema, controllare la configurazione o consultare la documentazione del plugin. È anche possibile verificare gli altri plugin disponibili.",
+ "emptyState.configureBackend": "Configurare il plugin '@red-hat-developer-hub/backstage-plugin-marketplace-backend'.",
+ "alert.productionDisabled": "L'installazione del plugin è disabilitata nell'ambiente di produzione.",
+ "alert.installationDisabled": "L'installazione del plugin è disabilitata.",
+ "alert.missingDynamicArtifact": "Impossibile gestire questo pacchetto. Per abilitare le azioni, è necessario aggiungere un'entità Catalogo con lo **spec.dynamicArtifact** richiesto.",
+ "alert.missingDynamicArtifactTitle": "Impossibile modificare il pacchetto",
+ "alert.missingDynamicArtifactForPlugin": "Impossibile gestire questo plugin. Per abilitare le azioni, è necessario aggiungere un'entità Catalogo con lo **spec.dynamicArtifact** richiesto a tutti i pacchetti associati.",
+ "alert.missingDynamicArtifactTitlePlugin": "Impossibile modificare il plugin",
+ "alert.extensionsExample": "Per abilitarla, aggiungere o modificare la configurazione delle estensioni nel file di configurazione dynamic-plugins.",
+ "alert.singlePluginRestart": "Il plugin **{{pluginName}}** richiede il riavvio del sistema backend per completare l'installazione, l'aggiornamento, l'abilitazione o la disabilitazione.",
+ "alert.multiplePluginRestart": "Sono presenti **{{count}}** plugin che richiedono il riavvio del sistema backend per completare l'installazione, l'aggiornamento, l'abilitazione o la disabilitazione.",
+ "alert.singlePackageRestart": "Il pacchetto **{{packageName}}** richiede il riavvio del sistema backend per completare l'installazione, l'aggiornamento, l'abilitazione o la disabilitazione.",
+ "alert.multiplePackageRestart": "Sono presenti **{{count}}** pacchetti che richiedono il riavvio del sistema backend per completare l'installazione, l'aggiornamento, l'abilitazione o la disabilitazione.",
+ "alert.restartRequired": "{{count}} plugin installati",
+ "alert.backendRestartRequired": "È necessario riavviare il backend",
+ "alert.viewPlugins": "Visualizza i plugin",
+ "alert.viewPackages": "Visualizza i pacchetti",
+ "search.placeholder": "Ricerca",
+ "search.clear": "Cancella ricerca",
+ "search.filter": "Filtra",
+ "search.clearFilter": "Cancella filtro",
+ "search.category": "Categoria",
+ "search.author": "Autore",
+ "search.supportType": "Tipo di supporto",
+ "search.noResults": "Nessun plugin corrisponde ai criteri di ricerca",
+ "search.filterBy": "Filtra per",
+ "search.clearFilters": "Cancella filtri",
+ "search.noResultsFound": "Nessun risultato trovato. Regolare i filtri e riprovare.",
+ "common.links": "Collegamenti",
+ "common.by": " di ",
+ "common.comma": ", ",
+ "common.noDescriptionAvailable": "nessuna descrizione disponibile",
+ "common.readMore": "Per saperne di più",
+ "common.close": "Chiudi",
+ "common.apply": "Applica",
+ "common.couldNotApplyYaml": "Impossibile applicare YAML: {{error}}",
+ "dialog.backendRestartRequired": "È necessario riavviare il backend",
+ "dialog.packageRestartMessage": "Per completare le modifiche al pacchetto, riavviare il sistema backend.",
+ "dialog.pluginRestartMessage": "Per completare le modifiche al plugin, riavviare il sistema backend.",
+ "plugin.description": "Descrizione",
+ "plugin.documentation": "Documentazione",
+ "plugin.repository": "Repository",
+ "plugin.license": "Licenza",
+ "plugin.version": "Versione",
+ "plugin.author": "Autore",
+ "plugin.authors": "Autori",
+ "plugin.tags": "Tag",
+ "plugin.dependencies": "Dipendenze",
+ "plugin.configuration": "Configurazione",
+ "plugin.installation": "Installazione",
+ "package.name": "Nome pacchetto:",
+ "package.version": "Versione:",
+ "package.dynamicPluginPath": "Percorso plugin dinamico:",
+ "package.backstageRole": "Ruolo Backstage:",
+ "package.supportedVersions": "Versioni supportate:",
+ "package.author": "Autore:",
+ "package.support": "Supporto:",
+ "package.lifecycle": "Ciclo di vita:",
+ "package.highlights": "In evidenza",
+ "package.about": "Informazioni",
+ "package.notFound": "Pacchetto {{namespace}}/{{name}} non trovato.",
+ "package.notAvailable": "Il pacchetto {{name}} non è disponibile",
+ "package.ensureCatalogEntity": "Verificare l'esistenza di un'entità catalogo per questo pacchetto.",
+ "table.packageName": "Nome pacchetto",
+ "table.version": "Versione",
+ "table.role": "Ruolo",
+ "table.supportedVersion": "Versione supportata",
+ "table.status": "Stato",
+ "table.name": "Nome",
+ "table.action": "Azione",
+ "table.description": "Descrizione",
+ "table.versions": "Versioni",
+ "table.plugins": "Plugin",
+ "table.packages": "Pacchetti",
+ "table.pluginsCount": "Plugin ({{count}})",
+ "table.packagesCount": "Pacchetti ({{count}})",
+ "table.pluginsTable": "Tabella dei plugin",
+ "installedPackages.table.title": "Pacchetti installati ({{count}})",
+ "installedPackages.table.searchPlaceholder": "Ricerca",
+ "installedPackages.table.columns.name": "Nome",
+ "installedPackages.table.columns.packageName": "nome del pacchetto npm",
+ "installedPackages.table.columns.role": "Ruolo",
+ "installedPackages.table.columns.version": "Versione",
+ "installedPackages.table.columns.actions": "Azioni",
+ "installedPackages.table.tooltips.packageProductionDisabled": "Impossibile gestire il pacchetto nell'ambiente di produzione.",
+ "installedPackages.table.tooltips.installationDisabled": "Impossibile gestire il pacchetto perché l'installazione del plugin è disabilitata. Per abilitarla, aggiungere o modificare la configurazione delle estensioni nel file di configurazione dynamic-plugins.",
+ "installedPackages.table.tooltips.enableActions": "Per abilitare le azioni, aggiungere un'entità catalogo per questo pacchetto",
+ "installedPackages.table.tooltips.noDownloadPermissions": "L'utente non dispone dell'autorizzazione per scaricare la configurazione. Contattare l'amministratore per richiedere l'accesso o l'assistenza.",
+ "installedPackages.table.tooltips.noEditPermissions": "L'utente non dispone dell'autorizzazione per modificare la configurazione. Contattare l'amministratore per richiedere l'accesso o l'assistenza.",
+ "installedPackages.table.tooltips.noTogglePermissions": "L'utente non dispone dell'autorizzazione per abilitare o disabilitare i pacchetti. Contattare l'amministratore per richiedere l'accesso o l'assistenza.",
+ "installedPackages.table.tooltips.editPackage": "Modifica la configurazione del pacchetto",
+ "installedPackages.table.tooltips.downloadPackage": "Scarica la configurazione del pacchetto",
+ "installedPackages.table.tooltips.enablePackage": "Abilita il pacchetto",
+ "installedPackages.table.tooltips.disablePackage": "Disabilita il pacchetto",
+ "installedPackages.table.emptyMessages.noResults": "Nessun risultato trovato. Provare un termine di ricerca diverso.",
+ "installedPackages.table.emptyMessages.noRecords": "Nessun record da visualizzare",
+ "actions.install": "Installa",
+ "actions.view": "Visualizza",
+ "actions.edit": "Modifica",
+ "actions.enable": "Abilita",
+ "actions.disable": "Disabilita",
+ "actions.actions": "Azioni",
+ "actions.editConfiguration": "Modifica",
+ "actions.pluginConfigurations": "Configurazioni dei plugin",
+ "actions.packageConfiguration": "Configurazione del pacchetto",
+ "actions.pluginCurrentlyEnabled": "Plugin attualmente abilitato",
+ "actions.pluginCurrentlyDisabled": "Plugin attualmente disabilitato",
+ "actions.packageCurrentlyEnabled": "Pacchetto attualmente abilitato",
+ "actions.packageCurrentlyDisabled": "Pacchetto attualmente disabilitato",
+ "actions.installTitle": "Installare {{displayName}}",
+ "actions.editTitle": "Modificare le configurazioni di {{displayName}}",
+ "metadata.by": " di ",
+ "metadata.comma": ", ",
+ "metadata.pluginNotFound": "Plugin {{name}} non trovato.",
+ "metadata.pluginNotAvailable": "Il plugin {{name}} non è disponibile",
+ "metadata.ensureCatalogEntityPlugin": "Verificare l'esistenza di un'entità catalogo per questo plugin.",
+ "metadata.highlights": "In evidenza",
+ "metadata.about": "Informazioni",
+ "metadata.publisher": "Editore",
+ "metadata.supportProvider": "Fornitore del supporto",
+ "metadata.entryName": "Nome voce",
+ "metadata.bySomeone": "da qualcuno",
+ "metadata.category": "Categoria",
+ "metadata.versions": "Versioni",
+ "metadata.backstageCompatibility": "Versione compatibile con Backstage",
+ "supportTypes.certifiedBy": "Certificato da {{value}} ({{count}})",
+ "supportTypes.verifiedBy": "Verificato da {{value}} ({{count}})",
+ "supportTypes.customPlugins": "Plugin personalizzati ({{count}})",
+ "collection.kubernetes": "Kubernetes",
+ "collection.monitoring": "Monitoraggio",
+ "collection.security": "Sicurezza",
+ "collection.viewMore": "Visualizza altro",
+ "collection.pluginCount": "{{count}} plugin",
+ "collection.featured.title": "Plugin in evidenza",
+ "collection.featured.description": "Una raccolta selezionata di plugin in evidenza consigliati per la maggior parte degli utenti",
+ "install.title": "Installa il plugin",
+ "install.configurationRequired": "Configurazione richiesta",
+ "install.optional": "Opzionale",
+ "install.required": "Richiesta",
+ "install.selectPackages": "Selezionare i pacchetti da installare",
+ "install.allPackages": "Tutti i pacchetti",
+ "install.customConfiguration": "Configurazione personalizzata",
+ "install.installProgress": "Installazione in corso...",
+ "install.success": "Plugin installato correttamente",
+ "install.error": "Impossibile installare il plugin",
+ "install.installFrontend": "Installa il plugin frontend",
+ "install.installBackend": "Installa il plugin backend",
+ "install.installTemplates": "Installa modelli software",
+ "install.installationInstructions": "Istruzioni per l'installazione",
+ "install.download": "Scaricamento",
+ "install.examples": "Esempi",
+ "install.cancel": "Cancella",
+ "install.reset": "Reset",
+ "install.pluginTabs": "Schede dei plugin",
+ "install.settingUpPlugin": "Impostazione del plugin",
+ "install.aboutPlugin": "Informazioni sul plugin",
+ "install.pluginUpdated": "Plugin aggiornato",
+ "install.pluginInstalled": "Plugin installato",
+ "install.instructions": "Istruzioni",
+ "install.editInstructions": "Modifica le istruzioni",
+ "install.back": "Indietro",
+ "install.packageUpdated": "Pacchetto aggiornato",
+ "install.packageEnabled": "Pacchetto abilitato",
+ "install.packageDisabled": "Pacchetto disabilitato",
+ "install.pluginEnabled": "Plugin abilitato",
+ "install.pluginDisabled": "Plugin disabilitato",
+ "install.errors.missingPluginsList": "Contenuto dell'editor non valido: elenco 'plugin' mancante",
+ "install.errors.missingPackageItem": "Contenuto dell'editor non valido: elemento del pacchetto mancante",
+ "install.errors.missingPackageField": "Contenuto dell'editor non valido: campo 'pacchetto' mancante nell'elemento",
+ "install.errors.failedToSave": "Impossibile salvare",
+ "loading": "Caricamento...",
+ "error": "Si è verificato un errore",
+ "retry": "Riprovare",
+ "errors.missingConfigFile": "File di configurazione mancante",
+ "errors.missingConfigMessage": "{{message}}. Per abilitare questo strumento, è necessario aggiungerlo ad app-config.yaml. Modificare il file app-config.yaml come mostrato nell'esempio seguente:",
+ "errors.invalidConfigFile": "File di configurazione non valido",
+ "errors.invalidConfigMessage": "Impossibile caricare 'extensions.installation.saveToSingleFile.file'. {{message}}. Per abilitare questo strumento, fornire una configurazione di installazione valida. Modificare il file dynamic-plugins.yaml come mostrato nell'esempio seguente:",
+ "errors.fileNotExists": "Il file di configurazione non è corretto, non è scritto correttamente o non esiste",
+ "errors.fileNotExistsMessage": "{{message}}. Per abilitare questo strumento come evidenziato nell'esempio seguente, controllare nuovamente il nome del file specificato in app-config.yaml:",
+ "errors.unknownError": "Errore durante la lettura del file di configurazione. ",
+ "tooltips.productionDisabled": "L'installazione del plugin è disabilitata nell'ambiente di produzione.",
+ "tooltips.extensionsDisabled": "L'installazione del plugin è disabilitata. Per abilitarla, aggiungere o modificare la configurazione delle estensioni nel file di configurazione dynamic-plugins.",
+ "tooltips.noPermissions": "L'utente non dispone delle autorizzazioni necessarie per installare plugin o visualizzarne le configurazioni. Contattare l'amministratore per richiedere l'accesso o l'assistenza.",
+ "tooltips.missingDynamicArtifact": "Impossibile gestire questo {{type}}. Per abilitare le azioni, è necessario aggiungere un'entità Catalogo con lo spec.dynamicArtifact richiesto.",
+ "aria.openPlugin": "Apri il plugin {{name}}",
+ "aria.closeDialog": "Chiudi finestra di dialogo",
+ "aria.expandSection": "Espandi sezione",
+ "aria.collapseSection": "Comprimi sezione",
+ "aria.sortBy": "Ordina per {{field}}",
+ "aria.filterBy": "Filtra per {{field}}",
+ "badges.certified": "Certificato",
+ "badges.certifiedBy": "Certificato da {{provider}}",
+ "badges.verified": "Verificato",
+ "badges.verifiedBy": "Verificato da {{provider}}",
+ "badges.customPlugin": "Plugin personalizzato",
+ "badges.stableAndSecured": "Stabile e protetto da {{provider}}",
+ "badges.generallyAvailable": "Generalmente disponibile",
+ "badges.gaAndSupportedBy": "Generalmente disponibile e supportato da {{provider}}",
+ "badges.gaAndSupported": "Generalmente disponibile e supportato",
+ "badges.productionReadyBy": "Pronto per la produzione e supportato da {{provider}}",
+ "badges.productionReady": "Pronto per la produzione e supportato",
+ "badges.communityPlugin": "Plugin della community",
+ "badges.openSourceNoSupport": "Plugin open source, nessun supporto ufficiale",
+ "badges.techPreview": "Anteprima tecnica",
+ "badges.pluginInDevelopment": "Plugin ancora in fase di sviluppo",
+ "badges.devPreview": "Anteprima di sviluppo",
+ "badges.earlyStageExperimental": "Plugin sperimentale in fase iniziale",
+ "badges.addedByAdmin": "Plugin aggiunti dall'amministratore"
+ }
+ },
+ "plugin.orchestrator": {
+ "it": {
+ "page.title": "Orchestratore del flusso di lavoro",
+ "page.tabs.workflows": "Flussi di lavoro",
+ "page.tabs.allRuns": "Tutte le esecuzioni",
+ "page.tabs.workflowDetails": "Dettagli del flusso di lavoro",
+ "page.tabs.workflowRuns": "Esecuzioni del flusso di lavoro",
+ "table.title.workflows": "Flussi di lavoro",
+ "table.title.allRuns": "Tutte le esecuzioni ({{count}})",
+ "table.title.allWorkflowRuns": "Esecuzioni del flusso di lavoro ({{count}})",
+ "table.headers.name": "Nome",
+ "table.headers.runStatus": "Stato dell'esecuzione",
+ "table.headers.started": "Iniziata",
+ "table.headers.status": "Stato",
+ "table.headers.workflowStatus": "Stato del flusso di lavoro",
+ "table.headers.duration": "Durata",
+ "table.headers.description": "Descrizione",
+ "table.headers.lastRun": "Ultima esecuzione",
+ "table.headers.lastRunStatus": "Stato dell'ultima esecuzione",
+ "table.headers.workflowName": "Nome flusso di lavoro",
+ "table.actions.run": "Esecuzione",
+ "table.actions.viewRuns": "Visualizza esecuzioni",
+ "table.actions.viewInputSchema": "Visualizza schema di input",
+ "table.status.running": "In esecuzione",
+ "table.status.failed": "Non riuscito",
+ "table.status.completed": "Completato",
+ "table.status.aborted": "Interrotto",
+ "table.status.pending": "In pausa",
+ "table.status.active": "Attivo",
+ "table.filters.status": "Stato",
+ "table.filters.started": "Iniziata",
+ "table.filters.startedOptions.today": "Oggi",
+ "table.filters.startedOptions.yesterday": "Ieri",
+ "table.filters.startedOptions.last7days": "Ultimi 7 giorni",
+ "table.filters.startedOptions.thisMonth": "Questo mese",
+ "workflow.details": "Dettagli",
+ "workflow.definition": "Definizione flusso di lavoro",
+ "workflow.progress": "Avanzamento flusso di lavoro",
+ "workflow.status.available": "Disponibile",
+ "workflow.status.unavailable": "Non disponibile",
+ "workflow.fields.workflow": "Flusso di lavoro",
+ "workflow.fields.workflowStatus": "Stato del flusso di lavoro",
+ "workflow.fields.runStatus": "Stato dell'esecuzione",
+ "workflow.fields.duration": "Durata",
+ "workflow.fields.description": "Descrizione",
+ "workflow.fields.started": "Iniziata",
+ "workflow.fields.workflowId": "ID esecuzione",
+ "workflow.fields.workflowIdCopied": "ID esecuzione copiato negli appunti",
+ "workflow.errors.retriggerFailed": "Riattivazione non riuscita: {{reason}}",
+ "workflow.errors.abortFailed": "Interruzione non riuscita: l'esecuzione è già stata completata.",
+ "workflow.errors.abortFailedWithReason": "Interruzione non riuscita: {{reason}}",
+ "workflow.errors.failedToLoadDetails": "Impossibile caricare i dettagli dell'ID del flusso di lavoro: {{id}}",
+ "workflow.messages.areYouSureYouWantToRunThisWorkflow": "Eseguire questo flusso di lavoro?",
+ "workflow.messages.userNotAuthorizedExecute": "Utente non autorizzato a eseguire il flusso di lavoro.",
+ "workflow.messages.workflowDown": "Al momento lo stato del flusso di lavoro è inattivo o in errore. L'esecuzione potrebbe non riuscire o produrre risultati imprevisti.",
+ "workflow.buttons.run": "Esecuzione",
+ "workflow.buttons.runWorkflow": "Esegui flusso di lavoro",
+ "workflow.buttons.runAgain": "Esegui di nuovo",
+ "workflow.buttons.running": "Esecuzione in corso...",
+ "workflow.buttons.fromFailurePoint": "Dal punto di errore",
+ "workflow.buttons.runFailedAgain": "Esecuzione non riuscita di nuovo",
+ "run.title": "Esegui flusso di lavoro",
+ "run.pageTitle": "Esecuzione di {{processName}}",
+ "run.variables": "Esegui variabili",
+ "run.inputs": "Input",
+ "run.results": "Risultati",
+ "run.abort.title": "Interrompere l'esecuzione del flusso di lavoro?",
+ "run.abort.button": "Interrompi",
+ "run.abort.warning": "L'interruzione arresta immediatamente tutti i passaggi in corso e in sospeso. Tutti i lavori in corso andranno persi.",
+ "run.abort.completed.title": "Esecuzione completata",
+ "run.abort.completed.message": "Non è possibile interrompere l'esecuzione poiché è già stata completata.",
+ "run.status.completed": "Esecuzione completata",
+ "run.status.failed": "Esecuzione non riuscita {{time}}",
+ "run.status.aborted": "Esecuzione interrotta",
+ "run.status.completedWithMessage": "Esecuzione completata {{time}} con messaggio",
+ "run.status.failedAt": "Esecuzione non riuscita {{time}}",
+ "run.status.completedAt": "Esecuzione completata {{time}}",
+ "run.status.running": "Flusso di lavoro in esecuzione. Avviato alle {{time}}",
+ "run.status.runningWaitingAtNode": "Flusso di lavoro in esecuzione: in attesa sul nodo {{node}} dalle {{formattedTime}}",
+ "run.status.workflowIsRunning": "Flusso di lavoro in esecuzione. Avviato alle {{time}}",
+ "run.status.noAdditionalInfo": "Il flusso di lavoro non ha fornito ulteriori informazioni sullo stato.",
+ "run.status.resultsWillBeDisplayedHereOnceTheRunIsComplete": "I risultati verranno visualizzati qui una volta completata l'esecuzione.",
+ "run.retrigger": "Riattiva",
+ "run.viewVariables": "Visualizza variabili",
+ "run.suggestedNextWorkflow": "Flusso di lavoro successivo suggerito",
+ "run.suggestedNextWorkflows": "Flussi di lavoro successivi suggeriti",
+ "tooltips.completed": "Completato",
+ "tooltips.active": "Attivo",
+ "tooltips.aborted": "Interrotto",
+ "tooltips.suspended": "Sospeso",
+ "tooltips.pending": "In pausa",
+ "tooltips.workflowDown": "Al momento il flusso di lavoro è inattivo o in errore",
+ "tooltips.userNotAuthorizedAbort": "utente non autorizzato a interrompere il flusso di lavoro",
+ "tooltips.userNotAuthorizedExecute": "utente non autorizzato a eseguire il flusso di lavoro",
+ "messages.noDataAvailable": "Nessun dato disponibile",
+ "messages.noVariablesFound": "Nessuna variabile trovata per questa esecuzione.",
+ "messages.noInputSchemaWorkflow": "Nessuno schema di input definito per questo flusso di lavoro.",
+ "messages.workflowInstanceNoInputs": "L'istanza del flusso di lavoro non ha input",
+ "messages.missingJsonSchema.title": "Schema JSON mancante per il modulo di input",
+ "messages.missingJsonSchema.message": "Nessuno schema JSON definito per la convalida dell'input di questo flusso di lavoro. È comunque possibile eseguire il flusso di lavoro, ma la convalida degli input sarà limitata.",
+ "messages.additionalDetailsAboutThisErrorAreNotAvailable": "Non sono disponibili ulteriori dettagli su questo errore",
+ "common.close": "Chiudi",
+ "common.cancel": "Cancella",
+ "common.execute": "Esegui",
+ "common.details": "Dettagli",
+ "common.links": "Collegamenti",
+ "common.values": "Valori",
+ "common.back": "Indietro",
+ "common.run": "Esecuzione",
+ "common.next": "Successivo",
+ "common.review": "Revisione",
+ "common.unavailable": "---",
+ "stepperObjectField.error": "Il campo dell'oggetto Stepper non è supportato per lo schema che non contiene proprietà",
+ "formDecorator.error": "Il decorator del modulo deve fornire dati di contesto.",
+ "aria.close": "chiudi"
+ }
+ },
+ "plugin.quickstart": {
+ "it": {
+ "header.title": "Muoviamo insieme i primi passi con Developer Hub",
+ "header.subtitle": "Ti guideremo attraverso alcuni rapidi passaggi",
+ "steps.setupAuthentication.title": "Impostazione dell'autenticazione",
+ "steps.setupAuthentication.description": "Impostazione di credenziali di accesso sicure per proteggere l'account da accessi non autorizzati.",
+ "steps.setupAuthentication.ctaTitle": "Per saperne di più",
+ "steps.configureRbac.title": "Configurazione di RBAC",
+ "steps.configureRbac.description": "Assegnare ruoli e autorizzazioni per controllare chi può visualizzare, creare o modificare le risorse, per garantire una collaborazione sicura ed efficiente.",
+ "steps.configureRbac.ctaTitle": "Gestisci l'accesso",
+ "steps.configureGit.title": "Configurazione di Git",
+ "steps.configureGit.description": "Collegare i provider Git, come GitHub, per gestire il codice, automatizzare i flussi di lavoro e integrare le funzionalità della piattaforma.",
+ "steps.configureGit.ctaTitle": "Per saperne di più",
+ "steps.managePlugins.title": "Gestione dei plugin",
+ "steps.managePlugins.description": "Sfogliare e installare le estensioni per aggiungere funzionalità, connettersi a strumenti esterni e personalizzare l'esperienza utente.",
+ "steps.managePlugins.ctaTitle": "Esplora i plugin",
+ "steps.importApplication.title": "Importare l'applicazione",
+ "steps.importApplication.description": "Importare il codice e i servizi esistenti nel catalogo per organizzarli e accedervi tramite il portale per sviluppatori.",
+ "steps.importApplication.ctaTitle": "Importa",
+ "steps.learnAboutCatalog.title": "Analisi del catalogo",
+ "steps.learnAboutCatalog.description": "Scoprire tutti i componenti software, i servizi e le API e visualizzarne proprietari e documentazione.",
+ "steps.learnAboutCatalog.ctaTitle": "Visualizza catalogo",
+ "steps.exploreSelfServiceTemplates.title": "Esplorare i modelli self-service",
+ "steps.exploreSelfServiceTemplates.description": "Utilizzare i nostri modelli self-service per configurare rapidamente nuovi progetti, servizi o documentazione.",
+ "steps.exploreSelfServiceTemplates.ctaTitle": "Esplora i modelli",
+ "steps.findAllLearningPaths.title": "Individuare tutti i percorsi di apprendimento",
+ "steps.findAllLearningPaths.description": "Integrare l'e-learning personalizzato nei flussi di lavoro con i percorsi di apprendimento per accelerare l'onboarding, colmare le lacune di competenze e promuovere le best practice.",
+ "steps.findAllLearningPaths.ctaTitle": "Visualizzare i percorsi di apprendimento",
+ "button.quickstart": "Avvio rapido",
+ "button.openQuickstartGuide": "Apri la Guida all'avvio rapido",
+ "button.closeDrawer": "Chiudi riquadro",
+ "button.gotIt": "Ho capito!",
+ "footer.progress": "{{progress}}% di avanzamento",
+ "footer.notStarted": "Non iniziato",
+ "footer.hide": "Nascondi",
+ "content.emptyState.title": "Contenuto di avvio rapido non disponibile per il ruolo utente.",
+ "item.expandAriaLabel": "Espandi i dettagli di {{title}}",
+ "item.collapseAriaLabel": "Comprimi i dettagli di {{title}}",
+ "item.expandButtonAriaLabel": "Espandi elemento",
+ "item.collapseButtonAriaLabel": "Comprimi elemento",
+ "dev.pageTitle": "Pagina di prova del plugin di avvio rapido",
+ "dev.pageDescription": "Questa è una pagina di prova per il plugin di avvio rapido. Utilizzare i pulsanti sottostanti per interagire con il riquadro di avvio rapido.",
+ "dev.drawerControls": "Comandi del riquadro",
+ "dev.currentState": "Stato attuale del riquadro: {{state}}",
+ "dev.stateOpen": "Aperto",
+ "dev.stateClosed": "Chiuso",
+ "dev.instructions": "Istruzioni",
+ "dev.step1": "1. Fare clic su \"Apri la Guida all'avvio rapido\" per aprire il riquadro",
+ "dev.step2": "2. Navigare tra i passaggi di avvio rapido",
+ "dev.step3": "3. Testare il monitoraggio dei progressi completando i passaggi",
+ "dev.step4": "4. È possibile chiudere il riquadro utilizzando il pulsante di chiusura o i comandi del riquadro stesso",
+ "dev.step5": "5. I progressi vengono salvati automaticamente su localStorage"
+ }
+ },
+ "plugin.scorecard": {
+ "it": {
+ "emptyState.title": "Non è stata ancora aggiunta alcuna scheda punteggio",
+ "emptyState.description": "Le schede punteggio aiutano a monitorare a colpo d'occhio l'integrità dei componenti. Per iniziare, consultare la documentazione per le linee guida di configurazione.",
+ "emptyState.button": "Visualizza la documentazione",
+ "emptyState.altText": "Nessuna scheda punteggio",
+ "permissionRequired.title": "Autorizzazione mancante",
+ "permissionRequired.description": "Per visualizzare il plugin Scorecard, contattare l'amministratore per richiedere l'autorizzazione {{permission}}.",
+ "permissionRequired.button": "Per saperne di più",
+ "permissionRequired.altText": "Autorizzazione richiesta",
+ "errors.entityMissingProperties": "Entità priva delle proprietà richieste per la ricerca nella scheda punteggio",
+ "errors.invalidApiResponse": "Formato di risposta non valido dall'API della scheda punteggio",
+ "errors.fetchError": "Errore durante il recupero delle schede punteggio: {{error}}",
+ "errors.metricDataUnavailable": "Dati metrici non disponibili",
+ "errors.invalidThresholds": "Soglie non valide",
+ "metric.github.open_prs.title": "Richieste pull aperte su GitHub",
+ "metric.github.open_prs.description": "Conteggio attuale delle richieste pull aperte per uno specifico repository GitHub.",
+ "metric.jira.open_issues.title": "Ticket di blocco Jira aperti",
+ "metric.jira.open_issues.description": "Evidenzia il numero di problemi critici e di blocco attualmente aperti in Jira.",
+ "thresholds.success": "Attività riuscita",
+ "thresholds.warning": "Avviso",
+ "thresholds.error": "Errore"
+ }
+ },
+ "plugin.translations-test": {
+ "it": {
+ "page.title": "Plugin di prova delle traduzioni",
+ "page.subtitle": "Plugin per testare la funzionalità delle traduzioni e le caratteristiche di i18next",
+ "essentials.key": "valore della chiave",
+ "essentials.look.deep": "valore dell'analisi approfondita",
+ "interpolation.key": "{{what}} è {{how}}",
+ "interpolation.nested.key": "{{what}} è {{how.value}}",
+ "interpolation.complex.message": "Ecco un {{link}}.",
+ "interpolation.complex.linkText": "link",
+ "formatting.intlNumber": "Alcuni {{val, number}}",
+ "formatting.intlNumberWithOptions": "Alcuni {{val, number(minimumFractionDigits: 2)}}",
+ "formatting.intlDateTime": "Il {{val, datetime}}",
+ "formatting.intlRelativeTime": "Lorem {{val, relativetime}}",
+ "formatting.intlRelativeTimeWithOptions": "Lorem {{val, relativetime(quarter)}}",
+ "formatting.intlRelativeTimeWithOptionsExplicit": "Lorem {{val, relativetime(range: quarter; style: narrow;)}}",
+ "plurals.key_zero": "zero",
+ "plurals.key_one": "uno",
+ "plurals.key_two": "due",
+ "plurals.key_few": "pochi",
+ "plurals.key_many": "molti",
+ "plurals.key_other": "altro",
+ "plurals.keyWithCount_one": "{{count}} elemento",
+ "plurals.keyWithCount_other": "{{count}} elementi",
+ "context.friend": "Un amico",
+ "context.friend_male": "Un fidanzato",
+ "context.friend_female": "Una ragazza",
+ "objects.tree.res": "aggiunto {{something}}"
+ }
+ },
+ "plugin.translations": {
+ "it": {
+ "page.title": "Traduzioni",
+ "page.subtitle": "Gestione e visualizzazione delle traduzioni caricate",
+ "table.title": "Traduzioni caricate ({{count}})",
+ "table.headers.refId": "ID di riferimento",
+ "table.headers.key": "Chiave",
+ "table.options.pageSize": "Elementi per pagina",
+ "table.options.pageSizeOptions": "Mostra {{count}} elementi",
+ "export.title": "Traduzioni",
+ "export.downloadButton": "Scarica le traduzioni predefinite (italiano)",
+ "export.filename": "translations-{{timestamp}}.json",
+ "common.loading": "Caricamento...",
+ "common.error": "Si è verificato un errore",
+ "common.noData": "Nessun dato disponibile",
+ "common.refresh": "Aggiorna",
+ "language.displayFormat": "{{displayName}} ({{code}})"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/rhdh-plugins-reference-2025-12-05-ja-C.json b/translations/rhdh-plugins-reference-2025-12-05-ja-C.json
new file mode 100644
index 0000000000..f1b50a2048
--- /dev/null
+++ b/translations/rhdh-plugins-reference-2025-12-05-ja-C.json
@@ -0,0 +1,1009 @@
+{
+ "plugin.adoption-insights": {
+ "ja": {
+ "page.title": "Adoption Insights",
+ "header.title": "Adoption Insights",
+ "header.dateRange.today": "今日",
+ "header.dateRange.lastWeek": "先週",
+ "header.dateRange.lastMonth": "先月",
+ "header.dateRange.last28Days": "過去 28 日間",
+ "header.dateRange.lastYear": "去年",
+ "header.dateRange.dateRange": "日付範囲...",
+ "header.dateRange.cancel": "キャンセル",
+ "header.dateRange.ok": "OK",
+ "header.dateRange.defaultLabel": "過去 28 日間",
+ "header.dateRange.title": "日付範囲",
+ "header.dateRange.startDate": "開始日",
+ "header.dateRange.endDate": "終了日",
+ "activeUsers.title": "アクティブユーザー",
+ "activeUsers.averagePrefix": "平均ピークアクティブユーザー数は",
+ "activeUsers.averageText": "{{period}} あたり {{count}}",
+ "activeUsers.averageSuffix": " でした (対象期間中)。",
+ "activeUsers.hour": "時間",
+ "activeUsers.day": "日",
+ "activeUsers.week": "週",
+ "activeUsers.month": "月",
+ "activeUsers.legend.newUsers": "新規ユーザー",
+ "activeUsers.legend.returningUsers": "リピートユーザー",
+ "templates.title": "上位のテンプレート",
+ "templates.topNTitle": "上位 {{count}} 件のテンプレート",
+ "templates.allTitle": "すべてのテンプレート",
+ "catalogEntities.title": "上位のカタログエンティティー",
+ "catalogEntities.topNTitle": "上位 {{count}} 件のカタログエンティティー",
+ "catalogEntities.allTitle": "すべてのカタログエンティティー",
+ "plugins.title": "上位のプラグイン",
+ "plugins.topNTitle": "上位 {{count}} 件のプラグイン",
+ "plugins.allTitle": "すべてのプラグイン",
+ "techDocs.title": "上位の TechDocs",
+ "techDocs.topNTitle": "上位 {{count}} 件の TechDocs",
+ "techDocs.allTitle": "すべての TechDocs",
+ "searches.title": "上位の検索",
+ "searches.totalCount": "{{count}} 件の検索",
+ "searches.averagePrefix": "平均検索回数は",
+ "searches.averageText": "{{period}} あたり {{count}}",
+ "searches.averageSuffix": " でした (対象期間中)。",
+ "searches.hour": "時間",
+ "searches.day": "日",
+ "searches.week": "週",
+ "searches.month": "月",
+ "users.title": "総ユーザー数",
+ "users.haveLoggedIn": "ログイン済み",
+ "users.loggedInUsers": "ログイン済みユーザー",
+ "users.licensed": "ライセンス保有",
+ "users.licensedNotLoggedIn": "ライセンス保有 (ログインなし)",
+ "users.ofTotal": "{{total}} 中",
+ "users.tooltip": "ライセンスユーザー数は app-config.yaml で設定します",
+ "table.headers.name": "名前",
+ "table.headers.kind": "種類",
+ "table.headers.lastUsed": "最終使用",
+ "table.headers.views": "表示回数",
+ "table.headers.executions": "実行回数",
+ "table.headers.trend": "トレンド",
+ "table.headers.entity": "エンティティー",
+ "table.pagination.topN": "上位 {{count}} 件",
+ "filter.all": "すべて",
+ "filter.selectKind": "種類の選択",
+ "common.noResults": "この日付範囲の結果はありません。",
+ "common.readMore": "さらに表示する",
+ "common.exportCSV": "CSV エクスポート",
+ "common.downloading": "ダウンロード中...",
+ "common.today": "今日",
+ "common.yesterday": "昨日",
+ "common.numberOfSearches": "検索数",
+ "common.filteredBy": "フィルタリング条件",
+ "common.invalidDateFormat": "無効な日付形式",
+ "common.csvFilename": "active_users",
+ "permission.title": "権限の不足",
+ "permission.description": "\"Adoption Insights\" プラグインを表示するには、管理者に連絡して adoption-insights.events.read 権限を付与してもらうよう依頼してください。"
+ }
+ },
+ "plugin.ai-experience": {
+ "ja": {
+ "page.title": "AI エクスペリエンス",
+ "page.subtitle": "AI モデル、サーバー、ニュース、学習リソースの探索",
+ "learn.getStarted.title": "スタート",
+ "learn.getStarted.description": "Red Hat Developer Hub について学習しましょう。",
+ "learn.getStarted.cta": "Tech Docs に移動",
+ "learn.explore.title": "探索",
+ "learn.explore.description": "AI モデル、サーバー、テンプレートを探索しましょう。",
+ "learn.explore.cta": "カタログに移動",
+ "learn.learn.title": "学習",
+ "learn.learn.description": "AI 分野の新しいスキルを探索して習得しましょう。",
+ "learn.learn.cta": "ラーニングパスに移動",
+ "news.pageTitle": "AI ニュース",
+ "news.fetchingRssFeed": "RSS フィードを取得しています",
+ "news.noContentAvailable": "利用可能なコンテンツがありません",
+ "news.noContentDescription": "該当する RSS フィードからコンテンツを取得できなかったようです。URL を再確認してください。プラグインの設定ファイルを更新して別のソースに切り替えることもできます。",
+ "news.noRssContent": "RSS コンテンツなし",
+ "modal.title.preview": "添付ファイルのプレビュー",
+ "modal.title.edit": "添付ファイルの編集",
+ "modal.edit": "編集",
+ "modal.save": "保存",
+ "modal.close": "閉じる",
+ "modal.cancel": "キャンセル",
+ "common.viewMore": "詳細の表示",
+ "common.guest": "ゲスト",
+ "common.template": "テンプレート",
+ "common.latest": "最新",
+ "common.more": "詳細",
+ "greeting.goodMorning": "おはようございます",
+ "greeting.goodAfternoon": "こんにちは",
+ "greeting.goodEvening": "こんばんは",
+ "sections.exploreAiModels": "AI モデルの探索",
+ "sections.exploreAiTemplates": "AI テンプレートの探索",
+ "sections.discoverModels": "組織内で利用可能な AI モデルおよびサービスを探す",
+ "sections.viewAllModels": "{{count}} 個のモデルをすべて表示する",
+ "sections.viewAllTemplates": "{{count}} 個のテンプレートをすべて表示する",
+ "accessibility.close": "閉じる",
+ "accessibility.aiIllustration": "AI のイラスト",
+ "accessibility.aiModelsIllustration": "AI モデルのイラスト"
+ }
+ },
+ "plugin.bulk-import": {
+ "ja": {
+ "page.title": "一括インポート",
+ "page.subtitle": "Red Hat Developer Hub へのエンティティーのインポート",
+ "page.addRepositoriesTitle": "リポジトリーの追加",
+ "page.importEntitiesTitle": "エンティティーのインポート",
+ "page.addRepositoriesSubtitle": "4 ステップで Red Hat Developer Hub にリポジトリーを追加",
+ "page.importEntitiesSubtitle": "Red Hat Developer Hub へのインポート",
+ "page.typeLink": "一括インポート",
+ "sidebar.bulkImport": "一括インポート",
+ "permissions.title": "権限が必要",
+ "permissions.addRepositoriesMessage": "リポジトリーを追加するには、管理者に連絡して `bulk.import` 権限を付与してもらうよう依頼してください。",
+ "permissions.viewRepositoriesMessage": "追加されたリポジトリーを表示するには、管理者に連絡して `bulk.import` 権限を付与してもらうよう依頼してください。",
+ "repositories.addedRepositories": "追加されたリポジトリー",
+ "repositories.importedEntities": "インポートされたエンティティー",
+ "repositories.addedRepositoriesCount": "追加されたリポジトリー ({{count}})",
+ "repositories.importedEntitiesCount": "インポートされたエンティティー ({{count}})",
+ "repositories.noRecordsFound": "レコードが見つかりません",
+ "repositories.refresh": "更新",
+ "repositories.import": "インポート",
+ "repositories.removing": "削除中...",
+ "repositories.deleteRepository": "リポジトリーの削除",
+ "repositories.removeRepositoryQuestion": "{{repoName}} {{repositoryText}} を削除しますか?",
+ "repositories.repositoryText": "リポジトリー",
+ "repositories.removeRepositoryWarningScaffolder": "リポジトリーを削除すると、関連するすべての scaffolder タスク情報も削除されます。",
+ "repositories.removeRepositoryWarning": "リポジトリーを削除すると、関連するすべての情報がカタログページから消去されます。",
+ "repositories.removeRepositoryWarningGitlab": "削除すると、関連するすべての情報がカタログページから消去されます。",
+ "repositories.cannotRemoveRepositoryUrl": "リポジトリー URL がないため、リポジトリーを削除できません。",
+ "repositories.unableToRemoveRepository": "リポジトリーを削除できません。{{error}}",
+ "repositories.removeTooltipDisabled": "このリポジトリーは app-config ファイルに追加されています。削除するにはファイルを直接変更してください",
+ "repositories.removeTooltipRepositoryScaffolder": "リポジトリーと関連する scaffolder タスク情報を削除します",
+ "repositories.errorOccuredWhileFetching": "プルリクエストの取得中にエラーが発生しました",
+ "repositories.failedToCreatePullRequest": "プルリクエストの作成に失敗しました",
+ "repositories.errorOccured": "エラーが発生しました",
+ "repositories.editCatalogInfoTooltip": "catalog-info.yaml プルリクエストを編集する",
+ "repositories.viewCatalogInfoTooltip": "catalog-info.yaml ファイルを表示する",
+ "repositories.pr": "PR",
+ "status.alreadyImported": "インポート済み",
+ "status.added": "追加済み",
+ "status.waitingForApproval": "承認待ち",
+ "status.imported": "インポート",
+ "errors.prErrorPermissions": "権限が不十分なため、新しい PR を作成できませんでした。管理者に問い合わせてください。",
+ "errors.catalogInfoExists": "catalog-info.yaml がリポジトリーにすでに存在するため、新しい PR は作成されません。ただし、エンティティーはカタログページに登録されます。",
+ "errors.catalogEntityConflict": "カタログエンティティーの競合のため、新しい PR を作成できませんでした。",
+ "errors.repoEmpty": "リポジトリーが空のため、新しい PR を作成できませんでした。最初のコミットをリポジトリーにプッシュしてください。",
+ "errors.codeOwnersNotFound": "リポジトリーに CODEOWNERS ファイルがありません。新しい PR を作成するには、CODEOWNERS ファイルを追加してください。",
+ "errors.errorOccurred": "エラーが発生しました",
+ "errors.failedToCreatePullRequest": "プルリクエストの作成に失敗しました",
+ "validation.componentNameInvalid": "\"{{value}}\" は無効です。[a-zA-Z0-9] から成り、[-_.] のいずれかで区切られた一連の文字列 (合計最大 63 文字) が必要です。カタログファイル形式の詳細は、https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md を参照してください",
+ "validation.componentNameRequired": "コンポーネント名は必須です",
+ "validation.entityOwnerRequired": "エンティティー所有者は必須です",
+ "validation.titleRequired": "{{approvalTool}} のタイトルは必須です",
+ "validation.descriptionRequired": "{{approvalTool}} の説明は必須です",
+ "validation.keyValuePairFormat": "各エントリーは、コロンで区切ったキーと値の形で指定する必要があります。",
+ "table.headers.name": "名前",
+ "table.headers.url": "URL",
+ "table.headers.repoUrl": "Git リポジトリー URL",
+ "table.headers.organization": "組織",
+ "table.headers.organizationGroup": "組織/グループ",
+ "table.headers.group": "グループ",
+ "table.headers.status": "ステータス",
+ "table.headers.lastUpdated": "最終更新",
+ "table.headers.actions": "アクション",
+ "table.headers.catalogInfoYaml": "catalog-info.yaml",
+ "table.pagination.rows5": "5 行",
+ "table.pagination.rows10": "10 行",
+ "table.pagination.rows20": "20 行",
+ "table.pagination.rows50": "50 行",
+ "table.pagination.rows100": "100 行",
+ "steps.chooseApprovalTool": "PR 作成用の承認ツール (GitHub/GitLab) を選択する",
+ "steps.chooseRepositories": "追加するリポジトリーを選択する",
+ "steps.chooseItems": "インポートする項目を選択する",
+ "steps.generateCatalogInfo": "各リポジトリーの catalog-info.yaml ファイルを生成する",
+ "steps.generateCatalogInfoItems": "選択した各項目の catalog-info.yaml ファイルを生成する",
+ "steps.editPullRequest": "必要に応じてプルリクエストの詳細を編集する",
+ "steps.trackStatus": "承認ステータスを追跡する",
+ "addRepositories.approvalTool.title": "承認ツール",
+ "addRepositories.approvalTool.description": "PR 作成用の承認ツールを選択する",
+ "addRepositories.approvalTool.tooltip": "インポートには承認が必要です。プル/マージリクエストが承認されると、リポジトリー/プロジェクトがカタログページにインポートされます。",
+ "addRepositories.approvalTool.github": "GitHub",
+ "addRepositories.approvalTool.gitlab": "GitLab",
+ "addRepositories.repositoryType.title": "リポジトリーの種類",
+ "addRepositories.repositoryType.repository": "リポジトリー",
+ "addRepositories.repositoryType.organization": "組織",
+ "addRepositories.repositoryType.project": "プロジェクト",
+ "addRepositories.repositoryType.group": "グループ",
+ "addRepositories.searchPlaceholder": "検索",
+ "addRepositories.clearSearch": "検索のクリア",
+ "addRepositories.noRepositoriesFound": "リポジトリーが見つかりません",
+ "addRepositories.allRepositoriesAdded": "すべてのリポジトリーが追加されました",
+ "addRepositories.noSelection": "なし",
+ "addRepositories.selectRepositories": "リポジトリーの選択",
+ "addRepositories.selectedRepositories": "リポジトリー",
+ "addRepositories.selectedProjects": "プロジェクト",
+ "addRepositories.selectedLabel": "選択済み",
+ "addRepositories.selectedCount": "{{count}} 件を選択済み",
+ "addRepositories.addSelected": "選択した項目の追加",
+ "addRepositories.generateCatalogInfo": "catalog-info.yaml の生成",
+ "addRepositories.editPullRequest": "プルリクエストの編集",
+ "addRepositories.preview": "プレビュー",
+ "catalogInfo.status.generating": "生成中",
+ "catalogInfo.status.notGenerated": "生成されませんでした",
+ "common.add": "追加",
+ "common.cancel": "キャンセル",
+ "common.close": "閉じる",
+ "common.delete": "削除",
+ "common.edit": "編集",
+ "common.filter": "フィルター",
+ "common.import": "インポート",
+ "common.remove": "削除",
+ "common.save": "保存",
+ "common.select": "選択",
+ "common.update": "更新",
+ "common.view": "表示",
+ "time.daysAgo": "{{count}} 日前",
+ "time.hoursAgo": "{{count}} 時間前",
+ "time.minutesAgo": "{{count}} 分前",
+ "time.secondsAgo": "{{count}} 秒前",
+ "previewFile.readyToImport": "インポート準備完了",
+ "previewFile.previewFile": "ファイルのプレビュー",
+ "previewFile.previewFiles": "ファイルのプレビュー",
+ "previewFile.failedToCreatePR": "PR の作成に失敗しました",
+ "previewFile.prCreationUnsuccessful": "一部のリポジトリーで PR の作成に失敗しました。理由を確認するには、`編集` をクリックしてください。",
+ "previewFile.failedToFetchPR": "プルリクエストの取得に失敗しました。以下に新しい YAML が生成されました。",
+ "previewFile.invalidEntityYaml": "プルリクエスト内のエンティティー YAML が無効です (ファイルが空であるか、apiVersion、kind、または metadata.name がありません)。以下に新しい YAML が生成されました。",
+ "previewFile.pullRequestPendingApproval": "[{{pullRequestText}}]({{pullRequestUrl}}) は承認待ちです",
+ "previewFile.pullRequestText": "プルリクエスト",
+ "previewFile.viewRepository": "リポジトリーの表示",
+ "previewFile.closeDrawer": "ドロワーを閉じる",
+ "previewFile.keyValuePlaceholder": "key1: value2; key2: value2",
+ "previewFile.useSemicolonSeparator": "セミコロンを使用して {{label}} を区切ってください",
+ "previewFile.preview": "プレビュー",
+ "previewFile.pullRequest.title": "プルリクエスト",
+ "previewFile.pullRequest.mergeRequest": "マージリクエスト",
+ "previewFile.pullRequest.serviceNowTicket": "ServiceNow チケット",
+ "previewFile.pullRequest.details": "{{tool}} の詳細",
+ "previewFile.pullRequest.titleLabel": "{{tool}} のタイトル",
+ "previewFile.pullRequest.bodyLabel": "{{tool}} のボディー",
+ "previewFile.pullRequest.titlePlaceholder": "Backstage カタログエンティティー記述子ファイルの追加",
+ "previewFile.pullRequest.bodyPlaceholder": "説明文 (Markdown 対応)",
+ "previewFile.pullRequest.entityConfiguration": "エンティティー設定",
+ "previewFile.pullRequest.componentNameLabel": "作成されるコンポーネントの名前",
+ "previewFile.pullRequest.componentNamePlaceholder": "コンポーネント名",
+ "previewFile.pullRequest.entityOwnerLabel": "エンティティー所有者",
+ "previewFile.pullRequest.entityOwnerPlaceholder": "グループとユーザー",
+ "previewFile.pullRequest.entityOwnerHelper": "リストから所有者を選択するか、グループまたはユーザーへの参照を入力してください",
+ "previewFile.pullRequest.loadingText": "グループとユーザーを読み込んでいます",
+ "previewFile.pullRequest.previewEntities": "エンティティーのプレビュー",
+ "previewFile.pullRequest.annotations": "アノテーション",
+ "previewFile.pullRequest.labels": "ラベル",
+ "previewFile.pullRequest.spec": "仕様",
+ "previewFile.pullRequest.useCodeOwnersFile": "エンティティー所有者として *CODEOWNERS* ファイルを使用する",
+ "previewFile.pullRequest.codeOwnersWarning": "警告: ターゲットの場所に CODEOWNERS ファイルが見つからない場合、失敗する可能性があります。",
+ "forms.footer.createServiceNowTicket": "ServiceNow チケットの作成",
+ "forms.footer.createServiceNowTickets": "ServiceNow チケットの作成",
+ "forms.footer.createPullRequest": "プルリクエストの作成",
+ "forms.footer.createPullRequests": "プルリクエストの作成",
+ "forms.footer.serviceNowTooltip": "ServiceNow チケットを作成する前に、Catalog-info.yaml ファイルを生成する必要があります",
+ "forms.footer.importTooltip": "インポート用に Catalog-info.yaml ファイルを生成する必要があります。",
+ "forms.footer.pullRequestTooltip": "プルリクエストを作成する前に、Catalog-info.yaml ファイルを生成する必要があります",
+ "tasks.tasksFor": "{{importJobStatusId}} のタスク",
+ "tasks.taskId": "タスク ID",
+ "tasks.taskLink": "タスクのリンク",
+ "tasks.viewTask": "タスクの表示",
+ "tasks.loading": "読み込み中...",
+ "tasks.errorFetchingData": "データの取得中にエラーが発生しました",
+ "tasks.taskCancelled": "キャンセルされたタスク",
+ "tasks.taskCompleted": "完了したタスク",
+ "tasks.taskFailed": "失敗したタスク",
+ "tasks.taskOpen": "未処理のタスク",
+ "tasks.taskProcessing": "処理中のタスク",
+ "tasks.taskSkipped": "スキップされたタスク"
+ }
+ },
+ "plugin.global-floating-action-button": {
+ "ja": {
+ "fab.create.label": "作成",
+ "fab.create.tooltip": "エンティティーの作成",
+ "fab.docs.label": "ドキュメント",
+ "fab.docs.tooltip": "ドキュメント",
+ "fab.apis.label": "API",
+ "fab.apis.tooltip": "API ドキュメント",
+ "fab.github.label": "GitHub",
+ "fab.github.tooltip": "GitHub リポジトリー",
+ "fab.bulkImport.label": "一括インポート",
+ "fab.bulkImport.tooltip": "複数のリポジトリーを一括登録する",
+ "fab.quay.label": "Quay",
+ "fab.quay.tooltip": "Quay コンテナーレジストリー",
+ "fab.menu.tooltip": "メニュー"
+ }
+ },
+ "plugin.global-header": {
+ "ja": {
+ "help.tooltip": "ヘルプ",
+ "help.noSupportLinks": "サポートリンクがありません",
+ "help.noSupportLinksSubtitle": "管理者がサポートリンクを設定する必要があります。",
+ "help.quickStart": "クイックスタート",
+ "help.supportTitle": "サポート",
+ "profile.picture": "プロファイル写真",
+ "profile.settings": "設定",
+ "profile.myProfile": "マイプロファイル",
+ "profile.signOut": "サインアウト",
+ "search.placeholder": "検索...",
+ "search.noResults": "結果が見つかりません",
+ "search.errorFetching": "結果の取得中にエラーが発生しました",
+ "applicationLauncher.tooltip": "アプリケーションランチャー",
+ "applicationLauncher.noLinksTitle": "アプリケーションリンクが設定されていません",
+ "applicationLauncher.noLinksSubtitle": "ここからすばやくアクセスできるように、動的プラグイン設定でアプリケーションリンクを設定してください。",
+ "applicationLauncher.developerHub": "Developer Hub",
+ "applicationLauncher.rhdhLocal": "RHDH Local",
+ "applicationLauncher.sections.documentation": "ドキュメント",
+ "applicationLauncher.sections.developerTools": "開発者ツール",
+ "starred.title": "スター付き項目",
+ "starred.removeTooltip": "リストから削除",
+ "starred.noItemsTitle": "スター付き項目はまだありません",
+ "starred.noItemsSubtitle": "エンティティーの名前の横にある星のアイコンをクリックすると、すぐにアクセスできるように、ここに保存されます。",
+ "notifications.title": "通知",
+ "notifications.unsupportedDismissOption": "終了オプション \"{{option}}\" はサポートされていません。現在サポートされているのは、\"none\"、\"session\"、または \"localstorage\" です!",
+ "create.title": "セルフサービス",
+ "create.registerComponent.title": "コンポーネントの登録",
+ "create.registerComponent.subtitle": "カタログページへのインポート",
+ "create.templates.sectionTitle": "テンプレートの使用",
+ "create.templates.allTemplates": "すべてのテンプレート",
+ "create.templates.errorFetching": "テンプレートの取得中にエラーが発生しました",
+ "create.templates.noTemplatesAvailable": "利用できるテンプレートがありません"
+ }
+ },
+ "plugin.dynamic-home-page": {
+ "ja": {
+ "header.welcome": "おかえりなさい!",
+ "header.welcomePersonalized": "おかえりなさい、{{name}}!",
+ "header.local": "ローカル",
+ "homePage.empty": "ホームページカード (マウントポイント) が設定されていないか見つかりません。",
+ "search.placeholder": "検索",
+ "quickAccess.title": "クイックアクセス",
+ "quickAccess.fetchError": "データを取得できませんでした。",
+ "quickAccess.error": "不明なエラー",
+ "featuredDocs.learnMore": " 詳細",
+ "templates.title": "テンプレートの探索",
+ "templates.fetchError": "データを取得できませんでした。",
+ "templates.error": "不明なエラー",
+ "templates.empty": "テンプレートはまだ追加されていません",
+ "templates.emptyDescription": "テンプレートが追加されると、利用状況に合わせてカスタマイズされた関連コンテンツがこのスペースに表示されます。",
+ "templates.register": "テンプレートの登録",
+ "templates.viewAll": "{{count}} 個のテンプレートをすべて表示する",
+ "onboarding.greeting.goodMorning": "おはようございます",
+ "onboarding.greeting.goodAfternoon": "こんにちは",
+ "onboarding.greeting.goodEvening": "こんばんは",
+ "onboarding.guest": "ゲスト",
+ "onboarding.getStarted.title": "スタート",
+ "onboarding.getStarted.description": "Red Hat Developer Hub について学習しましょう。",
+ "onboarding.getStarted.buttonText": "ドキュメントを読む",
+ "onboarding.getStarted.ariaLabel": "ドキュメントを読む (新しいタブで開きます)",
+ "onboarding.explore.title": "探索",
+ "onboarding.explore.description": "コンポーネント、API、テンプレートを探索しましょう。",
+ "onboarding.explore.buttonText": "カタログに移動",
+ "onboarding.explore.ariaLabel": "カタログに移動",
+ "onboarding.learn.title": "学習",
+ "onboarding.learn.description": "新しいスキルを探索して習得しましょう。",
+ "onboarding.learn.buttonText": "ラーニングパスに移動",
+ "onboarding.learn.ariaLabel": "ラーニングパスに移動",
+ "entities.title": "ソフトウェアカタログの探索",
+ "entities.fetchError": "データを取得できませんでした。",
+ "entities.error": "不明なエラー",
+ "entities.description": "組織内で利用可能なシステム、コンポーネント、リソース、API を閲覧します。",
+ "entities.close": "閉じる",
+ "entities.empty": "ソフトウェアカタログはまだ追加されていません",
+ "entities.emptyDescription": "ソフトウェアカタログが追加されると、利用状況に合わせてカスタマイズされた関連コンテンツがこのスペースに表示されます。",
+ "entities.register": "コンポーネントの登録",
+ "entities.viewAll": "{{count}} 個のカタログエンティティーをすべて表示する"
+ }
+ },
+ "plugin.lightspeed": {
+ "ja": {
+ "page.title": "Lightspeed",
+ "page.subtitle": "AI 搭載開発アシスタント",
+ "prompts.codeReadability.title": "コードの可読性に関するヘルプを利用する",
+ "prompts.codeReadability.message": "コードの可読性と保守性を高めるための手法を提案してくれませんか?",
+ "prompts.debugging.title": "デバッグに関するヘルプを利用する",
+ "prompts.debugging.message": "アプリケーションがデータベースに接続しようとするとエラーが発生します。問題の特定を手伝ってくれませんか?",
+ "prompts.developmentConcept.title": "開発コンセプトを説明する",
+ "prompts.developmentConcept.message": "マイクロサービスアーキテクチャーの仕組みと、モノリシックな設計と比べた利点について説明してくれませんか?",
+ "prompts.codeOptimization.title": "コードの最適化を提案する",
+ "prompts.codeOptimization.message": "コードを最適化してパフォーマンスを向上させるための一般的な方法を提案してくれませんか?",
+ "prompts.documentation.title": "ドキュメントの要約",
+ "prompts.documentation.message": "Web アプリケーションでの OAuth 2.0 認証の実装に関するドキュメントを要約してくれませんか?",
+ "prompts.gitWorkflows.title": "Git を使用したワークフロー",
+ "prompts.gitWorkflows.message": "既存の作業内容を失うことなく、別のブランチのコードに変更を加えたいです。Git を使用してこれを行うにはどうすればよいですか?",
+ "prompts.testingStrategies.title": "テスト方法を提案する",
+ "prompts.testingStrategies.message": "堅牢でエラーのないアプリケーションを構築するための一般的なテスト方法をいくつか提案してくれませんか?",
+ "prompts.sortingAlgorithms.title": "ソートのアルゴリズムをわかりやすく説明する",
+ "prompts.sortingAlgorithms.message": "クイックソートとマージソートのアルゴリズムの違いと、それぞれの使用タイミングについて説明してくれませんか?",
+ "prompts.eventDriven.title": "イベント駆動型アーキテクチャーを理解する",
+ "prompts.eventDriven.message": "イベント駆動型アーキテクチャーとは何か、またそれをソフトウェア開発でどのようなときに使用すると有益かを説明してくれませんか?",
+ "prompts.tekton.title": "Tekton を使用したデプロイ",
+ "prompts.tekton.message": "Tekton パイプラインを使用してアプリケーションのデプロイを自動化するのを手伝ってくれませんか?",
+ "prompts.openshift.title": "OpenShift デプロイメントの作成",
+ "prompts.openshift.message": "コンテナー化されたアプリケーション用に OpenShift で新しいデプロイメントを作成する手順を説明してくれませんか?",
+ "prompts.rhdh.title": "Red Hat Developer Hub を使い始める",
+ "prompts.rhdh.message": "ソフトウェアカタログの探索やサービスの追加など、開発者が Developer Hub を利用する際にまず何をすべきか教えてくれませんか?",
+ "conversation.delete.confirm.title": "チャットを削除しますか?",
+ "conversation.delete.confirm.message": "このチャットはここに表示されなくなります。Lightspeed Activity からのプロンプト、回答、フィードバックなど、関連アクティビティーも削除されます。",
+ "conversation.delete.confirm.action": "削除",
+ "conversation.rename.confirm.title": "チャットの名前を変更しますか?",
+ "conversation.rename.confirm.action": "名前の変更",
+ "conversation.rename.placeholder": "チャット名",
+ "conversation.action.error": "エラーが発生しました: {{error}}",
+ "permission.required.title": "権限の不足",
+ "permission.required.description": "lightspeed プラグインを表示するには、管理者に連絡して lightspeed.chat.read および lightspeed.chat.create 権限を付与してもらうよう依頼してください。",
+ "disclaimer.withValidation": "この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。",
+ "disclaimer.withoutValidation": "この機能は AI テクノロジーを使用します。入力内容に個人情報やその他の機密情報を含めないでください。やり取りの内容は、Red Hat の製品やサービスを改善するために使用される場合があります。",
+ "footer.accuracy.label": "AI によって生成されたコンテンツは、使用する前に必ず確認してください。",
+ "footer.accuracy.popover.title": "正確性の確認",
+ "footer.accuracy.popover.description": "Developer Lightspeed は正確性を期すよう努めておりますが、誤りが生じる可能性は常にあります。特に意思決定や行動に関わる重要な情報については、信頼できる情報源でその情報を確認することを推奨します。",
+ "footer.accuracy.popover.image.alt": "脚注ポップオーバーのサンプル画像",
+ "footer.accuracy.popover.cta.label": "了解しました",
+ "footer.accuracy.popover.link.label": "詳細",
+ "common.cancel": "キャンセル",
+ "common.close": "閉じる",
+ "common.readMore": "さらに表示する",
+ "common.noSearchResults": "検索に一致する結果がありません",
+ "menu.newConversation": "新しいチャット",
+ "chatbox.header.title": "Developer Lightspeed",
+ "chatbox.search.placeholder": "検索",
+ "chatbox.provider.other": "その他",
+ "chatbox.emptyState.noPinnedChats": "固定したチャットがありません",
+ "chatbox.emptyState.noRecentChats": "最近のチャットがありません",
+ "chatbox.emptyState.noResults.title": "結果が見つかりません",
+ "chatbox.emptyState.noResults.body": "検索クエリーを調整して再試行してください。スペルを確認するか、より一般的な用語をお試しください。",
+ "chatbox.welcome.greeting": "こんにちは、{{userName}}",
+ "chatbox.welcome.description": "今日は何をお手伝いしましょうか?",
+ "chatbox.message.placeholder": "メッセージを送信し、必要に応じて JSON、YAML、または TXT ファイルをアップロードします...",
+ "chatbox.fileUpload.failed": "ファイルのアップロードに失敗しました",
+ "chatbox.fileUpload.infoText": "サポートされているファイルの種類は、.txt、.yaml、.json です。最大ファイルサイズは 25 MB です。",
+ "aria.chatbotSelector": "チャットボットセレクター",
+ "aria.important": "重要",
+ "aria.chatHistoryMenu": "チャット履歴メニュー",
+ "aria.closeDrawerPanel": "ドロワーパネルを閉じる",
+ "aria.search.placeholder": "検索",
+ "aria.searchPreviousConversations": "以前の会話の検索",
+ "aria.resize": "サイズ変更",
+ "aria.options.label": "オプション",
+ "aria.scroll.down": "一番下に戻る",
+ "aria.scroll.up": "一番上に戻る",
+ "aria.settings.label": "チャットボットのオプション",
+ "modal.edit": "編集",
+ "modal.save": "保存",
+ "modal.close": "閉じる",
+ "modal.cancel": "キャンセル",
+ "conversation.delete": "削除",
+ "conversation.rename": "名前の変更",
+ "conversation.addToPinnedChats": "固定",
+ "conversation.removeFromPinnedChats": "固定解除",
+ "conversation.announcement.userMessage": "ユーザーからのメッセージ: {{prompt}}。ボットからのメッセージを読み込んでいます。",
+ "user.guest": "ゲスト",
+ "user.loading": "...",
+ "tooltip.attach": "割り当て",
+ "tooltip.send": "送信",
+ "tooltip.microphone.active": "聞き取りを停止",
+ "tooltip.microphone.inactive": "マイクを使用する",
+ "button.newChat": "新しいチャット",
+ "tooltip.chatHistoryMenu": "チャット履歴メニュー",
+ "tooltip.responseRecorded": "回答が記録されました",
+ "tooltip.backToTop": "一番上に戻る",
+ "tooltip.backToBottom": "一番下に戻る",
+ "tooltip.settings": "チャットボットのオプション",
+ "modal.title.preview": "添付ファイルのプレビュー",
+ "modal.title.edit": "添付ファイルの編集",
+ "icon.lightspeed.alt": "lightspeed アイコン",
+ "icon.permissionRequired.alt": "権限不足アイコン",
+ "message.options.label": "オプション",
+ "file.upload.error.alreadyExists": "ファイルがすでに存在します。",
+ "file.upload.error.multipleFiles": "複数のファイルをアップロードしました。",
+ "file.upload.error.unsupportedType": "サポートされていないファイルタイプです。サポートされているタイプは、.txt、.yaml、.json です。",
+ "file.upload.error.fileTooLarge": "ファイルサイズが大きすぎます。ファイルサイズが 25 MB 未満であることを確認してください。",
+ "file.upload.error.readFailed": "ファイルの読み取りに失敗しました: {{errorMessage}}",
+ "error.context.fileAttachment": "useFileAttachmentContext が FileAttachmentContextProvider 内に収まっている必要があります",
+ "feedback.form.title": "なぜこの評価を選んだのですか?",
+ "feedback.form.textAreaPlaceholder": "その他ご意見をお聞かせください (任意)",
+ "feedback.form.submitWord": "送信",
+ "feedback.tooltips.goodResponse": "回答内容が良い",
+ "feedback.tooltips.badResponse": "回答内容が悪い",
+ "feedback.tooltips.copied": "コピー済み",
+ "feedback.tooltips.copy": "コピー",
+ "feedback.tooltips.listening": "聞き取り中",
+ "feedback.tooltips.listen": "聞き取り",
+ "feedback.quickResponses.positive.helpful": "情報が役に立つ",
+ "feedback.quickResponses.positive.easyToUnderstand": "わかりやすい",
+ "feedback.quickResponses.positive.resolvedIssue": "問題が解決した",
+ "feedback.quickResponses.negative.didntAnswer": "質問に対する答えが得られなかった",
+ "feedback.quickResponses.negative.hardToUnderstand": "わかりにくい",
+ "feedback.quickResponses.negative.notHelpful": "役に立たない",
+ "feedback.completion.title": "フィードバックを送信しました",
+ "feedback.completion.body": "ご回答を受け取りました。ご意見をお聞かせいただきありがとうございました!",
+ "conversation.category.pinnedChats": "固定",
+ "conversation.category.recent": "最近",
+ "settings.pinned.enable": "チャットの固定の有効化",
+ "settings.pinned.disable": "チャットの固定の無効化",
+ "settings.pinned.enabled.description": "チャットの固定は現在有効です",
+ "settings.pinned.disabled.description": "チャットの固定は現在無効です"
+ }
+ },
+ "plugin.marketplace": {
+ "ja": {
+ "header.title": "拡張機能",
+ "header.extensions": "拡張機能",
+ "header.catalog": "カタログ",
+ "header.installedPackages": "インストール済みパッケージ",
+ "header.installedPackagesWithCount": "インストール済みパッケージ ({{count}})",
+ "header.pluginsPage": "プラグイン",
+ "header.packagesPage": "パッケージ",
+ "header.collectionsPage": "コレクション",
+ "button.install": "インストール",
+ "button.uninstall": "アンインストール",
+ "button.enable": "有効にする",
+ "button.disable": "無効にする",
+ "button.update": "更新",
+ "button.save": "保存",
+ "button.close": "閉じる",
+ "button.viewAll": "すべてのプラグインの表示",
+ "button.viewDocumentation": "ドキュメントの表示",
+ "button.viewInstalledPlugins": "インストール済みプラグインの表示 ({{count}})",
+ "button.restart": "再起動が必要です",
+ "status.notInstalled": "インストールされていません",
+ "status.installed": "インストール済み",
+ "status.disabled": "無効",
+ "status.partiallyInstalled": "部分的にインストール済み",
+ "status.updateAvailable": "更新が利用可能",
+ "role.backend": "バックエンド",
+ "role.backendModule": "バックエンドモジュール",
+ "role.frontend": "フロントエンド",
+ "emptyState.noPluginsFound": "プラグインが見つかりません",
+ "emptyState.mustEnableBackend": "Extensions バックエンドプラグインを有効にする必要があります",
+ "emptyState.noPluginsDescription": "プラグインの読み込み中にエラーが発生しました。解決するには、設定を確認するか、プラグインのドキュメントを確認してください。利用可能な他のプラグインを探すこともできます。",
+ "emptyState.configureBackend": "'@red-hat-developer-hub/backstage-plugin-marketplace-backend' プラグインを設定してください。",
+ "alert.productionDisabled": "実稼働環境ではプラグインのインストールが無効になっています。",
+ "alert.installationDisabled": "プラグインのインストールが無効になっています。",
+ "alert.missingDynamicArtifact": "このパッケージを管理できません。アクションを有効にするには、必要な **spec.dynamicArtifact** を持つカタログエンティティーを追加する必要があります。",
+ "alert.missingDynamicArtifactTitle": "パッケージを変更できません",
+ "alert.missingDynamicArtifactForPlugin": "このプラグインを管理できません。アクションを有効にするには、必要な **spec.dynamicArtifact** を持つカタログエンティティーを、関連するすべてのパッケージに追加する必要があります。",
+ "alert.missingDynamicArtifactTitlePlugin": "プラグインを変更できません",
+ "alert.extensionsExample": "これを有効にするには、dynamic-plugins 設定ファイルで拡張機能設定を追加または変更してください。",
+ "alert.singlePluginRestart": "**{{pluginName}}** プラグインが、インストール、更新、有効化、または無効化を完了するために、バックエンドシステムの再起動を必要としています。",
+ "alert.multiplePluginRestart": "**{{count}}** 個のプラグインが、インストール、更新、有効化、または無効化を完了するために、バックエンドシステムの再起動を必要としています。",
+ "alert.singlePackageRestart": "**{{packageName}}** パッケージが、インストール、更新、有効化、または無効化を完了するために、バックエンドシステムの再起動を必要としています。",
+ "alert.multiplePackageRestart": "**{{count}}** 個のパッケージが、インストール、更新、有効化、または無効化を完了するために、バックエンドシステムの再起動を必要としています。",
+ "alert.restartRequired": "{{count}} 個のプラグインがインストールされています",
+ "alert.backendRestartRequired": "バックエンドの再起動が必要です",
+ "alert.viewPlugins": "プラグインの表示",
+ "alert.viewPackages": "パッケージの表示",
+ "search.placeholder": "検索",
+ "search.clear": "検索のクリア",
+ "search.filter": "フィルター",
+ "search.clearFilter": "フィルターのクリア",
+ "search.category": "カテゴリー",
+ "search.author": "作成者",
+ "search.supportType": "サポートタイプ",
+ "search.noResults": "検索条件に一致するプラグインがありません",
+ "search.filterBy": "フィルター",
+ "search.clearFilters": "フィルターをクリア",
+ "search.noResultsFound": "結果が見つかりません。フィルターを調整してもう一度お試しください。",
+ "common.links": "リンク",
+ "common.by": " by ",
+ "common.comma": ",",
+ "common.noDescriptionAvailable": "説明がありません",
+ "common.readMore": "さらに表示する",
+ "common.close": "閉じる",
+ "common.apply": "適用",
+ "common.couldNotApplyYaml": "YAML を適用できませんでした: {{error}}",
+ "dialog.backendRestartRequired": "バックエンドの再起動が必要です",
+ "dialog.packageRestartMessage": "パッケージの変更を完了するために、バックエンドシステムを再起動してください。",
+ "dialog.pluginRestartMessage": "プラグインの変更を完了するために、バックエンドシステムを再起動してください。",
+ "plugin.description": "説明",
+ "plugin.documentation": "ドキュメント",
+ "plugin.repository": "リポジトリー",
+ "plugin.license": "ライセンス",
+ "plugin.version": "バージョン",
+ "plugin.author": "作成者",
+ "plugin.authors": "作成者",
+ "plugin.tags": "タグ",
+ "plugin.dependencies": "依存関係",
+ "plugin.configuration": "設定",
+ "plugin.installation": "インストール",
+ "package.name": "パッケージ名:",
+ "package.version": "バージョン:",
+ "package.dynamicPluginPath": "動的プラグインのパス:",
+ "package.backstageRole": "Backstage の役割:",
+ "package.supportedVersions": "サポートされているバージョン:",
+ "package.author": "作成者:",
+ "package.support": "サポート:",
+ "package.lifecycle": "ライフサイクル:",
+ "package.highlights": "ハイライト",
+ "package.about": "概要",
+ "package.notFound": "パッケージ {{namespace}}/{{name}} が見つかりません!",
+ "package.notAvailable": "パッケージ {{name}} は利用できません",
+ "package.ensureCatalogEntity": "このパッケージのカタログエンティティーが存在することを確認してください。",
+ "table.packageName": "パッケージ名",
+ "table.version": "バージョン",
+ "table.role": "役割",
+ "table.supportedVersion": "サポートされているバージョン",
+ "table.status": "ステータス",
+ "table.name": "名前",
+ "table.action": "アクション",
+ "table.description": "説明",
+ "table.versions": "バージョン",
+ "table.plugins": "プラグイン",
+ "table.packages": "パッケージ",
+ "table.pluginsCount": "プラグイン ({{count}})",
+ "table.packagesCount": "パッケージ ({{count}})",
+ "table.pluginsTable": "プラグインテーブル",
+ "installedPackages.table.title": "インストール済みパッケージ ({{count}})",
+ "installedPackages.table.searchPlaceholder": "検索",
+ "installedPackages.table.columns.name": "名前",
+ "installedPackages.table.columns.packageName": "npm パッケージ名",
+ "installedPackages.table.columns.role": "役割",
+ "installedPackages.table.columns.version": "バージョン",
+ "installedPackages.table.columns.actions": "アクション",
+ "installedPackages.table.tooltips.packageProductionDisabled": "パッケージは実稼働環境では管理できません。",
+ "installedPackages.table.tooltips.installationDisabled": "プラグインのインストールが無効になっているため、パッケージを管理できません。これを有効にするには、dynamic-plugins 設定ファイルで拡張機能設定を追加または変更してください。",
+ "installedPackages.table.tooltips.enableActions": "アクションを有効にするには、このパッケージのカタログエンティティーを追加してください",
+ "installedPackages.table.tooltips.noDownloadPermissions": "設定をダウンロードする権限がありません。管理者に連絡し、アクセス権を要求またはサポートを依頼してください。",
+ "installedPackages.table.tooltips.noEditPermissions": "設定を編集する権限がありません。管理者に連絡し、アクセス権を要求またはサポートを依頼してください。",
+ "installedPackages.table.tooltips.noTogglePermissions": "パッケージを有効化または無効化する権限がありません。管理者に連絡し、アクセス権を要求またはサポートを依頼してください。",
+ "installedPackages.table.tooltips.editPackage": "パッケージ設定を編集する",
+ "installedPackages.table.tooltips.downloadPackage": "パッケージ設定をダウンロードする",
+ "installedPackages.table.tooltips.enablePackage": "パッケージを有効にする",
+ "installedPackages.table.tooltips.disablePackage": "パッケージを無効にする",
+ "installedPackages.table.emptyMessages.noResults": "結果が見つかりません。別の検索語句を試してください。",
+ "installedPackages.table.emptyMessages.noRecords": "表示するレコードがありません",
+ "actions.install": "インストール",
+ "actions.view": "表示",
+ "actions.edit": "編集",
+ "actions.enable": "有効にする",
+ "actions.disable": "無効にする",
+ "actions.actions": "アクション",
+ "actions.editConfiguration": "編集",
+ "actions.pluginConfigurations": "プラグインの設定",
+ "actions.packageConfiguration": "パッケージの設定",
+ "actions.pluginCurrentlyEnabled": "プラグインは現在有効です",
+ "actions.pluginCurrentlyDisabled": "プラグインは現在無効です",
+ "actions.packageCurrentlyEnabled": "パッケージは現在有効です",
+ "actions.packageCurrentlyDisabled": "パッケージは現在無効です",
+ "actions.installTitle": "{{displayName}} のインストール",
+ "actions.editTitle": "{{displayName}} 設定の編集",
+ "metadata.by": " by ",
+ "metadata.comma": ",",
+ "metadata.pluginNotFound": "プラグイン {{name}} が見つかりません!",
+ "metadata.pluginNotAvailable": "プラグイン {{name}} は利用できません",
+ "metadata.ensureCatalogEntityPlugin": "このプラグインのカタログエンティティーが存在することを確認してください。",
+ "metadata.highlights": "ハイライト",
+ "metadata.about": "概要",
+ "metadata.publisher": "パブリッシャー",
+ "metadata.supportProvider": "サポートプロバイダー",
+ "metadata.entryName": "エントリー名",
+ "metadata.bySomeone": "提供元不明",
+ "metadata.category": "カテゴリー",
+ "metadata.versions": "バージョン",
+ "metadata.backstageCompatibility": "Backstage 互換バージョン",
+ "supportTypes.certifiedBy": "{{value}} により認定済み ({{count}})",
+ "supportTypes.verifiedBy": "{{value}} により検証済み ({{count}})",
+ "supportTypes.customPlugins": "カスタムプラグイン ({{count}})",
+ "collection.kubernetes": "Kubernetes",
+ "collection.monitoring": "モニタリング",
+ "collection.security": "セキュリティー",
+ "collection.viewMore": "詳細の表示",
+ "collection.pluginCount": "{{count}} 個のプラグイン",
+ "collection.featured.title": "注目のプラグイン",
+ "collection.featured.description": "ほとんどのユーザーに推奨される注目の厳選プラグイン集",
+ "install.title": "プラグインのインストール",
+ "install.configurationRequired": "必要な設定",
+ "install.optional": "任意",
+ "install.required": "必須",
+ "install.selectPackages": "インストールするパッケージの選択",
+ "install.allPackages": "すべてのパッケージ",
+ "install.customConfiguration": "カスタム設定",
+ "install.installProgress": "インストール...",
+ "install.success": "プラグインが正常にインストールされました",
+ "install.error": "プラグインのインストールに失敗しました",
+ "install.installFrontend": "フロントエンドプラグインのインストール",
+ "install.installBackend": "バックエンドプラグインのインストール",
+ "install.installTemplates": "ソフトウェアテンプレートのインストール",
+ "install.installationInstructions": "インストール手順",
+ "install.download": "ダウンロード",
+ "install.examples": "例",
+ "install.cancel": "キャンセル",
+ "install.reset": "リセット",
+ "install.pluginTabs": "プラグインタブ",
+ "install.settingUpPlugin": "プラグインのセットアップ",
+ "install.aboutPlugin": "プラグインについて",
+ "install.pluginUpdated": "プラグインが更新されました",
+ "install.pluginInstalled": "プラグインがインストールされました",
+ "install.instructions": "手順",
+ "install.editInstructions": "編集手順",
+ "install.back": "戻る",
+ "install.packageUpdated": "パッケージが更新されました",
+ "install.packageEnabled": "パッケージは有効です",
+ "install.packageDisabled": "パッケージは無効です",
+ "install.pluginEnabled": "プラグインは有効です",
+ "install.pluginDisabled": "プラグインは無効です",
+ "install.errors.missingPluginsList": "無効なエディターコンテンツ: 'plugins' リストがありません",
+ "install.errors.missingPackageItem": "無効なエディターコンテンツ: パッケージ項目がありません",
+ "install.errors.missingPackageField": "無効なエディターコンテンツ: 項目に 'package' フィールドがありません",
+ "install.errors.failedToSave": "保存に失敗しました",
+ "loading": "読み込み中...",
+ "error": "エラーが発生しました",
+ "retry": "再試行",
+ "errors.missingConfigFile": "設定ファイルが見つかりません",
+ "errors.missingConfigMessage": "{{メッセージ}}。このツールを有効にする場合は、app-config.yaml に設定を追加する必要があります。以下の例のように app-config.yaml ファイルを編集してください:",
+ "errors.invalidConfigFile": "無効な設定ファイル",
+ "errors.invalidConfigMessage": "'extensions.installation.saveToSingleFile.file' の読み込みに失敗しました。{{message}}。このツールを有効にする場合は、有効なインストール設定を提供してください。以下の例のように dynamic-plugins.yaml ファイルを編集してください:",
+ "errors.fileNotExists": "設定ファイルが正しくないか、スペルミスがあるか、存在しません",
+ "errors.fileNotExistsMessage": "{{メッセージ}}。このツールを有効にする場合は、以下の例に示すように、app-config.yaml で指定されているファイル名を再確認してください:",
+ "errors.unknownError": "設定ファイルの読み取り中にエラーが発生しました。",
+ "tooltips.productionDisabled": "実稼働環境ではプラグインのインストールが無効になっています。",
+ "tooltips.extensionsDisabled": "プラグインのインストールが無効になっています。これを有効にするには、dynamic-plugins 設定ファイルで拡張機能設定を追加または変更してください。",
+ "tooltips.noPermissions": "プラグインをインストールする権限またはその設定を表示する権限がありません。管理者に連絡し、アクセス権を要求またはサポートを依頼してください。",
+ "tooltips.missingDynamicArtifact": "この {{type}} を管理できません。アクションを有効にするには、必要な spec.dynamicArtifact を持つカタログエンティティーを追加する必要があります。",
+ "aria.openPlugin": "プラグイン {{name}} を開く",
+ "aria.closeDialog": "ダイアログを閉じる",
+ "aria.expandSection": "セクションを展開",
+ "aria.collapseSection": "セクションを折りたたむ",
+ "aria.sortBy": "{{field}} でソート",
+ "aria.filterBy": "{{field}} でフィルタリング",
+ "badges.certified": "認定済み",
+ "badges.certifiedBy": "{{provider}} により認定済み",
+ "badges.verified": "検証済み",
+ "badges.verifiedBy": "{{provider}} により検証済み",
+ "badges.customPlugin": "カスタムプラグイン",
+ "badges.stableAndSecured": "安定および {{provider}} により保護",
+ "badges.generallyAvailable": "一般提供 (GA)",
+ "badges.gaAndSupportedBy": "一般提供 (GA) および {{provider}} のサポート対象",
+ "badges.gaAndSupported": "一般提供 (GA) およびサポート対象",
+ "badges.productionReadyBy": "実稼働環境に対応および {{provider}} のサポート対象",
+ "badges.productionReady": "実稼働環境に対応およびサポート対象",
+ "badges.communityPlugin": "コミュニティープラグイン",
+ "badges.openSourceNoSupport": "オープンソースプラグイン、公式サポートなし",
+ "badges.techPreview": "テクノロジープレビュー (TP)",
+ "badges.pluginInDevelopment": "まだ開発中のプラグイン",
+ "badges.devPreview": "開発者プレビュー (DP)",
+ "badges.earlyStageExperimental": "初期段階の実験的なプラグイン",
+ "badges.addedByAdmin": "管理者によって追加されたプラグイン"
+ }
+ },
+ "plugin.orchestrator": {
+ "ja": {
+ "page.title": "ワークフローオーケストレーター",
+ "page.tabs.workflows": "ワークフロー",
+ "page.tabs.allRuns": "すべての実行",
+ "page.tabs.workflowDetails": "ワークフロー詳細",
+ "page.tabs.workflowRuns": "ワークフロー実行",
+ "table.title.workflows": "ワークフロー",
+ "table.title.allRuns": "すべての実行 ({{count}})",
+ "table.title.allWorkflowRuns": "ワークフロー実行 ({{count}})",
+ "table.headers.name": "名前",
+ "table.headers.runStatus": "実行ステータス",
+ "table.headers.started": "開始済み",
+ "table.headers.status": "ステータス",
+ "table.headers.workflowStatus": "ワークフローステータス",
+ "table.headers.duration": "期間",
+ "table.headers.description": "説明",
+ "table.headers.lastRun": "最終実行",
+ "table.headers.lastRunStatus": "最終実行のステータス",
+ "table.headers.workflowName": "ワークフロー名",
+ "table.actions.run": "実行",
+ "table.actions.viewRuns": "実行の表示",
+ "table.actions.viewInputSchema": "入力スキーマの表示",
+ "table.status.running": "実行中",
+ "table.status.failed": "失敗",
+ "table.status.completed": "完了済み",
+ "table.status.aborted": "中止",
+ "table.status.pending": "保留中",
+ "table.status.active": "アクティブ",
+ "table.filters.status": "ステータス",
+ "table.filters.started": "開始済み",
+ "table.filters.startedOptions.today": "今日",
+ "table.filters.startedOptions.yesterday": "昨日",
+ "table.filters.startedOptions.last7days": "過去 7 日間",
+ "table.filters.startedOptions.thisMonth": "今月",
+ "workflow.details": "詳細",
+ "workflow.definition": "ワークフロー定義",
+ "workflow.progress": "ワークフロー進捗",
+ "workflow.status.available": "利用可能",
+ "workflow.status.unavailable": "利用不可",
+ "workflow.fields.workflow": "ワークフロー",
+ "workflow.fields.workflowStatus": "ワークフローステータス",
+ "workflow.fields.runStatus": "実行ステータス",
+ "workflow.fields.duration": "期間",
+ "workflow.fields.description": "説明",
+ "workflow.fields.started": "開始済み",
+ "workflow.fields.workflowId": "実行 ID",
+ "workflow.fields.workflowIdCopied": "実行 ID がクリップボードにコピーされました",
+ "workflow.errors.retriggerFailed": "再トリガーに失敗しました: {{reason}}",
+ "workflow.errors.abortFailed": "中止に失敗しました: すでに実行が完了しています。",
+ "workflow.errors.abortFailedWithReason": "中止に失敗しました: {{reason}}",
+ "workflow.errors.failedToLoadDetails": "ワークフロー ID: {{id}} の詳細の読み込みに失敗しました",
+ "workflow.messages.areYouSureYouWantToRunThisWorkflow": "このワークフローを実行してもよろしいですか?",
+ "workflow.messages.userNotAuthorizedExecute": "ユーザーにワークフローの実行権限がありません。",
+ "workflow.messages.workflowDown": "ワークフローは現在停止しているかエラー状態です。今実行すると、失敗や予期しない結果が生じる可能性があります。",
+ "workflow.buttons.run": "実行",
+ "workflow.buttons.runWorkflow": "ワークフローの実行",
+ "workflow.buttons.runAgain": "再実行",
+ "workflow.buttons.running": "実行中...",
+ "workflow.buttons.fromFailurePoint": "失敗箇所から",
+ "workflow.buttons.runFailedAgain": "実行が再び失敗しました",
+ "run.title": "ワークフローの実行",
+ "run.pageTitle": "{{processName}} の実行",
+ "run.variables": "実行変数",
+ "run.inputs": "入力",
+ "run.results": "結果",
+ "run.abort.title": "ワークフローの実行を中止しますか?",
+ "run.abort.button": "中止",
+ "run.abort.warning": "中止すると、進行中および保留中のすべてのステップが直ちに停止されます。進行中の作業がすべて失われます。",
+ "run.abort.completed.title": "実行完了",
+ "run.abort.completed.message": "実行はすでに完了しているため、中止することはできません。",
+ "run.status.completed": "実行は完了しました",
+ "run.status.failed": "実行は {{time}} に失敗しました",
+ "run.status.aborted": "実行は中止されました",
+ "run.status.completedWithMessage": "実行は {{time}} に完了しました。メッセージ:",
+ "run.status.failedAt": "実行は {{time}} に失敗しました",
+ "run.status.completedAt": "実行は {{time}} に完了しました",
+ "run.status.running": "ワークフローは実行中です。{{time}} に開始",
+ "run.status.runningWaitingAtNode": "ワークフローは実行中です - ノード {{node}} で {{formattedTime}} から待機しています",
+ "run.status.workflowIsRunning": "ワークフローは実行中です。{{time}} に開始",
+ "run.status.noAdditionalInfo": "このワークフローにはステータスに関する追加情報はありません。",
+ "run.status.resultsWillBeDisplayedHereOnceTheRunIsComplete": "実行が完了すると、結果がここに表示されます。",
+ "run.retrigger": "再トリガー",
+ "run.viewVariables": "変数の表示",
+ "run.suggestedNextWorkflow": "推奨される次のワークフロー",
+ "run.suggestedNextWorkflows": "推奨される次のワークフロー",
+ "tooltips.completed": "完了済み",
+ "tooltips.active": "アクティブ",
+ "tooltips.aborted": "中止",
+ "tooltips.suspended": "一時停止中",
+ "tooltips.pending": "保留中",
+ "tooltips.workflowDown": "ワークフローは現在停止しているかエラー状態です",
+ "tooltips.userNotAuthorizedAbort": "ユーザーにワークフローの中止権限がありません",
+ "tooltips.userNotAuthorizedExecute": "ユーザーにワークフローの実行権限がありません",
+ "messages.noDataAvailable": "利用可能なデータはありません",
+ "messages.noVariablesFound": "この実行の変数が見つかりません。",
+ "messages.noInputSchemaWorkflow": "このワークフローには入力スキーマが定義されていません。",
+ "messages.workflowInstanceNoInputs": "このワークフローインスタンスには入力がありません",
+ "messages.missingJsonSchema.title": "入力フォームの JSON スキーマがありません",
+ "messages.missingJsonSchema.message": "このワークフローには、入力検証用に定義された JSON スキーマがありません。ワークフローの実行は可能ですが、入力の検証は限定的になります。",
+ "messages.additionalDetailsAboutThisErrorAreNotAvailable": "このエラーに関する追加情報はありません",
+ "common.close": "閉じる",
+ "common.cancel": "キャンセル",
+ "common.execute": "実行",
+ "common.details": "詳細",
+ "common.links": "リンク",
+ "common.values": "値",
+ "common.back": "戻る",
+ "common.run": "実行",
+ "common.next": "次へ",
+ "common.review": "確認",
+ "common.unavailable": "---",
+ "stepperObjectField.error": "ステッパーオブジェクトフィールドは、プロパティーを含まないスキーマではサポートされていません",
+ "formDecorator.error": "フォームデコレーターはコンテキストデータを提供する必要があります。",
+ "aria.close": "閉じる"
+ }
+ },
+ "plugin.quickstart": {
+ "ja": {
+ "header.title": "Developer Hub を使い始めましょう",
+ "header.subtitle": "いくつかの簡単なステップをご案内します",
+ "steps.setupAuthentication.title": "認証の設定",
+ "steps.setupAuthentication.description": "不正アクセスからアカウントを保護するために、セキュアなログイン認証情報を設定します。",
+ "steps.setupAuthentication.ctaTitle": "詳細",
+ "steps.configureRbac.title": "RBAC の設定",
+ "steps.configureRbac.description": "ロールと権限を割り当てて、リソースを表示、作成、または編集できるユーザーを制御し、セキュアで効率的なコラボレーションを実現できます。",
+ "steps.configureRbac.ctaTitle": "アクセスの管理",
+ "steps.configureGit.title": "Git の設定",
+ "steps.configureGit.description": "GitHub などの Git プロバイダーを接続して、コードの管理、ワークフローの自動化、プラットフォーム機能との統合を行います。",
+ "steps.configureGit.ctaTitle": "詳細",
+ "steps.managePlugins.title": "プラグインの管理",
+ "steps.managePlugins.description": "拡張機能を閲覧してインストールし、機能を追加したり、外部ツールと接続したり、エクスペリエンスをカスタマイズしたりできます。",
+ "steps.managePlugins.ctaTitle": "プラグインの探索",
+ "steps.importApplication.title": "アプリケーションのインポート",
+ "steps.importApplication.description": "既存のコードやサービスをカタログにインポートして整理し、開発者ポータルからアクセスできます。",
+ "steps.importApplication.ctaTitle": "インポート",
+ "steps.learnAboutCatalog.title": "カタログについて学ぶ",
+ "steps.learnAboutCatalog.description": "すべてのソフトウェアコンポーネント、サービス、API を探索し、その所有者やドキュメントを確認できます。",
+ "steps.learnAboutCatalog.ctaTitle": "カタログの表示",
+ "steps.exploreSelfServiceTemplates.title": "セルフサービステンプレートを探索する",
+ "steps.exploreSelfServiceTemplates.description": "セルフサービステンプレートを使用して、新しいプロジェクト、サービス、またはドキュメントをすばやく設定できます。",
+ "steps.exploreSelfServiceTemplates.ctaTitle": "テンプレートの探索",
+ "steps.findAllLearningPaths.title": "すべてのラーニングパスを見る",
+ "steps.findAllLearningPaths.description": "ラーニングパスを利用してカスタマイズした e ラーニングをワークフローに統合し、オンボーディングの加速、スキルギャップの解消、ベストプラクティスの浸透を実現できます。",
+ "steps.findAllLearningPaths.ctaTitle": "ラーニングパスの表示",
+ "button.quickstart": "クイックスタート",
+ "button.openQuickstartGuide": "クイックスタートガイドを開く",
+ "button.closeDrawer": "ドロワーを閉じる",
+ "button.gotIt": "了解しました!",
+ "footer.progress": "進捗 {{progress}}%",
+ "footer.notStarted": "開始されていません",
+ "footer.hide": "非表示",
+ "content.emptyState.title": "現在のロールではクイックスタートコンテンツを利用できません。",
+ "item.expandAriaLabel": "{{title}} の詳細を展開",
+ "item.collapseAriaLabel": "{{title}} の詳細を折りたたむ",
+ "item.expandButtonAriaLabel": "項目を展開",
+ "item.collapseButtonAriaLabel": "項目を折りたたむ",
+ "dev.pageTitle": "クイックスタートプラグインのテストページ",
+ "dev.pageDescription": "これはクイックスタートプラグインのテストページです。以下のボタンを使用し、クイックスタートドロワーを操作してください。",
+ "dev.drawerControls": "ドロワーのコントロール",
+ "dev.currentState": "現在のドロワーの状態: {{state}}",
+ "dev.stateOpen": "開",
+ "dev.stateClosed": "閉",
+ "dev.instructions": "手順",
+ "dev.step1": "1.\"クイックスタートガイドを開く\" をクリックしてドロワーを開きます",
+ "dev.step2": "2.クイックスタートのステップを順に進めます",
+ "dev.step3": "3.ステップを完了して進捗の追跡をテストします",
+ "dev.step4": "4.閉じるボタンまたはドロワー自体のコントロールを使用して、ドロワーを閉じることができます",
+ "dev.step5": "5.進捗が自動的に localStorage に保存されます"
+ }
+ },
+ "plugin.scorecard": {
+ "ja": {
+ "emptyState.title": "スコアカードはまだ追加されていません",
+ "emptyState.description": "スコアカードを使用すると、コンポーネントの健全性を一目で監視できます。まず、セットアップ手順に関するドキュメントを参照してください。",
+ "emptyState.button": "ドキュメントの表示",
+ "emptyState.altText": "スコアカードなし",
+ "permissionRequired.title": "権限がありません",
+ "permissionRequired.description": "スコアカードプラグインを表示するには、管理者に連絡して {{permission}} 権限を付与してもらうよう依頼してください。",
+ "permissionRequired.button": "さらに表示する",
+ "permissionRequired.altText": "権限が必要",
+ "errors.entityMissingProperties": "スコアカードの検索に必要なプロパティーがエンティティーにありません",
+ "errors.invalidApiResponse": "スコアカード API からの応答形式が無効です",
+ "errors.fetchError": "スコアカードの取得中にエラーが発生しました: {{error}}",
+ "errors.metricDataUnavailable": "メトリクスデータがありません",
+ "errors.invalidThresholds": "無効なしきい値",
+ "metric.github.open_prs.title": "GitHub のオープン状態の PR",
+ "metric.github.open_prs.description": "特定の GitHub リポジトリーにおけるオープン状態のプルリクエストの数。",
+ "metric.jira.open_issues.title": "Jira のオープン状態の進行を妨げているチケット",
+ "metric.jira.open_issues.description": "Jira で現在オープン状態になっている、重大かつ進行を妨げている課題の数を明示します。",
+ "thresholds.success": "成功",
+ "thresholds.warning": "警告",
+ "thresholds.error": "エラー"
+ }
+ },
+ "plugin.translations-test": {
+ "ja": {
+ "page.title": "翻訳テストプラグイン",
+ "page.subtitle": "翻訳機能と i18next 機能をテストするためのプラグイン",
+ "essentials.key": "キーの値",
+ "essentials.look.deep": "深い階層の参照の値",
+ "interpolation.key": "{{what}} は {{how}} です",
+ "interpolation.nested.key": "{{what}} は {{how.value}} です",
+ "interpolation.complex.message": "ここに {{link}} があります。",
+ "interpolation.complex.linkText": "リンク",
+ "formatting.intlNumber": "いくつかの {{val, number}}",
+ "formatting.intlNumberWithOptions": "いくつかの {{val, number(minimumFractionDigits: 2)}}",
+ "formatting.intlDateTime": "{{val, datetime}} に",
+ "formatting.intlRelativeTime": "Lorem {{val, relativetime}}",
+ "formatting.intlRelativeTimeWithOptions": "Lorem {{val, relativetime(quarter)}}",
+ "formatting.intlRelativeTimeWithOptionsExplicit": "Lorem {{val, relativetime(range: quarter; style: narrow;)}}",
+ "plurals.key_zero": "ゼロ",
+ "plurals.key_one": "1",
+ "plurals.key_two": "2",
+ "plurals.key_few": "少数",
+ "plurals.key_many": "多数",
+ "plurals.key_other": "その他",
+ "plurals.keyWithCount_one": "{{count}} 件の項目",
+ "plurals.keyWithCount_other": "{{count}} 件の項目",
+ "context.friend": "友達",
+ "context.friend_male": "彼氏",
+ "context.friend_female": "彼女",
+ "objects.tree.res": "{{something}} を追加しました"
+ }
+ },
+ "plugin.translations": {
+ "ja": {
+ "page.title": "翻訳",
+ "page.subtitle": "読み込まれた翻訳の管理および表示",
+ "table.title": "読み込まれた翻訳 ({{count}})",
+ "table.headers.refId": "参照 ID",
+ "table.headers.key": "キー",
+ "table.options.pageSize": "1 ページの項目数",
+ "table.options.pageSizeOptions": "{{count}} 件の項目を表示",
+ "export.title": "翻訳",
+ "export.downloadButton": "デフォルトの翻訳のダウンロード (英語)",
+ "export.filename": "translations-{{timestamp}}.json",
+ "common.loading": "読み込み中...",
+ "common.error": "エラーが発生しました",
+ "common.noData": "利用可能なデータはありません",
+ "common.refresh": "更新",
+ "language.displayFormat": "{{displayName}} ({{code}})"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/rhdh-plugins__v1.8_s3281-fr-C.json b/translations/rhdh-plugins__v1.8_s3281-fr-C.json
deleted file mode 100644
index 7dc4990add..0000000000
--- a/translations/rhdh-plugins__v1.8_s3281-fr-C.json
+++ /dev/null
@@ -1,197 +0,0 @@
-{
- "plugin.scorecard": {
- "fr": {
- "emptyState.title": "Aucune carte de score n'a encore été ajoutée",
- "emptyState.description": "Les tableaux de bord vous aident à surveiller l’état des composants en un coup d’œil. Pour commencer, explorez notre documentation pour obtenir des instructions de configuration.",
- "emptyState.button": "Voir la documentation",
- "emptyState.altText": "Pas de tableau de bord",
- "permissionRequired.title": "Autorisations manquantes",
- "permissionRequired.description": "Pour afficher le plugin Scorecard, contactez votre administrateur pour lui accorder l'autorisation {{permission}}.",
- "permissionRequired.button": "En savoir plus",
- "permissionRequired.altText": "Autorisation requise",
- "errors.entityMissingProperties": "Entité manquant les propriétés requises pour la recherche dans la fiche d'évaluation",
- "errors.invalidApiResponse": "Format de réponse non valide de l'API de scorecard",
- "errors.fetchError": "Erreur lors de la récupération des tableaux de bord : {{error}}",
- "errors.metricDataUnavailable": "Données métriques indisponibles",
- "errors.invalidThresholds": "Seuils invalides",
- "metric.github.open-prs.title": "GitHub ouvre des PR",
- "metric.github.open-prs.description": "Nombre actuel de requêtes d'extraction ouvertes pour un référentiel GitHub donné.",
- "metric.jira.open-issues.title": "Jira ouvre des tickets bloquants",
- "metric.jira.open-issues.description": "Met en évidence le nombre de problèmes critiques et bloquants actuellement ouverts dans Jira.",
- "thresholds.success": "Succès",
- "thresholds.warning": "Attention",
- "thresholds.error": "Erreur"
- }
- },
- "plugin.quickstart": {
- "fr": {
- "header.title": "Commençons par vous familiariser avec Developer Hub",
- "header.subtitle": "Nous vous guiderons à travers quelques étapes rapides",
- "steps.setupAuthentication.title": "Configurer l'authentification",
- "steps.setupAuthentication.description": "Configurez des informations de connexion sécurisées pour protéger votre compte contre tout accès non autorisé.",
- "steps.setupAuthentication.ctaTitle": "En savoir plus",
- "steps.configureRbac.title": "Configurer RBAC",
- "steps.configureRbac.description": "Attribuez des rôles et des autorisations pour contrôler qui peut afficher, créer ou modifier des ressources, garantissant ainsi une collaboration sécurisée et efficace.",
- "steps.configureRbac.ctaTitle": "Gérer l'accès",
- "steps.configureGit.title": "Configurer Git",
- "steps.configureGit.description": "Connectez vos fournisseurs Git, tels que GitHub pour gérer le code, automatiser les flux de travail et intégrer les fonctionnalités de la plateforme.",
- "steps.configureGit.ctaTitle": "En savoir plus",
- "steps.managePlugins.title": "Gérer les plugins",
- "steps.managePlugins.description": "Parcourez et installez des extensions pour ajouter des fonctionnalités, vous connecter à des outils externes et personnaliser votre expérience.",
- "steps.managePlugins.ctaTitle": "Explorer les plugins",
- "steps.importApplication.title": "Demande d'importation",
- "steps.importApplication.description": "Importez votre code et vos services existants dans le catalogue pour les organiser et y accéder via votre portail de développeur.",
- "steps.importApplication.ctaTitle": "Importer",
- "steps.learnAboutCatalog.title": "En savoir plus sur le catalogue",
- "steps.learnAboutCatalog.description": "Découvrez tous les composants logiciels, services et API, et affichez leurs propriétaires et leur documentation.",
- "steps.learnAboutCatalog.ctaTitle": "Voir le catalogue",
- "steps.exploreSelfServiceTemplates.title": "Explorer les modèles en libre-service",
- "steps.exploreSelfServiceTemplates.description": "Utilisez nos modèles en libre-service pour configurer rapidement de nouveaux projets, services ou documentations.",
- "steps.exploreSelfServiceTemplates.ctaTitle": "Explorer les modèles",
- "steps.findAllLearningPaths.title": "Trouver tous les Learning Paths",
- "steps.findAllLearningPaths.description": "Intégrez l’apprentissage en ligne personnalisé dans vos flux de travail avec Learning Paths pour accélérer l’intégration, combler les lacunes en matière de compétences et promouvoir les meilleures pratiques.",
- "steps.findAllLearningPaths.ctaTitle": "Voir Learning Paths",
- "button.quickstart": "Démarrage rapide",
- "button.openQuickstartGuide": "Ouvrir le guide de démarrage rapide",
- "button.closeDrawer": "Fermer le tiroir",
- "button.gotIt": "J'ai compris!",
- "footer.progress": "{{progress}}% de progrès",
- "footer.notStarted": "Non démarré",
- "footer.hide": "Cacher",
- "content.emptyState.title": "Le contenu de démarrage rapide n'est pas disponible pour votre rôle.",
- "item.expandAriaLabel": "Développer les détails de {{title}}",
- "item.collapseAriaLabel": "Réduire les détails de {{title}}",
- "item.expandButtonAriaLabel": "Développer l'élément",
- "item.collapseButtonAriaLabel": "Réduire l'élément",
- "dev.pageTitle": "Page de test du plugin de démarrage rapide",
- "dev.pageDescription": "Ceci est une page de test pour le plugin Quickstart. Utilisez les boutons ci-dessous pour interagir avec le tiroir de démarrage rapide.",
- "dev.drawerControls": "Commandes des tiroirs",
- "dev.currentState": "État actuel du tiroir : {{state}}",
- "dev.stateOpen": "Ouvrir",
- "dev.stateClosed": "Fermé",
- "dev.instructions": "Instructions",
- "dev.step1": "1. Cliquez sur « Ouvrir le guide de démarrage rapide » pour ouvrir le tiroir",
- "dev.step2": "2. Parcourez les étapes de démarrage rapide",
- "dev.step3": "3. Testez le suivi de la progression en complétant les étapes",
- "dev.step4": "4. Le tiroir peut être fermé à l'aide du bouton de fermeture ou des commandes du tiroir",
- "dev.step5": "5. La progression est automatiquement enregistrée dans le stockage local"
- }
- },
- "plugin.orchestrator": {
- "fr": {
- "page.title": "Orchestrateur de flux de travail",
- "page.tabs.workflows": "Flux de travail",
- "page.tabs.allRuns": "Toutes les exécutions",
- "page.tabs.workflowDetails": "Détails du flux de travail",
- "page.tabs.workflowRuns": "Le flux de travail s'exécute",
- "table.title.workflows": "Flux de travail",
- "table.title.allRuns": "Toutes les courses ({{count}})",
- "table.title.allWorkflowRuns": "Exécutions du workflow ({{count}})",
- "table.headers.name": "Nom",
- "table.headers.runStatus": "État d'exécution",
- "table.headers.started": "Commencé",
- "table.headers.status": "Statut",
- "table.headers.workflowStatus": "Statut du flux de travail",
- "table.headers.duration": "Durée",
- "table.headers.description": "Description",
- "table.headers.lastRun": "Dernière course",
- "table.headers.lastRunStatus": "Statut de la dernière exécution",
- "table.headers.workflowName": "Nom du flux de travail",
- "table.actions.run": "Exécution",
- "table.actions.viewRuns": "Voir les exécutions",
- "table.actions.viewInputSchema": "Afficher le schéma d'entrée",
- "table.status.running": "En cours d'exécution",
- "table.status.failed": "Échoué",
- "table.status.completed": "Complété",
- "table.status.aborted": "Avorté",
- "table.status.pending": "En attente",
- "table.status.active": "Actif",
- "table.filters.status": "Statut",
- "table.filters.started": "Commencé",
- "table.filters.startedOptions.today": "Aujourd'hui",
- "table.filters.startedOptions.yesterday": "Hier",
- "table.filters.startedOptions.last7days": "Les 7 derniers jours",
- "table.filters.startedOptions.thisMonth": "Ce mois-ci",
- "workflow.details": "Détails",
- "workflow.definition": "Définition du flux de travail",
- "workflow.progress": "Progression du flux de travail",
- "workflow.status.available": "Disponible",
- "workflow.status.unavailable": "Non disponible",
- "workflow.fields.workflow": "Flux de travail",
- "workflow.fields.workflowStatus": "Statut du flux de travail",
- "workflow.fields.runStatus": "État d'exécution",
- "workflow.fields.duration": "Durée",
- "workflow.fields.description": "Description",
- "workflow.fields.started": "Commencé",
- "workflow.fields.workflowId": "ID d'exécution",
- "workflow.fields.workflowIdCopied": "ID d'exécution copié dans le presse-papiers",
- "workflow.errors.retriggerFailed": "Échec du redéclenchement : {{reason}}",
- "workflow.errors.abortFailed": "Échec de l'abandon : l'exécution a déjà été terminée.",
- "workflow.errors.abortFailedWithReason": "Échec de l'abandon : {{reason}}",
- "workflow.errors.failedToLoadDetails": "Échec du chargement des détails de l'ID de workflow : {{id}}",
- "workflow.messages.areYouSureYouWantToRunThisWorkflow": "Êtes-vous sûr de vouloir exécuter ce workflow ?",
- "workflow.messages.userNotAuthorizedExecute": "L'utilisateur n'est pas autorisé à exécuter le workflow.",
- "workflow.messages.workflowDown": "Le flux de travail est actuellement en panne ou dans un état d'erreur. L'exécuter maintenant peut échouer ou produire des résultats inattendus.",
- "workflow.buttons.run": "Exécution",
- "workflow.buttons.runWorkflow": "Exécuter le flux de travail",
- "workflow.buttons.runAgain": "Courir à nouveau",
- "workflow.buttons.running": "En cours d'exécution",
- "workflow.buttons.fromFailurePoint": "Du point de défaillance",
- "workflow.buttons.runFailedAgain": "L'exécution a échoué à nouveau",
- "run.title": "Exécuter le flux de travail",
- "run.pageTitle": "{{processName}} exécuter",
- "run.variables": "Variables d'exécution",
- "run.inputs": "Entrées",
- "run.results": "Résultats",
- "run.abort.title": "Abandonner l’exécution du workflow ?",
- "run.abort.button": "Avorter",
- "run.abort.warning": "L'abandon arrêtera immédiatement toutes les étapes en cours et en attente. Tout travail en cours sera perdu.",
- "run.abort.completed.title": "Exécution terminée",
- "run.abort.completed.message": "Il n'est pas possible d'interrompre l'exécution car elle est déjà terminée.",
- "run.status.completed": "Exécution terminée",
- "run.status.failed": "L'exécution a échoué {{time}}",
- "run.status.aborted": "L'exécution a été interrompue",
- "run.status.completedWithMessage": "Exécution terminée {{time}} avec message",
- "run.status.failedAt": "L'exécution a échoué {{time}}",
- "run.status.completedAt": "Exécution terminée {{time}}",
- "run.status.running": "Le flux de travail est en cours d'exécution. Démarré {{time}}",
- "run.status.runningWaitingAtNode": "Le workflow est en cours d'exécution – en attente au nœud {{node}} depuis {{formattedTime}}",
- "run.status.workflowIsRunning": "Le flux de travail est en cours d'exécution. Démarré {{time}}",
- "run.status.noAdditionalInfo": "Le flux de travail n'a fourni aucune information supplémentaire sur le statut.",
- "run.status.resultsWillBeDisplayedHereOnceTheRunIsComplete": "Les résultats seront affichés ici une fois l’exécution terminée.",
- "run.retrigger": "Redéclencher",
- "run.viewVariables": "Afficher les variables",
- "run.suggestedNextWorkflow": "Prochain flux de travail suggéré",
- "run.suggestedNextWorkflows": "Prochains flux de travail suggérés",
- "tooltips.completed": "Complété",
- "tooltips.active": "Actif",
- "tooltips.aborted": "Avorté",
- "tooltips.suspended": "Suspendu",
- "tooltips.pending": "En attente",
- "tooltips.workflowDown": "Le flux de travail est actuellement interrompu ou dans un état d'erreur",
- "tooltips.userNotAuthorizedAbort": "l'utilisateur n'est pas autorisé à interrompre le flux de travail",
- "tooltips.userNotAuthorizedExecute": "utilisateur non autorisé à exécuter le workflow",
- "messages.noDataAvailable": "Aucune donnée disponible",
- "messages.noVariablesFound": "Aucune variable trouvée pour cette exécution.",
- "messages.noInputSchemaWorkflow": "Aucun schéma d'entrée n'est défini pour ce workflow.",
- "messages.workflowInstanceNoInputs": "L'instance de workflow n'a aucune entrée",
- "messages.missingJsonSchema.title": "Schéma JSON manquant pour le formulaire de saisie",
- "messages.missingJsonSchema.message": "Ce workflow n'a pas de schéma JSON défini pour la validation des entrées. Vous pouvez toujours exécuter le workflow, mais la validation des entrées sera limitée.",
- "messages.additionalDetailsAboutThisErrorAreNotAvailable": "Des détails supplémentaires sur cette erreur ne sont pas disponibles",
- "common.close": "Fermer",
- "common.cancel": "Annuler",
- "common.execute": "Exécuter",
- "common.details": "Détails",
- "common.links": "Links",
- "common.values": "Valeurs",
- "common.back": "Arrière",
- "common.run": "Exécution",
- "common.next": "Suivant",
- "common.review": "Revoir",
- "common.unavailable": "---",
- "stepperObjectField.error": "Le champ d'objet Stepper n'est pas pris en charge pour les schémas qui ne contiennent pas de propriétés",
- "formDecorator.error": "Le décorateur de formulaire doit fournir des données contextuelles.",
- "aria.close": "fermer"
- }
- }
-}
diff --git a/translations/rhdh-reference-2025-12-05-fr-C.json b/translations/rhdh-reference-2025-12-05-fr-C.json
new file mode 100644
index 0000000000..88c4c154a2
--- /dev/null
+++ b/translations/rhdh-reference-2025-12-05-fr-C.json
@@ -0,0 +1,782 @@
+{
+ "catalog": {
+ "fr": {
+ "indexPage.createButtonTitle": "Self-service",
+ "indexPage.title": "Catalogue {{orgName}}",
+ "indexPage.supportButtonContent": "Toutes les entités de votre catalogue de logiciels",
+ "aboutCard.title": "À propos",
+ "aboutCard.refreshButtonTitle": "Actualisation de l'entité de planification",
+ "aboutCard.editButtonTitle": "Modifier les métadonnées",
+ "aboutCard.createSimilarButtonTitle": "Créer quelque chose de similaire",
+ "aboutCard.refreshScheduledMessage": "Actualisation programmée",
+ "aboutCard.launchTemplate": "Modèle de lancement",
+ "aboutCard.viewTechdocs": "Voir TechDocs",
+ "aboutCard.viewSource": "Voir la source",
+ "aboutCard.descriptionField.label": "Description",
+ "aboutCard.descriptionField.value": "Aucune description",
+ "aboutCard.ownerField.label": "Propriétaire",
+ "aboutCard.ownerField.value": "Pas de propriétaire",
+ "aboutCard.domainField.label": "Domaine",
+ "aboutCard.domainField.value": "Pas de domaine",
+ "aboutCard.systemField.label": "Système",
+ "aboutCard.systemField.value": "Pas de système",
+ "aboutCard.parentComponentField.label": "Composant parent",
+ "aboutCard.parentComponentField.value": "Aucun composant parent",
+ "aboutCard.typeField.label": "Taper",
+ "aboutCard.lifecycleField.label": "Cycle de vie",
+ "aboutCard.tagsField.label": "Mots-clés",
+ "aboutCard.tagsField.value": "Aucune balise",
+ "aboutCard.targetsField.label": "Cibles",
+ "searchResultItem.lifecycle": "Cycle de vie",
+ "searchResultItem.Owner": "Propriétaire",
+ "catalogTable.warningPanelTitle": "Impossible de récupérer les entités du catalogue.",
+ "catalogTable.viewActionTitle": "Voir",
+ "catalogTable.editActionTitle": "Modifier",
+ "catalogTable.starActionTitle": "Ajouter aux favoris",
+ "catalogTable.unStarActionTitle": "Supprimer des favoris",
+ "dependencyOfComponentsCard.title": "Dépendance des composants",
+ "dependencyOfComponentsCard.emptyMessage": "Aucun composant ne dépend de ce composant",
+ "dependsOnComponentsCard.title": "Cela dépend des composants",
+ "dependsOnComponentsCard.emptyMessage": "Aucun composant n'est une dépendance de ce composant",
+ "dependsOnResourcesCard.title": "Cela dépend des ressources",
+ "dependsOnResourcesCard.emptyMessage": "Aucune ressource n'est une dépendance de ce composant",
+ "entityContextMenu.copiedMessage": "Copié!",
+ "entityContextMenu.moreButtonTitle": "Plus",
+ "entityContextMenu.inspectMenuTitle": "Inspecter l'entité",
+ "entityContextMenu.copyURLMenuTitle": "Copier l'URL de l'entité",
+ "entityContextMenu.unregisterMenuTitle": "Désenregistrer l'entité",
+ "entityLabelsCard.title": "Étiquettes",
+ "entityLabelsCard.emptyDescription": "Aucune étiquette définie pour cette entité. Vous pouvez ajouter des étiquettes à votre entité YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ "entityLabelsCard.readMoreButtonTitle": "En savoir plus",
+ "entityLabels.warningPanelTitle": "Entité non trouvée",
+ "entityLabels.ownerLabel": "Propriétaire",
+ "entityLabels.lifecycleLabel": "Cycle de vie",
+ "entityLinksCard.title": "Links",
+ "entityLinksCard.emptyDescription": "Aucun lien défini pour cette entité. Vous pouvez ajouter des liens vers votre entité YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ "entityLinksCard.readMoreButtonTitle": "En savoir plus",
+ "entityNotFound.title": "L'entité n'a pas été trouvée",
+ "entityNotFound.description": "Vous voulez nous aider à construire cela ? Consultez notre documentation de mise en route.",
+ "entityNotFound.docButtonTitle": "DOCUMENTS",
+ "deleteEntity.dialogTitle": "Êtes-vous sûr de vouloir supprimer cette entité ?",
+ "deleteEntity.deleteButtonTitle": "Supprimer",
+ "deleteEntity.cancelButtonTitle": "Annuler",
+ "deleteEntity.description": "Cette entité n'est référencée par aucun emplacement et ne reçoit donc pas de mises à jour. Cliquez ici pour supprimer.",
+ "entityProcessingErrorsDescription": "L'erreur ci-dessous provient de",
+ "entityRelationWarningDescription": "Cette entité a des relations avec d'autres entités, qui ne peuvent pas être trouvées dans le catalogue. Les entités non trouvées sont : ",
+ "hasComponentsCard.title": "Contient des composants",
+ "hasComponentsCard.emptyMessage": "Aucun composant ne fait partie de ce système",
+ "hasResourcesCard.title": "Dispose de ressources",
+ "hasResourcesCard.emptyMessage": "Aucune ressource ne fait partie de ce système",
+ "hasSubcomponentsCard.title": "A des sous-composants",
+ "hasSubcomponentsCard.emptyMessage": "Aucun sous-composant ne fait partie de ce composant",
+ "hasSubdomainsCard.title": "A des sous-domaines",
+ "hasSubdomainsCard.emptyMessage": "Aucun sous-domaine ne fait partie de ce domaine",
+ "hasSystemsCard.title": "A des systèmes",
+ "hasSystemsCard.emptyMessage": "Aucun système ne fait partie de ce domaine",
+ "relatedEntitiesCard.emptyHelpLinkTitle": "Apprenez à changer cela",
+ "systemDiagramCard.title": "Diagramme du système",
+ "systemDiagramCard.description": "Utilisez le pincement et le zoom pour vous déplacer dans le diagramme.",
+ "systemDiagramCard.edgeLabels.partOf": "une partie de",
+ "systemDiagramCard.edgeLabels.provides": "fournit",
+ "systemDiagramCard.edgeLabels.dependsOn": "dépend de"
+ }
+ },
+ "catalog-import": {
+ "fr": {
+ "defaultImportPage.headerTitle": "Importer un dépôt Git existant",
+ "importInfoCard.title": "Importer un dépôt Git existant",
+ "buttons.back": "Arrière",
+ "defaultImportPage.contentHeaderTitle": "Commencez à suivre votre composant dans {{appTitle}}",
+ "defaultImportPage.supportTitle": "Commencez à suivre votre composant dans {{appTitle}} en l'ajoutant au catalogue de logiciels.",
+ "importInfoCard.deepLinkTitle": "En savoir plus sur le catalogue de logiciels",
+ "importInfoCard.linkDescription": "Saisissez l'URL de votre référentiel de code source pour l'ajouter à {{appTitle}}.",
+ "importInfoCard.fileLinkTitle": "Lien vers un fichier d'entité existant",
+ "importInfoCard.examplePrefix": "Exemple: ",
+ "importInfoCard.fileLinkDescription": "L'assistant analyse le fichier, prévisualise les entités et les ajoute au catalogue {{appTitle}}.",
+ "importInfoCard.githubIntegration.title": "Lien vers un référentiel",
+ "importInfoCard.githubIntegration.label": "GitHub uniquement",
+ "importInfoCard.exampleDescription": "L'assistant découvre tous les fichiers {{catalogFilename}} dans le référentiel, prévisualise les entités et les ajoute au catalogue {{appTitle}}.",
+ "importInfoCard.preparePullRequestDescription": "Si aucune entité n'est trouvée, l'assistant préparera une Pull Request qui ajoute un exemple de {{catalogFilename}} et prépare le catalogue {{appTitle}} pour charger toutes les entités dès que la Pull Request est fusionnée.",
+ "importStepper.singleLocation.title": "Sélectionner des emplacements",
+ "importStepper.singleLocation.description": "Lieux découverts : 1",
+ "importStepper.multipleLocations.title": "Sélectionner des emplacements",
+ "importStepper.multipleLocations.description": "Lieux découverts : {{length, number}}",
+ "importStepper.noLocation.title": "Créer une demande d'extraction",
+ "importStepper.noLocation.createPr.detailsTitle": "Détails de la demande d'extraction",
+ "importStepper.noLocation.createPr.titleLabel": "Titre de la demande d'extraction",
+ "importStepper.noLocation.createPr.titlePlaceholder": "Ajouter des fichiers descripteurs d'entités de catalogue Backstage",
+ "importStepper.noLocation.createPr.bodyLabel": "Corps de la demande d'extraction",
+ "importStepper.noLocation.createPr.bodyPlaceholder": "Un texte descriptif avec prise en charge Markdown",
+ "importStepper.noLocation.createPr.configurationTitle": "Configuration de l'entité",
+ "importStepper.noLocation.createPr.componentNameLabel": "Nom du composant créé",
+ "importStepper.noLocation.createPr.componentNamePlaceholder": "mon-composant",
+ "importStepper.noLocation.createPr.ownerLoadingText": "Chargement des groupes…",
+ "importStepper.noLocation.createPr.ownerHelperText": "Sélectionnez un propriétaire dans la liste ou entrez une référence à un groupe ou à un utilisateur",
+ "importStepper.noLocation.createPr.ownerErrorHelperText": "valeur requise",
+ "importStepper.noLocation.createPr.ownerLabel": "Propriétaire de l'entité",
+ "importStepper.noLocation.createPr.ownerPlaceholder": "mon-groupe",
+ "importStepper.noLocation.createPr.codeownersHelperText": "AVERTISSEMENT : cette opération peut échouer si aucun fichier CODEOWNERS n'est trouvé à l'emplacement cible.",
+ "importStepper.analyze.title": "Sélectionnez l'URL",
+ "importStepper.prepare.title": "Actions d'importation",
+ "importStepper.prepare.description": "Facultatif",
+ "importStepper.review.title": "Revoir",
+ "importStepper.finish.title": "Finition",
+ "stepFinishImportLocation.backButtonText": "Enregistrer un autre",
+ "stepFinishImportLocation.repository.title": "La Pull Request suivante a été ouverte : ",
+ "stepFinishImportLocation.repository.description": "Vos entités seront importées dès que la Pull Request sera fusionnée.",
+ "stepFinishImportLocation.locations.new": "Les entités suivantes ont été ajoutées au catalogue :",
+ "stepFinishImportLocation.locations.existing": "Une actualisation a été déclenchée pour les emplacements suivants :",
+ "stepFinishImportLocation.locations.viewButtonText": "Afficher le composant",
+ "stepFinishImportLocation.locations.backButtonText": "Enregistrer un autre",
+ "stepInitAnalyzeUrl.error.repository": "Impossible de générer des entités pour votre référentiel",
+ "stepInitAnalyzeUrl.error.locations": "Il n'y a aucune entité à cet endroit",
+ "stepInitAnalyzeUrl.error.default": "Résultat d'analyse inconnu reçu de type {{type}}. Veuillez contacter l'équipe d'assistance.",
+ "stepInitAnalyzeUrl.error.url": "Doit commencer par http:// ou https://.",
+ "stepInitAnalyzeUrl.urlHelperText": "Saisissez le chemin complet vers votre fichier d'entité pour commencer à suivre votre composant",
+ "stepInitAnalyzeUrl.nextButtonText": "Analyser",
+ "stepPrepareCreatePullRequest.description": "Vous avez entré un lien vers un référentiel {{integrationType}} mais aucun {{catalogFilename}} n'a pu être trouvé. Utilisez ce formulaire pour ouvrir une Pull Request qui en crée une.",
+ "stepPrepareCreatePullRequest.previewPr.title": "Aperçu de la demande d'extraction",
+ "stepPrepareCreatePullRequest.previewPr.subheader": "Créer une nouvelle Pull Request",
+ "stepPrepareCreatePullRequest.previewCatalogInfo.title": "Aperçu des entités",
+ "stepPrepareCreatePullRequest.nextButtonText": "Créer des relations publiques",
+ "stepPrepareSelectLocations.locations.description": "Sélectionnez un ou plusieurs emplacements présents dans votre dépôt git :",
+ "stepPrepareSelectLocations.locations.selectAll": "Sélectionner tout",
+ "stepPrepareSelectLocations.existingLocations.description": "Ces emplacements existent déjà dans le catalogue :",
+ "stepPrepareSelectLocations.nextButtonText": "Revoir",
+ "stepReviewLocation.prepareResult.title": "La Pull Request suivante a été ouverte : ",
+ "stepReviewLocation.prepareResult.description": "Vous pouvez déjà importer l'emplacement et {{appTitle}} récupérera les entités dès que la Pull Request sera fusionnée.",
+ "stepReviewLocation.catalog.exists": "Les emplacements suivants existent déjà dans le catalogue :",
+ "stepReviewLocation.catalog.new": "Les entités suivantes seront ajoutées au catalogue :",
+ "stepReviewLocation.refresh": "Rafraîchir",
+ "stepReviewLocation.import": "Importer"
+ }
+ },
+ "core-components": {
+ "fr": {
+ "table.filter.placeholder": "Tous les résultats",
+ "table.body.emptyDataSourceMessage": "Aucun enregistrement à afficher",
+ "table.pagination.firstTooltip": "Première page",
+ "table.pagination.labelDisplayedRows": "{de}-{à} de {count}",
+ "table.pagination.labelRowsSelect": "rangées",
+ "table.pagination.lastTooltip": "Dernière page",
+ "table.pagination.nextTooltip": "Page suivante",
+ "table.pagination.previousTooltip": "Page précédente",
+ "table.toolbar.search": "Filtre",
+ "alertDisplay.message_one": "({{ count }} message plus récent)",
+ "alertDisplay.message_other": "({{ count }} messages plus récents)",
+ "table.header.actions": "Actes",
+ "oauthRequestDialog.message": "Connectez-vous pour autoriser {{appTitle}} à accéder aux API et identités de {{provider}}.",
+ "signIn.title": "Se connecter",
+ "signIn.loginFailed": "La connexion a échoué",
+ "signIn.customProvider.title": "Utilisateur personnalisé",
+ "signIn.customProvider.subtitle": "Saisissez votre propre identifiant utilisateur et vos informations d'identification. Cette sélection ne sera pas enregistrée.",
+ "signIn.customProvider.userId": "ID de l'utilisateur",
+ "signIn.customProvider.tokenInvalid": "Le jeton n'est pas un jeton JWT OpenID Connect valide",
+ "signIn.customProvider.continue": "Continuer",
+ "signIn.customProvider.idToken": "Jeton d'identification (facultatif)",
+ "signIn.guestProvider.title": "Invité",
+ "signIn.guestProvider.subtitle": "Entrez en tant qu'utilisateur invité. Votre identité n'aura pas été vérifiée, ce qui signifie que certaines fonctionnalités pourraient ne pas être disponibles.",
+ "signIn.guestProvider.enter": "Entrer",
+ "skipToContent": "Accéder au contenu",
+ "copyTextButton.tooltipText": "Texte copié dans le presse-papiers",
+ "simpleStepper.reset": "Réinitialiser",
+ "simpleStepper.finish": "Finition",
+ "simpleStepper.next": "Suivant",
+ "simpleStepper.skip": "Ignorer",
+ "simpleStepper.back": "Arrière",
+ "errorPage.subtitle": "ERREUR {{status}} : {{statusMessage}}",
+ "errorPage.title": "On dirait que quelqu'un a laissé tomber le micro !",
+ "errorPage.goBack": "Retour",
+ "errorPage.showMoreDetails": "Afficher plus de détails",
+ "errorPage.showLessDetails": "Afficher moins de détails",
+ "emptyState.missingAnnotation.title": "Annotation manquante",
+ "emptyState.missingAnnotation.actionTitle": "Ajoutez l'annotation à votre composant YAML comme indiqué dans l'exemple en surbrillance ci-dessous :",
+ "emptyState.missingAnnotation.readMore": "En savoir plus",
+ "supportConfig.default.title": "Support non configuré",
+ "supportConfig.default.linkTitle": "Ajouter la clé de configuration « app.support »",
+ "errorBoundary.title": "Veuillez contacter {{slackChannel}} pour obtenir de l'aide.",
+ "oauthRequestDialog.title": "Connexion requise",
+ "oauthRequestDialog.authRedirectTitle": "Cela déclenchera une redirection http vers la connexion OAuth.",
+ "oauthRequestDialog.login": "Connexion",
+ "oauthRequestDialog.rejectAll": "Tout rejeter",
+ "supportButton.title": "Support",
+ "supportButton.close": "Fermer",
+ "table.filter.title": "Filtres",
+ "table.filter.clearAll": "Tout effacer",
+ "autoLogout.stillTherePrompt.title": "Déconnexion en raison d'inactivité",
+ "autoLogout.stillTherePrompt.buttonText": "Oui! Ne me déconnectez pas",
+ "proxiedSignInPage.title": "Vous ne semblez pas être connecté. Veuillez essayer de recharger la page du navigateur."
+ }
+ },
+ "rhdh": {
+ "fr": {
+ "menuItem.home": "Home",
+ "menuItem.myGroup_one": "Mon groupe",
+ "menuItem.myGroup_other": "Mes groupes",
+ "menuItem.catalog": "Catalogue",
+ "menuItem.apis": "APIs",
+ "menuItem.learningPaths": "Learning Paths",
+ "menuItem.selfService": "Self-service",
+ "menuItem.userSettings": "Paramètres utilisateur",
+ "menuItem.administration": "Administration",
+ "menuItem.extensions": "Extensions",
+ "menuItem.clusters": "Groupes",
+ "menuItem.rbac": "RBAC",
+ "menuItem.bulkImport": "Importation en masse",
+ "menuItem.docs": "Docs",
+ "menuItem.lighthouse": "Lighthouse",
+ "menuItem.techRadar": "Tech Radar",
+ "menuItem.orchestrator": "Orchestrateur",
+ "menuItem.adoptionInsights": "Adoption Insights",
+ "sidebar.menu": "Menu",
+ "sidebar.home": "Home",
+ "sidebar.homeLogo": "Logo de la maison",
+ "signIn.page.title": "Sélectionnez une méthode de connexion",
+ "signIn.providers.auth0.title": "Auth0",
+ "signIn.providers.auth0.message": "Connectez-vous avec Auth0",
+ "signIn.providers.atlassian.title": "Atlassian",
+ "signIn.providers.atlassian.message": "Connectez-vous avec Atlassian",
+ "signIn.providers.microsoft.title": "Microsoft",
+ "signIn.providers.microsoft.message": "Connectez-vous avec Microsoft",
+ "signIn.providers.bitbucket.title": "Bitbucket",
+ "signIn.providers.bitbucket.message": "Connectez-vous avec Bitbucket",
+ "signIn.providers.bitbucketServer.title": "Serveur Bitbucket",
+ "signIn.providers.bitbucketServer.message": "Connectez-vous à l'aide de Bitbucket Server",
+ "signIn.providers.github.title": "GitHub",
+ "signIn.providers.github.message": "Connectez-vous avec GitHub",
+ "signIn.providers.gitlab.title": "GitLab",
+ "signIn.providers.gitlab.message": "Connectez-vous avec GitLab",
+ "signIn.providers.google.title": "Google",
+ "signIn.providers.google.message": "Connectez-vous avec Google",
+ "signIn.providers.oidc.title": "OIDC",
+ "signIn.providers.oidc.message": "Connectez-vous avec OIDC",
+ "signIn.providers.okta.title": "Okta",
+ "signIn.providers.okta.message": "Connectez-vous avec Okta",
+ "signIn.providers.onelogin.title": "OneLogin",
+ "signIn.providers.onelogin.message": "Connectez-vous avec OneLogin",
+ "signIn.providers.saml.title": "SAML",
+ "signIn.providers.saml.message": "Connectez-vous en utilisant SAML",
+ "catalog.entityPage.overview.title": "Vue d’ensemble",
+ "catalog.entityPage.topology.title": "Topologie",
+ "catalog.entityPage.issues.title": "Problèmes",
+ "catalog.entityPage.pullRequests.title": "Extraire/Merger les Demandes",
+ "catalog.entityPage.ci.title": "CI",
+ "catalog.entityPage.cd.title": "CD",
+ "catalog.entityPage.kubernetes.title": "Kubernetes",
+ "catalog.entityPage.imageRegistry.title": "Registre d’images",
+ "catalog.entityPage.monitoring.title": "Surveillance",
+ "catalog.entityPage.lighthouse.title": "Lighthouse",
+ "catalog.entityPage.api.title": "API",
+ "catalog.entityPage.dependencies.title": "Dépendances",
+ "catalog.entityPage.docs.title": "Docs",
+ "catalog.entityPage.definition.title": "Définition",
+ "catalog.entityPage.diagram.title": "Diagramme du système",
+ "catalog.entityPage.workflows.title": "Flux de travail",
+ "app.scaffolder.title": "Self-service",
+ "app.search.title": "Recherche",
+ "app.search.resultType": "Type de résultat",
+ "app.search.softwareCatalog": "Catalogue de logiciels",
+ "app.search.filters.kind": "Type",
+ "app.search.filters.lifecycle": "Cycle de vie",
+ "app.search.filters.component": "Composant",
+ "app.search.filters.template": "Modèle",
+ "app.search.filters.experimental": "expérimental",
+ "app.search.filters.production": "production",
+ "app.learningPaths.title": "Learning Paths",
+ "app.learningPaths.error.title": "Impossible de récupérer les données.",
+ "app.learningPaths.error.unknownError": "Erreur inconnue",
+ "app.userSettings.infoCard.title": "Métadonnées RHDH",
+ "app.userSettings.infoCard.metadataCopied": "Métadonnées copiées dans le presse-papiers",
+ "app.userSettings.infoCard.copyMetadata": "Copier les métadonnées dans votre presse-papiers",
+ "app.userSettings.infoCard.showLess": "Afficher moins",
+ "app.userSettings.infoCard.showMore": "Afficher plus",
+ "app.errors.contactSupport": "Contacter le support",
+ "app.errors.goBack": "Retour",
+ "app.errors.notFound.message": "Nous n'avons pas pu trouver cette page",
+ "app.errors.notFound.additionalInfo": "La page que vous recherchez a peut-être été supprimée, son nom a peut-être été modifié ou elle est temporairement indisponible.",
+ "app.table.createdAt": "Créé à",
+ "menuItem.myGroup": "Mon groupe",
+ "app.entityPage.diagram.title": "Diagramme du système"
+ }
+ },
+ "scaffolder": {
+ "fr": {
+ "templateListPage.contentHeader.registerExistingButtonTitle": "Importer un dépôt Git existant",
+ "aboutCard.launchTemplate": "Modèle de lancement",
+ "actionsPage.title": "Actions installées",
+ "actionsPage.pageTitle": "Créer un nouveau composant",
+ "actionsPage.subtitle": "Il s'agit de la collection de toutes les actions installées",
+ "actionsPage.content.emptyState.title": "Aucune information à afficher",
+ "actionsPage.content.emptyState.description": "Aucune action n'est installée ou il y a eu un problème de communication avec le backend.",
+ "actionsPage.content.searchFieldPlaceholder": "Rechercher une action",
+ "actionsPage.action.input": "Saisir",
+ "actionsPage.action.output": "Sortir",
+ "actionsPage.action.examples": "Exemples",
+ "fields.entityNamePicker.title": "Nom",
+ "fields.entityNamePicker.description": "Nom unique du composant",
+ "fields.entityPicker.title": "Entité",
+ "fields.entityPicker.description": "Une entité du catalogue",
+ "fields.entityTagsPicker.title": "Mots-clés",
+ "fields.entityTagsPicker.description": "Ajoutez toutes les balises pertinentes, appuyez sur « Entrée » pour ajouter de nouvelles balises. Format valide : [a-z0-9+#] séparés par [-], au maximum 63 caractères",
+ "fields.multiEntityPicker.title": "Entité",
+ "fields.multiEntityPicker.description": "Une entité du catalogue",
+ "fields.myGroupsPicker.title": "Entité",
+ "fields.myGroupsPicker.description": "Une entité du catalogue",
+ "fields.ownedEntityPicker.title": "Entité",
+ "fields.ownedEntityPicker.description": "Une entité du catalogue",
+ "fields.ownerPicker.title": "Propriétaire",
+ "fields.ownerPicker.description": "Le propriétaire du composant",
+ "fields.azureRepoPicker.organization.title": "Organisation",
+ "fields.azureRepoPicker.organization.description": "L'organisation à laquelle appartiendra ce dépôt",
+ "fields.azureRepoPicker.project.title": "Projet",
+ "fields.azureRepoPicker.project.description": "Le projet auquel ce dépôt appartiendra",
+ "fields.bitbucketRepoPicker.workspaces.title": "Espaces de travail autorisés",
+ "fields.bitbucketRepoPicker.workspaces.inputTitle": "Espaces de travail",
+ "fields.bitbucketRepoPicker.workspaces.description": "L'espace de travail auquel ce dépôt appartiendra",
+ "fields.bitbucketRepoPicker.project.title": "Projets autorisés",
+ "fields.bitbucketRepoPicker.project.inputTitle": "Projets",
+ "fields.bitbucketRepoPicker.project.description": "Le projet auquel ce dépôt appartiendra",
+ "fields.gerritRepoPicker.owner.title": "Propriétaire",
+ "fields.gerritRepoPicker.owner.description": "Le propriétaire du projet (facultatif)",
+ "fields.gerritRepoPicker.parent.title": "Mère",
+ "fields.gerritRepoPicker.parent.description": "Le parent du projet auquel appartiendra le dépôt",
+ "fields.giteaRepoPicker.owner.title": "Propriétaire disponible",
+ "fields.giteaRepoPicker.owner.inputTitle": "Propriétaire",
+ "fields.giteaRepoPicker.owner.description": "Espace de noms Gitea auquel appartiendra ce dépôt. Il peut s’agir du nom d’une organisation, d’un groupe, d’un sous-groupe, d’un utilisateur ou du projet.",
+ "fields.githubRepoPicker.owner.title": "Propriétaire disponible",
+ "fields.githubRepoPicker.owner.inputTitle": "Propriétaire",
+ "fields.githubRepoPicker.owner.description": "L'organisation, l'utilisateur ou le projet auquel ce dépôt appartiendra",
+ "fields.gitlabRepoPicker.owner.title": "Propriétaire disponible",
+ "fields.gitlabRepoPicker.owner.inputTitle": "Propriétaire",
+ "fields.gitlabRepoPicker.owner.description": "Espace de noms GitLab auquel appartiendra ce référentiel. Il peut s’agir du nom d’une organisation, d’un groupe, d’un sous-groupe, d’un utilisateur ou du projet.",
+ "fields.repoUrlPicker.host.title": "Hôte",
+ "fields.repoUrlPicker.host.description": "L'hôte où le référentiel sera créé",
+ "fields.repoUrlPicker.repository.title": "Dépôts disponibles",
+ "fields.repoUrlPicker.repository.inputTitle": "Dépôt",
+ "fields.repoUrlPicker.repository.description": "Le nom du référentiel",
+ "listTaskPage.title": "Liste des tâches du modèle",
+ "listTaskPage.pageTitle": "Modèles de tâches",
+ "listTaskPage.subtitle": "Toutes les tâches qui ont été commencées",
+ "listTaskPage.content.emptyState.title": "Aucune information à afficher",
+ "listTaskPage.content.emptyState.description": "Il n'y a aucune tâche ou il y a eu un problème de communication avec le backend.",
+ "listTaskPage.content.tableTitle": "Tâches",
+ "listTaskPage.content.tableCell.taskID": "ID de tâche",
+ "listTaskPage.content.tableCell.template": "Modèle",
+ "listTaskPage.content.tableCell.created": "Créé",
+ "listTaskPage.content.tableCell.owner": "Propriétaire",
+ "listTaskPage.content.tableCell.status": "Statut",
+ "ownerListPicker.title": "Propriétaire de la tâche",
+ "ownerListPicker.options.owned": "Possédé",
+ "ownerListPicker.options.all": "Tous",
+ "ongoingTask.title": "Course de",
+ "ongoingTask.pageTitle.hasTemplateName": "Série de {{templateName}}",
+ "ongoingTask.pageTitle.noTemplateName": "Course d'échafaudeurs",
+ "ongoingTask.subtitle": "Tâche {{taskId}}",
+ "ongoingTask.cancelButtonTitle": "Annuler",
+ "ongoingTask.retryButtonTitle": "Réessayer",
+ "ongoingTask.startOverButtonTitle": "Recommencer",
+ "ongoingTask.hideLogsButtonTitle": "Masquer les journaux",
+ "ongoingTask.showLogsButtonTitle": "Afficher les journaux",
+ "ongoingTask.contextMenu.hideLogs": "Masquer les journaux",
+ "ongoingTask.contextMenu.showLogs": "Afficher les journaux",
+ "ongoingTask.contextMenu.hideButtonBar": "Masquer la barre de boutons",
+ "ongoingTask.contextMenu.retry": "Réessayer",
+ "ongoingTask.contextMenu.showButtonBar": "Afficher la barre de boutons",
+ "ongoingTask.contextMenu.startOver": "Recommencer",
+ "ongoingTask.contextMenu.cancel": "Annuler",
+ "templateEditorForm.stepper.emptyText": "Il n'y a aucun paramètre de spécification dans le modèle à prévisualiser.",
+ "renderSchema.tableCell.name": "Nom",
+ "renderSchema.tableCell.title": "Titre",
+ "renderSchema.tableCell.description": "Description",
+ "renderSchema.tableCell.type": "Taper",
+ "renderSchema.undefined": "Aucun schéma défini",
+ "templatingExtensions.title": "Extensions de modèles",
+ "templatingExtensions.pageTitle": "Extensions de modèles",
+ "templatingExtensions.subtitle": "Il s'agit de la collection d'extensions de modèles disponibles",
+ "templatingExtensions.content.emptyState.title": "Aucune information à afficher",
+ "templatingExtensions.content.emptyState.description": "Aucune extension de modèle n'est disponible ou il y a eu un problème de communication avec le backend.",
+ "templatingExtensions.content.searchFieldPlaceholder": "Rechercher une extension",
+ "templatingExtensions.content.filters.title": "Filtres",
+ "templatingExtensions.content.filters.notAvailable": "Aucun filtre de modèle n'est défini.",
+ "templatingExtensions.content.filters.metadataAbsent": "Les métadonnées du filtre ne sont pas disponibles",
+ "templatingExtensions.content.filters.schema.input": "Saisir",
+ "templatingExtensions.content.filters.schema.arguments": "Arguments",
+ "templatingExtensions.content.filters.schema.output": "Sortir",
+ "templatingExtensions.content.filters.examples": "Exemples",
+ "templatingExtensions.content.functions.title": "Fonctions",
+ "templatingExtensions.content.functions.notAvailable": "Aucune fonction de modèle globale n'est définie.",
+ "templatingExtensions.content.functions.metadataAbsent": "Métadonnées de fonction indisponibles",
+ "templatingExtensions.content.functions.schema.arguments": "Arguments",
+ "templatingExtensions.content.functions.schema.output": "Sortir",
+ "templatingExtensions.content.functions.examples": "Exemples",
+ "templatingExtensions.content.values.title": "Valeurs",
+ "templatingExtensions.content.values.notAvailable": "Aucune valeur de modèle globale n'est définie.",
+ "templateTypePicker.title": "Catégories",
+ "templateIntroPage.title": "Gérer les modèles",
+ "templateIntroPage.subtitle": "Modifiez, prévisualisez et essayez des modèles, des formulaires et des champs personnalisés",
+ "templateFormPage.title": "Éditeur de modèles",
+ "templateFormPage.subtitle": "Modifier, prévisualiser et tester des modèles de formulaires",
+ "templateCustomFieldPage.title": "Explorateur de champs personnalisés",
+ "templateCustomFieldPage.subtitle": "Modifier, prévisualiser et tester les champs personnalisés",
+ "templateEditorPage.title": "Éditeur de modèles",
+ "templateEditorPage.subtitle": "Modifier, prévisualiser et tester des modèles et des formulaires de modèles",
+ "templateEditorPage.dryRunResults.title": "Résultats de l'essai à blanc",
+ "templateEditorPage.dryRunResultsList.title": "Résultat {{resultId}}",
+ "templateEditorPage.dryRunResultsList.downloadButtonTitle": "Télécharger au format .zip",
+ "templateEditorPage.dryRunResultsList.deleteButtonTitle": "Supprimer le résultat",
+ "templateEditorPage.dryRunResultsView.tab.files": "Fichiers",
+ "templateEditorPage.dryRunResultsView.tab.log": "Enregistrer",
+ "templateEditorPage.dryRunResultsView.tab.output": "Sortir",
+ "templateEditorPage.taskStatusStepper.skippedStepTitle": "Ignoré",
+ "templateEditorPage.customFieldExplorer.selectFieldLabel": "Choisissez une extension de champ personnalisée",
+ "templateEditorPage.customFieldExplorer.fieldForm.title": "Options de champ",
+ "templateEditorPage.customFieldExplorer.fieldForm.applyButtonTitle": "Appliquer",
+ "templateEditorPage.customFieldExplorer.fieldPreview.title": "Aperçu du terrain",
+ "templateEditorPage.customFieldExplorer.preview.title": "Spécifications du modèle",
+ "templateEditorPage.templateEditorBrowser.closeConfirmMessage": "Es-tu sûr? Les modifications non enregistrées seront perdues",
+ "templateEditorPage.templateEditorBrowser.saveIconTooltip": "Enregistrer tous les fichiers",
+ "templateEditorPage.templateEditorBrowser.reloadIconTooltip": "Recharger le répertoire",
+ "templateEditorPage.templateEditorBrowser.closeIconTooltip": "Fermer le répertoire",
+ "templateEditorPage.templateEditorIntro.title": "Commencez par choisir l'une des options ci-dessous",
+ "templateEditorPage.templateEditorIntro.loadLocal.title": "Charger le répertoire des modèles",
+ "templateEditorPage.templateEditorIntro.loadLocal.description": "Chargez un répertoire de modèles local, vous permettant à la fois de modifier et d'essayer d'exécuter votre propre modèle.",
+ "templateEditorPage.templateEditorIntro.loadLocal.unsupportedTooltip": "Uniquement pris en charge dans certains navigateurs basés sur Chromium avec la page chargée via HTTPS",
+ "templateEditorPage.templateEditorIntro.createLocal.title": "Créer un nouveau modèle",
+ "templateEditorPage.templateEditorIntro.createLocal.description": "Créez un répertoire de modèles local, vous permettant à la fois de modifier et d'essayer d'exécuter votre propre modèle.",
+ "templateEditorPage.templateEditorIntro.createLocal.unsupportedTooltip": "Uniquement pris en charge dans certains navigateurs basés sur Chromium avec la page chargée via HTTPS",
+ "templateEditorPage.templateEditorIntro.formEditor.title": "Modèle de formulaire de terrain de jeu",
+ "templateEditorPage.templateEditorIntro.formEditor.description": "Prévisualisez et modifiez un modèle de formulaire, soit en utilisant un exemple de modèle, soit en chargeant un modèle à partir du catalogue.",
+ "templateEditorPage.templateEditorIntro.fieldExplorer.title": "Explorateur de champs personnalisés",
+ "templateEditorPage.templateEditorIntro.fieldExplorer.description": "Affichez et jouez avec les extensions de champs personnalisés installées disponibles.",
+ "templateEditorPage.templateEditorTextArea.saveIconTooltip": "Enregistrer le fichier",
+ "templateEditorPage.templateEditorTextArea.refreshIconTooltip": "Recharger le fichier",
+ "templateEditorPage.templateEditorTextArea.emptyStateParagraph": "Veuillez sélectionner une action dans le menu fichier.",
+ "templateEditorPage.templateFormPreviewer.title": "Charger le modèle existant",
+ "templateListPage.title": "Créer un nouveau composant",
+ "templateListPage.subtitle": "Créez de nouveaux composants logiciels à l'aide de modèles standard dans votre organisation",
+ "templateListPage.pageTitle": "Créer un nouveau composant",
+ "templateListPage.templateGroups.defaultTitle": "Modèles",
+ "templateListPage.templateGroups.otherTitle": "Autres modèles",
+ "templateListPage.contentHeader.supportButtonTitle": "Créez de nouveaux composants logiciels à l’aide de modèles standard. Différents modèles créent différents types de composants (services, sites Web, documentation, ...).",
+ "templateListPage.additionalLinksForEntity.viewTechDocsTitle": "Voir TechDocs",
+ "templateWizardPage.title": "Créer un nouveau composant",
+ "templateWizardPage.subtitle": "Créez de nouveaux composants logiciels à l'aide de modèles standard dans votre organisation",
+ "templateWizardPage.pageTitle": "Créer un nouveau composant",
+ "templateWizardPage.pageContextMenu.editConfigurationTitle": "Modifier la configuration",
+ "templateEditorToolbar.customFieldExplorerTooltip": "Explorateur de champs personnalisés",
+ "templateEditorToolbar.installedActionsDocumentationTooltip": "Documentation des actions installées",
+ "templateEditorToolbar.templatingExtensionsDocumentationTooltip": "Documentation des extensions de modèles",
+ "templateEditorToolbar.addToCatalogButton": "Publier",
+ "templateEditorToolbar.addToCatalogDialogTitle": "Publier les modifications",
+ "templateEditorToolbar.addToCatalogDialogContent.stepsIntroduction": "Suivez les instructions ci-dessous pour créer ou mettre à jour un modèle :",
+ "templateEditorToolbar.addToCatalogDialogContent.stepsListItems": "Enregistrez les fichiers de modèle dans un répertoire local Créez une demande d'extraction vers un dépôt git nouveau ou existant Si le modèle existe déjà, les modifications seront reflétées dans le catalogue de logiciels une fois la demande d'extraction fusionnée Mais si vous créez un nouveau modèle, suivez la documentation liée ci-dessous pour enregistrer le nouveau dépôt de modèles dans le catalogue de logiciels",
+ "templateEditorToolbar.addToCatalogDialogActions.documentationButton": "Accéder à la documentation",
+ "templateEditorToolbar.addToCatalogDialogActions.documentationUrl": "https://backstage.io/docs/features/software-templates/adding-templates/",
+ "templateEditorToolbarFileMenu.button": "Déposer",
+ "templateEditorToolbarFileMenu.options.openDirectory": "Ouvrir le répertoire des modèles",
+ "templateEditorToolbarFileMenu.options.createDirectory": "Créer un répertoire de modèles",
+ "templateEditorToolbarFileMenu.options.closeEditor": "Fermer l'éditeur de modèles",
+ "templateEditorToolbarTemplatesMenu.button": "Modèles"
+ }
+ },
+ "search": {
+ "fr": {
+ "sidebarSearchModal.title": "Rechercher",
+ "searchModal.viewFullResults": "Voir les résultats complets",
+ "searchType.allResults": "Tous les résultats",
+ "searchType.tabs.allTitle": "Tous",
+ "searchType.accordion.allTitle": "Tous",
+ "searchType.accordion.collapse": "Effondrement",
+ "searchType.accordion.numberOfResults": "{{number}} résultats"
+ }
+ },
+ "user-settings": {
+ "fr": {
+ "sidebarTitle": "Paramètres",
+ "languageToggle.title": "Langue",
+ "languageToggle.description": "Changer la langue",
+ "languageToggle.select": "Sélectionnez la langue {{language}}",
+ "themeToggle.title": "Thème",
+ "themeToggle.description": "Changer le mode de thème",
+ "themeToggle.select": "Sélectionnez le thème {{theme}}",
+ "themeToggle.selectAuto": "Sélectionner le thème automatique",
+ "themeToggle.names.light": "Lumière",
+ "themeToggle.names.dark": "Sombre",
+ "themeToggle.names.auto": "Auto",
+ "signOutMenu.title": "Se déconnecter",
+ "signOutMenu.moreIconTitle": "plus",
+ "pinToggle.title": "Épingler la barre latérale",
+ "pinToggle.description": "Empêcher l'effondrement de la barre latérale",
+ "pinToggle.switchTitles.unpin": "Détacher la barre latérale",
+ "pinToggle.switchTitles.pin": "Épingler la barre latérale",
+ "pinToggle.ariaLabelTitle": "Commutateur de barre latérale à broches",
+ "identityCard.title": "Identité des coulisses",
+ "identityCard.noIdentityTitle": "Aucune identité en coulisses",
+ "identityCard.userEntity": "Entité utilisateur",
+ "identityCard.ownershipEntities": "Entités propriétaires",
+ "defaultProviderSettings.description": "Fournit une authentification vers les API et les identités {{provider}}",
+ "emptyProviders.title": "Aucun fournisseur d'authentification",
+ "emptyProviders.description": "Vous pouvez ajouter des fournisseurs d’authentification à Backstage, ce qui vous permet d’utiliser ces fournisseurs pour vous authentifier.",
+ "emptyProviders.action.title": "Ouvrez app-config.yaml et effectuez les modifications comme indiqué ci-dessous :",
+ "emptyProviders.action.readMoreButtonTitle": "En savoir plus",
+ "providerSettingsItem.title.signIn": "Connectez-vous à {{title}}",
+ "providerSettingsItem.title.signOut": "Se déconnecter de {{title}}",
+ "providerSettingsItem.buttonTitle.signIn": "Se connecter",
+ "providerSettingsItem.buttonTitle.signOut": "Se déconnecter",
+ "authProviders.title": "Fournisseurs disponibles",
+ "defaultSettingsPage.tabsTitle.general": "Général",
+ "defaultSettingsPage.tabsTitle.authProviders": "Fournisseurs d'authentification",
+ "defaultSettingsPage.tabsTitle.featureFlags": "Drapeaux de fonctionnalités",
+ "featureFlags.title": "Drapeaux de fonctionnalités",
+ "featureFlags.description": "Veuillez actualiser la page lorsque vous activez ou désactivez les indicateurs de fonctionnalité.",
+ "featureFlags.emptyFlags.title": "Aucun indicateur de fonctionnalité",
+ "featureFlags.emptyFlags.description": "Les indicateurs de fonctionnalités permettent aux plugins d'enregistrer des fonctionnalités dans Backstage pour que les utilisateurs puissent les accepter. Vous pouvez l'utiliser pour diviser la logique dans votre code pour les tests A/B manuels, etc.",
+ "featureFlags.emptyFlags.action.title": "Un exemple de la manière d’ajouter un indicateur de fonctionnalité est mis en évidence ci-dessous :",
+ "featureFlags.emptyFlags.action.readMoreButtonTitle": "En savoir plus",
+ "featureFlags.filterTitle": "Filtre",
+ "featureFlags.clearFilter": "Effacer le filtre",
+ "featureFlags.flagItem.title.disable": "Désactiver",
+ "featureFlags.flagItem.title.enable": "Activer",
+ "featureFlags.flagItem.subtitle.registeredInApplication": "Enregistré dans l'application",
+ "featureFlags.flagItem.subtitle.registeredInPlugin": "Enregistré dans le plugin {{pluginId}}",
+ "settingsLayout.title": "Paramètres",
+ "profileCard.title": "Profil",
+ "appearanceCard.title": "Apparence"
+ }
+ },
+ "home": {
+ "fr": {
+ "addWidgetDialog.title": "Ajouter un nouveau widget au tableau de bord",
+ "customHomepageButtons.edit": "Modifier",
+ "customHomepageButtons.restoreDefaults": "Restaurer les valeurs par défaut",
+ "customHomepageButtons.clearAll": "Tout effacer",
+ "customHomepageButtons.addWidget": "Ajouter un widget",
+ "customHomepageButtons.save": "Sauvegarder",
+ "customHomepage.noWidgets": "Aucun widget ajouté. Commencez par cliquer sur le bouton « Ajouter un widget ».",
+ "widgetSettingsOverlay.editSettingsTooptip": "Modifier les paramètres",
+ "widgetSettingsOverlay.deleteWidgetTooltip": "Supprimer le widget",
+ "widgetSettingsOverlay.submitButtonTitle": "Soumettre",
+ "widgetSettingsOverlay.cancelButtonTitle": "Annuler",
+ "starredEntityListItem.removeFavoriteEntityTitle": "Supprimer l'entité des favoris",
+ "visitList.empty.title": "Il n'y a pas encore de visites à afficher.",
+ "visitList.empty.description": "Une fois que vous commencez à utiliser Backstage, vos visites apparaîtront ici sous la forme d'un lien rapide pour reprendre là où vous vous êtes arrêté.",
+ "visitList.few.title": "Plus vous visitez de pages, plus de pages apparaîtront ici.",
+ "quickStart.title": "Intégration",
+ "quickStart.description": "Démarrer avec Backstage",
+ "quickStart.learnMoreLinkTitle": "En savoir plus",
+ "starredEntities.noStarredEntitiesMessage": "Cliquez sur l’étoile à côté du nom d’une entité pour l’ajouter à cette liste !",
+ "visitedByType.action.viewMore": "Voir plus",
+ "visitedByType.action.viewLess": "Voir moins",
+ "featuredDocsCard.learnMoreTitle": "POUR EN SAVOIR PLUS",
+ "featuredDocsCard.empty.title": "Aucun document à montrer",
+ "featuredDocsCard.empty.description": "Créez votre propre document. Consultez nos informations de démarrage",
+ "featuredDocsCard.empty.learnMoreLinkTitle": "DOCUMENTS"
+ }
+ },
+ "catalog-react": {
+ "fr": {
+ "catalogFilter.title": "Filtres",
+ "catalogFilter.buttonTitle": "Filtres",
+ "entityKindPicker.title": "Kind",
+ "entityKindPicker.errorMessage": "Échec du chargement des types d'entités",
+ "entityLifecyclePicker.title": "Cycle de vie",
+ "entityNamespacePicker.title": "Espace de noms",
+ "entityOwnerPicker.title": "Propriétaire",
+ "entityProcessingStatusPicker.title": "Statut de traitement",
+ "entityTagPicker.title": "Mots-clés",
+ "entityPeekAheadPopover.title": "Accédez à l'entité pour voir toutes les balises.",
+ "entityPeekAheadPopover.emailCardAction.title": "Courriel {{email}}",
+ "entityPeekAheadPopover.emailCardAction.subTitle": "mailto {{email}}",
+ "entityPeekAheadPopover.entityCardActionsTitle": "Afficher les détails",
+ "entitySearchBar.placeholder": "Rechercher",
+ "entityTypePicker.title": "Taper",
+ "entityTypePicker.errorMessage": "Échec du chargement des types d'entités",
+ "entityTypePicker.optionAllTitle": "tous",
+ "favoriteEntity.addToFavorites": "Ajouter aux favoris",
+ "favoriteEntity.removeFromFavorites": "Supprimer des favoris",
+ "inspectEntityDialog.title": "Inspecteur d'entité",
+ "inspectEntityDialog.closeButtonTitle": "Fermer",
+ "inspectEntityDialog.ancestryPage.title": "Ascendance",
+ "inspectEntityDialog.colocatedPage.title": "Colocalisé",
+ "inspectEntityDialog.colocatedPage.description": "Il s'agit des entités qui sont colocalisées avec cette entité - comme si elles provenaient de la même source de données (par exemple, du même fichier YAML) ou de la même origine (par exemple, l'URL initialement enregistrée).",
+ "inspectEntityDialog.colocatedPage.alertNoLocation": "L'entité n'avait aucune information de localisation.",
+ "inspectEntityDialog.colocatedPage.alertNoEntity": "Il n’y avait aucune autre entité à cet endroit.",
+ "inspectEntityDialog.jsonPage.title": "Entité au format JSON",
+ "inspectEntityDialog.jsonPage.description": "Il s'agit des données d'entité brutes telles que reçues du catalogue, au format JSON.",
+ "inspectEntityDialog.overviewPage.title": "Aperçu",
+ "inspectEntityDialog.yamlPage.title": "Entité au format YAML",
+ "inspectEntityDialog.yamlPage.description": "Il s'agit des données d'entité brutes telles que reçues du catalogue, sous forme YAML.",
+ "unregisterEntityDialog.title": "Êtes-vous sûr de vouloir désinscrire cette entité ?",
+ "unregisterEntityDialog.cancelButtonTitle": "Annuler",
+ "unregisterEntityDialog.deleteButtonTitle": "Supprimer l'entité",
+ "unregisterEntityDialog.deleteEntitySuccessMessage": "Entité supprimée {{entityName}}",
+ "unregisterEntityDialog.bootstrapState.title": "Vous ne pouvez pas désinscrire cette entité, car elle provient d'une configuration Backstage protégée (emplacement « {{location}} »). Si vous pensez qu'il s'agit d'une erreur, veuillez contacter l'intégrateur {{appTitle}}.",
+ "unregisterEntityDialog.bootstrapState.advancedDescription": "Vous avez la possibilité de supprimer l'entité elle-même du catalogue. Notez que cela ne doit être fait que si vous savez que le fichier de catalogue a été supprimé ou déplacé de son emplacement d'origine. Si ce n’est pas le cas, l’entité réapparaîtra sous peu lors du prochain cycle d’actualisation effectué par le catalogue.",
+ "unregisterEntityDialog.bootstrapState.advancedOptions": "Options avancées",
+ "unregisterEntityDialog.onlyDeleteStateTitle": "Cette entité ne semble pas provenir d'un lieu enregistré. Vous n'avez donc que la possibilité de le supprimer purement et simplement du catalogue.",
+ "unregisterEntityDialog.unregisterState.title": "Cette action désenregistrera les entités suivantes :",
+ "unregisterEntityDialog.unregisterState.subTitle": "Situé à l'emplacement suivant :",
+ "unregisterEntityDialog.unregisterState.description": "Pour annuler, réenregistrez simplement l'entité dans {{appTitle}}.",
+ "unregisterEntityDialog.unregisterState.unregisterButtonTitle": "Désenregistrer l'emplacement",
+ "unregisterEntityDialog.unregisterState.advancedOptions": "Options avancées",
+ "unregisterEntityDialog.unregisterState.advancedDescription": "Vous avez également la possibilité de supprimer l'entité elle-même du catalogue. Notez que cela ne doit être fait que si vous savez que le fichier de catalogue a été supprimé ou déplacé de son emplacement d'origine. Si ce n’est pas le cas, l’entité réapparaîtra sous peu lors du prochain cycle d’actualisation effectué par le catalogue.",
+ "unregisterEntityDialog.errorStateTitle": "Erreur interne : état inconnu",
+ "userListPicker.defaultOrgName": "Entreprise",
+ "userListPicker.personalFilter.title": "Personnel",
+ "userListPicker.personalFilter.ownedLabel": "Possédé",
+ "userListPicker.personalFilter.starredLabel": "Étoilé",
+ "userListPicker.orgFilterAllLabel": "Tous"
+ }
+ },
+ "org": {
+ "fr": {
+ "groupProfileCard.groupNotFound": "Groupe non trouvé",
+ "groupProfileCard.editIconButtonTitle": "Modifier les métadonnées",
+ "groupProfileCard.refreshIconButtonTitle": "Actualisation de l'entité de planification",
+ "groupProfileCard.refreshIconButtonAriaLabel": "Rafraîchir",
+ "groupProfileCard.listItemTitle.entityRef": "Référence d'entité",
+ "groupProfileCard.listItemTitle.email": "E-mail",
+ "groupProfileCard.listItemTitle.parentGroup": "Groupe de parents",
+ "groupProfileCard.listItemTitle.childGroups": "Groupes d'enfants",
+ "membersListCard.title": "Membres",
+ "membersListCard.subtitle": "de {{groupName}}",
+ "membersListCard.paginationLabel": ", page {{page}} de {{nbPages}}",
+ "membersListCard.noMembersDescription": "Ce groupe n'a aucun membre.",
+ "membersListCard.aggregateMembersToggle.directMembers": "Membres directs",
+ "membersListCard.aggregateMembersToggle.aggregatedMembers": "Membres agrégés",
+ "membersListCard.aggregateMembersToggle.ariaLabel": "Commutateur de type d'utilisateur",
+ "ownershipCard.title": "Propriété",
+ "ownershipCard.aggregateRelationsToggle.directRelations": "Relations directes",
+ "ownershipCard.aggregateRelationsToggle.aggregatedRelations": "Relations agrégées",
+ "ownershipCard.aggregateRelationsToggle.ariaLabel": "Changement de type de propriété",
+ "userProfileCard.userNotFound": "Utilisateur non trouvé",
+ "userProfileCard.editIconButtonTitle": "Modifier les métadonnées",
+ "userProfileCard.listItemTitle.email": "E-mail",
+ "userProfileCard.listItemTitle.memberOf": "Membre de",
+ "userProfileCard.moreGroupButtonTitle": "...Plus ({{number}})",
+ "userProfileCard.allGroupDialog.title": "Tous les groupes de {{name}} :",
+ "userProfileCard.allGroupDialog.closeButtonTitle": "Fermer"
+ }
+ },
+ "search-react": {
+ "fr": {
+ "searchBar.title": "Rechercher",
+ "searchBar.placeholder": "Rechercher dans {{org}}",
+ "searchBar.clearButtonTitle": "Clair",
+ "searchFilter.allOptionTitle": "Tous",
+ "searchPagination.limitLabel": "Résultats par page :",
+ "searchPagination.limitText": "de {{num}}",
+ "noResultsDescription": "Désolé, aucun résultat n'a été trouvé",
+ "searchResultGroup.linkTitle": "Tout voir",
+ "searchResultGroup.addFilterButtonTitle": "Ajouter un filtre",
+ "searchResultPager.previous": "Précédent",
+ "searchResultPager.next": "Suivant"
+ }
+ },
+ "kubernetes-react": {
+ "fr": {
+ "podDrawer.buttons.delete": "Supprimer le pod"
+ }
+ },
+ "scaffolder-react": {
+ "fr": {
+ "passwordWidget.content": "Ce widget n'est pas sécurisé. Veuillez utiliser [`ui:field: Secret`](https://backstage.io/docs/features/software-templates/writing-templates/#using-secrets) au lieu de `ui:widget: password`",
+ "scaffolderPageContextMenu.moreLabel": "plus",
+ "scaffolderPageContextMenu.createLabel": "Créer",
+ "scaffolderPageContextMenu.editorLabel": "Gérer les modèles",
+ "scaffolderPageContextMenu.actionsLabel": "Actions installées",
+ "scaffolderPageContextMenu.tasksLabel": "Liste des tâches",
+ "scaffolderPageContextMenu.templatingExtensionsLabel": "Extensions de modèles",
+ "stepper.backButtonText": "Arrière",
+ "stepper.createButtonText": "Créer",
+ "stepper.reviewButtonText": "Revoir",
+ "stepper.stepIndexLabel": "Étape {{index, numéro}}",
+ "stepper.nextButtonText": "Suivant",
+ "templateCategoryPicker.title": "Catégories",
+ "templateCard.noDescription": "Aucune description",
+ "templateCard.chooseButtonText": "Choisir",
+ "cardHeader.detailBtnTitle": "Afficher les détails de l'entité du modèle",
+ "templateOutputs.title": "Sortie de texte",
+ "workflow.noDescription": "Aucune description"
+ }
+ },
+ "catalog-graph": {
+ "fr": {
+ "catalogGraphCard.title": "Rapports",
+ "catalogGraphCard.deepLinkTitle": "Voir le graphique",
+ "catalogGraphPage.title": "Graphique du catalogue",
+ "catalogGraphPage.filterToggleButtonTitle": "Filtres",
+ "catalogGraphPage.supportButtonDescription": "Commencez à suivre votre composant en l'ajoutant au catalogue de logiciels.",
+ "catalogGraphPage.simplifiedSwitchLabel": "Simplifié",
+ "catalogGraphPage.mergeRelationsSwitchLabel": "Fusionner les relations",
+ "catalogGraphPage.zoomOutDescription": "Utilisez le pincement et le zoom pour vous déplacer dans le diagramme. Cliquez pour changer de nœud actif, appuyez sur Maj pour accéder à l'entité.",
+ "catalogGraphPage.curveFilter.title": "Courbe",
+ "catalogGraphPage.curveFilter.curveMonotoneX": "Monotone X",
+ "catalogGraphPage.curveFilter.curveStepBefore": "Étape avant",
+ "catalogGraphPage.directionFilter.title": "Direction",
+ "catalogGraphPage.directionFilter.leftToRight": "De gauche à droite",
+ "catalogGraphPage.directionFilter.rightToLeft": "De droite à gauche",
+ "catalogGraphPage.directionFilter.topToBottom": "De haut en bas",
+ "catalogGraphPage.directionFilter.bottomToTop": "De bas en haut",
+ "catalogGraphPage.maxDepthFilter.title": "Profondeur maximale",
+ "catalogGraphPage.maxDepthFilter.inputPlaceholder": "∞ Infini",
+ "catalogGraphPage.maxDepthFilter.clearButtonAriaLabel": "profondeur maximale dégagée",
+ "catalogGraphPage.selectedKindsFilter.title": "Types",
+ "catalogGraphPage.selectedRelationsFilter.title": "Rapports"
+ }
+ },
+ "kubernetes-cluster": {
+ "fr": {
+ "kubernetesClusterContentPage.permissionAlert.title": "Autorisation requise",
+ "kubernetesClusterContentPage.permissionAlert.message": "Pour afficher les objets Kubernetes, contactez l'administrateur de votre portail pour qu'il vous accorde l'autorisation « kubernetes.clusters.read »."
+ }
+ },
+ "techdocs": {
+ "fr": {
+ "aboutCard.viewTechdocs": "Voir TechDocs"
+ }
+ },
+ "kubernetes": {
+ "fr": {
+ "kubernetesContentPage.permissionAlert.title": "Autorisation requise",
+ "kubernetesContentPage.permissionAlert.message": "Pour afficher les objets Kubernetes, contactez l'administrateur de votre portail pour qu'il vous accorde l'autorisation « kubernetes.clusters.read » et « kubernetes.resources.read »."
+ }
+ },
+ "home-react": {
+ "fr": {
+ "settingsModal.title": "Paramètres",
+ "settingsModal.closeButtonTitle": "Fermer",
+ "cardExtension.settingsButtonTitle": "Paramètres"
+ }
+ },
+ "api-docs": {
+ "fr": {
+ "apiDefinitionDialog.closeButtonTitle": "Fermer",
+ "apiDefinitionDialog.tabsAriaLabel": "Options de définition de l'API",
+ "apiDefinitionDialog.toggleButtonAriaLabel": "Basculer la boîte de dialogue de définition de l'API",
+ "defaultApiExplorerPage.title": "Apis",
+ "defaultApiExplorerPage.subtitle": "Explorateur d'API {{orgName}}",
+ "defaultApiExplorerPage.pageTitleOverride": "Apis",
+ "defaultApiExplorerPage.createButtonTitle": "Enregistrer l'API existante",
+ "defaultApiExplorerPage.supportButtonTitle": "Toutes vos API",
+ "consumedApisCard.title": "API consommées",
+ "consumedApisCard.error.title": "Impossible de charger les API",
+ "consumedApisCard.emptyContent.title": "Cette {{entity}} ne consomme aucune API.",
+ "hasApisCard.title": "APIs",
+ "hasApisCard.error.title": "Impossible de charger les API",
+ "hasApisCard.emptyContent.title": "Cette {{entity}} ne contient aucune API.",
+ "providedApisCard.title": "API fournies",
+ "providedApisCard.error.title": "Impossible de charger les API",
+ "providedApisCard.emptyContent.title": "Cette {{entity}} ne fournit aucune API.",
+ "apiEntityColumns.typeTitle": "Taper",
+ "apiEntityColumns.apiDefinitionTitle": "Définition de l'API",
+ "consumingComponentsCard.title": "Consommateurs",
+ "consumingComponentsCard.error.title": "Impossible de charger les composants",
+ "consumingComponentsCard.emptyContent.title": "Aucun composant ne consomme cette API.",
+ "providingComponentsCard.title": "Fournisseurs",
+ "providingComponentsCard.error.title": "Impossible de charger les composants",
+ "providingComponentsCard.emptyContent.title": "Aucun composant ne fournit cette API.",
+ "apisCardHelpLinkTitle": "Apprenez à changer cela"
+ }
+ }
+}
\ No newline at end of file
diff --git a/translations/rhdh-reference-2025-12-05-it-C.json b/translations/rhdh-reference-2025-12-05-it-C.json
new file mode 100644
index 0000000000..b074e01b50
--- /dev/null
+++ b/translations/rhdh-reference-2025-12-05-it-C.json
@@ -0,0 +1,134 @@
+{
+ "catalog": {
+ "it": {
+ "indexPage.createButtonTitle": "Self-service"
+ }
+ },
+ "catalog-import": {
+ "it": {
+ "defaultImportPage.headerTitle": "Importa un repository Git esistente",
+ "importInfoCard.title": "Importa un repository Git esistente"
+ }
+ },
+ "core-components": {
+ "it": {
+ "table.filter.placeholder": "Tutti i risultati",
+ "table.body.emptyDataSourceMessage": "Nessun record da visualizzare",
+ "table.pagination.firstTooltip": "Prima pagina",
+ "table.pagination.labelDisplayedRows": "{from}-{to} di {count}",
+ "table.pagination.labelRowsSelect": "righe",
+ "table.pagination.lastTooltip": "Ultima pagina",
+ "table.pagination.nextTooltip": "Pagina successiva",
+ "table.pagination.previousTooltip": "Pagina precedente",
+ "table.toolbar.search": "Filtra",
+ "alertDisplay.message_one": "({{ count }} messaggio più recente)",
+ "alertDisplay.message_other": "({{ count }} messaggi più recenti)",
+ "table.header.actions": "Azioni",
+ "oauthRequestDialog.message": "Accedere per consentire a {{appTitle}} di accedere alle API e alle identità di {{provider}}."
+ }
+ },
+ "rhdh": {
+ "it": {
+ "menuItem.home": "Home",
+ "menuItem.myGroup_one": "Il mio gruppo",
+ "menuItem.myGroup_other": "I miei gruppi",
+ "menuItem.catalog": "Catalogo",
+ "menuItem.apis": "API",
+ "menuItem.learningPaths": "Percorsi di apprendimento",
+ "menuItem.selfService": "Self-service",
+ "menuItem.userSettings": "Impostazioni utente",
+ "menuItem.administration": "Amministrazione",
+ "menuItem.extensions": "Estensioni",
+ "menuItem.clusters": "Cluster",
+ "menuItem.rbac": "RBAC",
+ "menuItem.bulkImport": "Importazione in blocco",
+ "menuItem.docs": "Documenti",
+ "menuItem.lighthouse": "Lighthouse",
+ "menuItem.techRadar": "Tech Radar",
+ "menuItem.orchestrator": "Orchestrator",
+ "menuItem.adoptionInsights": "Adoption Insights",
+ "sidebar.menu": "Menu",
+ "sidebar.home": "Home",
+ "sidebar.homeLogo": "Logo Home",
+ "signIn.page.title": "Selezionare un metodo di accesso",
+ "signIn.providers.auth0.title": "Auth0",
+ "signIn.providers.auth0.message": "Accesso tramite Auth0",
+ "signIn.providers.atlassian.title": "Atlassian",
+ "signIn.providers.atlassian.message": "Accesso tramite Atlassian",
+ "signIn.providers.microsoft.title": "Microsoft",
+ "signIn.providers.microsoft.message": "Accesso tramite Microsoft",
+ "signIn.providers.bitbucket.title": "Bitbucket",
+ "signIn.providers.bitbucket.message": "Accesso tramite Bitbucket",
+ "signIn.providers.bitbucketServer.title": "Bitbucket Server",
+ "signIn.providers.bitbucketServer.message": "Accesso tramite Bitbucket Server",
+ "signIn.providers.github.title": "GitHub",
+ "signIn.providers.github.message": "Accesso tramite GitHub",
+ "signIn.providers.gitlab.title": "GitLab",
+ "signIn.providers.gitlab.message": "Accesso tramite GitLab",
+ "signIn.providers.google.title": "Google",
+ "signIn.providers.google.message": "Accesso tramite Google",
+ "signIn.providers.oidc.title": "OIDC",
+ "signIn.providers.oidc.message": "Accesso tramite OIDC",
+ "signIn.providers.okta.title": "Okta",
+ "signIn.providers.okta.message": "Accesso tramite Okta",
+ "signIn.providers.onelogin.title": "OneLogin",
+ "signIn.providers.onelogin.message": "Accesso tramite OneLogin",
+ "signIn.providers.saml.title": "SAML",
+ "signIn.providers.saml.message": "Accesso tramite SAML",
+ "catalog.entityPage.overview.title": "Panoramica",
+ "catalog.entityPage.topology.title": "Topologia",
+ "catalog.entityPage.issues.title": "Problemi",
+ "catalog.entityPage.pullRequests.title": "Richieste di pull/merge",
+ "catalog.entityPage.ci.title": "CI",
+ "catalog.entityPage.cd.title": "CD",
+ "catalog.entityPage.kubernetes.title": "Kubernetes",
+ "catalog.entityPage.imageRegistry.title": "Registro delle immagini",
+ "catalog.entityPage.monitoring.title": "Monitoraggio",
+ "catalog.entityPage.lighthouse.title": "Lighthouse",
+ "catalog.entityPage.api.title": "API",
+ "catalog.entityPage.dependencies.title": "Dipendenze",
+ "catalog.entityPage.docs.title": "Documenti",
+ "catalog.entityPage.definition.title": "Definizione",
+ "catalog.entityPage.diagram.title": "Diagramma di sistema",
+ "catalog.entityPage.workflows.title": "Flussi di lavoro",
+ "app.scaffolder.title": "Self-service",
+ "app.search.title": "Ricerca",
+ "app.search.resultType": "Tipo di risultato",
+ "app.search.softwareCatalog": "Catalogo software",
+ "app.search.filters.kind": "Tipo",
+ "app.search.filters.lifecycle": "Ciclo di vita",
+ "app.search.filters.component": "Componente",
+ "app.search.filters.template": "Modello",
+ "app.search.filters.experimental": "sperimentale",
+ "app.search.filters.production": "produzione",
+ "app.learningPaths.title": "Percorsi di apprendimento",
+ "app.learningPaths.error.title": "Impossibile recuperare i dati.",
+ "app.learningPaths.error.unknownError": "Errore sconosciuto",
+ "app.userSettings.infoCard.title": "Metadati RHDH",
+ "app.userSettings.infoCard.metadataCopied": "Metadati copiati negli appunti",
+ "app.userSettings.infoCard.copyMetadata": "Copia i metadati negli appunti",
+ "app.userSettings.infoCard.showLess": "Mostra meno",
+ "app.userSettings.infoCard.showMore": "Mostra altro",
+ "app.errors.contactSupport": "Contattare l'assistenza",
+ "app.errors.goBack": "Indietro",
+ "app.errors.notFound.message": "Non è stato possibile trovare la pagina",
+ "app.errors.notFound.additionalInfo": "La pagina potrebbe essere stata rimossa, potrebbe aver cambiato nome o potrebbe non essere temporaneamente disponibile.",
+ "app.table.createdAt": "Creato alle"
+ }
+ },
+ "scaffolder": {
+ "it": {
+ "templateListPage.contentHeader.registerExistingButtonTitle": "Importa un repository Git esistente"
+ }
+ },
+ "search": {
+ "it": {
+ "sidebarSearchModal.title": "Ricerca"
+ }
+ },
+ "user-settings": {
+ "it": {
+ "sidebarTitle": "Impostazioni"
+ }
+ }
+}
diff --git a/translations/rhdh-reference-2025-12-05-ja-C.json b/translations/rhdh-reference-2025-12-05-ja-C.json
new file mode 100644
index 0000000000..36f1fdb5f7
--- /dev/null
+++ b/translations/rhdh-reference-2025-12-05-ja-C.json
@@ -0,0 +1,134 @@
+{
+ "catalog": {
+ "ja": {
+ "indexPage.createButtonTitle": "セルフサービス"
+ }
+ },
+ "catalog-import": {
+ "ja": {
+ "defaultImportPage.headerTitle": "既存の Git リポジトリーのインポート",
+ "importInfoCard.title": "既存の Git リポジトリーのインポート"
+ }
+ },
+ "core-components": {
+ "ja": {
+ "table.filter.placeholder": "すべての結果",
+ "table.body.emptyDataSourceMessage": "表示するレコードがありません",
+ "table.pagination.firstTooltip": "最初のページ",
+ "table.pagination.labelDisplayedRows": "{count} 件中 {from}-{to} 件目",
+ "table.pagination.labelRowsSelect": "行",
+ "table.pagination.lastTooltip": "最後のページ",
+ "table.pagination.nextTooltip": "次のページ",
+ "table.pagination.previousTooltip": "前のページ",
+ "table.toolbar.search": "フィルター",
+ "alertDisplay.message_one": "({{ count }} 件の新しいメッセージ)",
+ "alertDisplay.message_other": "({{ count }} 件の新しいメッセージ)",
+ "table.header.actions": "アクション",
+ "oauthRequestDialog.message": "{{appTitle}} が {{provider}} API と ID にアクセスすることを許可するには、サインインしてください。"
+ }
+ },
+ "rhdh": {
+ "ja": {
+ "menuItem.home": "ホーム",
+ "menuItem.myGroup_one": "マイグループ",
+ "menuItem.myGroup_other": "マイグループ",
+ "menuItem.catalog": "カタログ",
+ "menuItem.apis": "API",
+ "menuItem.learningPaths": "ラーニングパス",
+ "menuItem.selfService": "セルフサービス",
+ "menuItem.userSettings": "ユーザー設定",
+ "menuItem.administration": "管理",
+ "menuItem.extensions": "拡張機能",
+ "menuItem.clusters": "クラスター",
+ "menuItem.rbac": "RBAC",
+ "menuItem.bulkImport": "一括インポート",
+ "menuItem.docs": "ドキュメント",
+ "menuItem.lighthouse": "Lighthouse",
+ "menuItem.techRadar": "Tech Radar",
+ "menuItem.orchestrator": "オーケストレーター",
+ "menuItem.adoptionInsights": "Adoption Insights",
+ "sidebar.menu": "メニュー",
+ "sidebar.home": "ホーム",
+ "sidebar.homeLogo": "ホームロゴ",
+ "signIn.page.title": "サインイン方法の選択",
+ "signIn.providers.auth0.title": "Auth0",
+ "signIn.providers.auth0.message": "Auth0 を使用してサインイン",
+ "signIn.providers.atlassian.title": "Atlassian",
+ "signIn.providers.atlassian.message": "Atlassian を使用してサインイン",
+ "signIn.providers.microsoft.title": "Microsoft",
+ "signIn.providers.microsoft.message": "Microsoft を使用してサインイン",
+ "signIn.providers.bitbucket.title": "Bitbucket",
+ "signIn.providers.bitbucket.message": "Bitbucket を使用してサインイン",
+ "signIn.providers.bitbucketServer.title": "Bitbucket Server",
+ "signIn.providers.bitbucketServer.message": "Bitbucket Server を使用してサインイン",
+ "signIn.providers.github.title": "GitHub",
+ "signIn.providers.github.message": "GitHub を使用してサインイン",
+ "signIn.providers.gitlab.title": "GitLab",
+ "signIn.providers.gitlab.message": "GitLab を使用してサインイン",
+ "signIn.providers.google.title": "Google",
+ "signIn.providers.google.message": "Google を使用してサインイン",
+ "signIn.providers.oidc.title": "OIDC",
+ "signIn.providers.oidc.message": "OIDC を使用してサインイン",
+ "signIn.providers.okta.title": "Okta",
+ "signIn.providers.okta.message": "Okta を使用してサインイン",
+ "signIn.providers.onelogin.title": "OneLogin",
+ "signIn.providers.onelogin.message": "OneLogin を使用してサインイン",
+ "signIn.providers.saml.title": "SAML",
+ "signIn.providers.saml.message": "SAML を使用してサインイン",
+ "catalog.entityPage.overview.title": "概要",
+ "catalog.entityPage.topology.title": "トポロジー",
+ "catalog.entityPage.issues.title": "イシュー",
+ "catalog.entityPage.pullRequests.title": "プル/マージリクエスト",
+ "catalog.entityPage.ci.title": "CI",
+ "catalog.entityPage.cd.title": "CD",
+ "catalog.entityPage.kubernetes.title": "Kubernetes",
+ "catalog.entityPage.imageRegistry.title": "イメージレジストリー",
+ "catalog.entityPage.monitoring.title": "モニタリング",
+ "catalog.entityPage.lighthouse.title": "Lighthouse",
+ "catalog.entityPage.api.title": "API",
+ "catalog.entityPage.dependencies.title": "依存関係",
+ "catalog.entityPage.docs.title": "ドキュメント",
+ "catalog.entityPage.definition.title": "定義",
+ "catalog.entityPage.diagram.title": "システム図",
+ "catalog.entityPage.workflows.title": "ワークフロー",
+ "app.scaffolder.title": "セルフサービス",
+ "app.search.title": "検索",
+ "app.search.resultType": "結果タイプ",
+ "app.search.softwareCatalog": "ソフトウェアカタログ",
+ "app.search.filters.kind": "種類",
+ "app.search.filters.lifecycle": "ライフサイクル",
+ "app.search.filters.component": "コンポーネント",
+ "app.search.filters.template": "テンプレート",
+ "app.search.filters.experimental": "実験的",
+ "app.search.filters.production": "実稼働",
+ "app.learningPaths.title": "ラーニングパス",
+ "app.learningPaths.error.title": "データを取得できませんでした。",
+ "app.learningPaths.error.unknownError": "不明なエラー",
+ "app.userSettings.infoCard.title": "RHDH メタデータ",
+ "app.userSettings.infoCard.metadataCopied": "メタデータがクリップボードにコピーされました",
+ "app.userSettings.infoCard.copyMetadata": "メタデータをクリップボードにコピーする",
+ "app.userSettings.infoCard.showLess": "簡易表示",
+ "app.userSettings.infoCard.showMore": "詳細表示",
+ "app.errors.contactSupport": "サポートにお問い合わせください",
+ "app.errors.goBack": "戻る",
+ "app.errors.notFound.message": "該当するページが見つかりませんでした",
+ "app.errors.notFound.additionalInfo": "お探しのページは削除されたか、名前が変更されたか、一時的に利用できない可能性があります。",
+ "app.table.createdAt": "作成日時"
+ }
+ },
+ "scaffolder": {
+ "ja": {
+ "templateListPage.contentHeader.registerExistingButtonTitle": "既存の Git リポジトリーのインポート"
+ }
+ },
+ "search": {
+ "ja": {
+ "sidebarSearchModal.title": "検索"
+ }
+ },
+ "user-settings": {
+ "ja": {
+ "sidebarTitle": "設定"
+ }
+ }
+}
diff --git a/translations/rhdh_v1.8_s3281-fr-C.json b/translations/rhdh_v1.8_s3281-fr-C.json
deleted file mode 100644
index 51ac9d8b8e..0000000000
--- a/translations/rhdh_v1.8_s3281-fr-C.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "rhdh": {
- "fr": {
- "menuItem.home": "Home",
- "menuItem.myGroup": "Mon groupe",
- "menuItem.catalog": "Catalogue",
- "menuItem.apis": "APIs",
- "menuItem.learningPaths": "Learning Paths",
- "menuItem.selfService": "Self-service",
- "menuItem.userSettings": "Paramètres utilisateur",
- "menuItem.administration": "Administration",
- "menuItem.extensions": "Extensions",
- "menuItem.clusters": "Groupes",
- "menuItem.rbac": "RBAC",
- "menuItem.bulkImport": "Importation en masse",
- "menuItem.docs": "Docs",
- "menuItem.lighthouse": "Lighthouse",
- "menuItem.techRadar": "Tech Radar",
- "menuItem.orchestrator": "Orchestrateur",
- "menuItem.adoptionInsights": "Adoption Insights",
- "sidebar.menu": "Menu",
- "sidebar.home": "Home",
- "sidebar.homeLogo": "Logo de la maison",
- "signIn.page.title": "Sélectionnez une méthode de connexion",
- "signIn.providers.auth0.title": "Auth0",
- "signIn.providers.auth0.message": "Connectez-vous avec Auth0",
- "signIn.providers.atlassian.title": "Atlassian",
- "signIn.providers.atlassian.message": "Connectez-vous avec Atlassian",
- "signIn.providers.microsoft.title": "Microsoft",
- "signIn.providers.microsoft.message": "Connectez-vous avec Microsoft",
- "signIn.providers.bitbucket.title": "Bitbucket",
- "signIn.providers.bitbucket.message": "Connectez-vous avec Bitbucket",
- "signIn.providers.bitbucketServer.title": "Serveur Bitbucket",
- "signIn.providers.bitbucketServer.message": "Connectez-vous à l'aide de Bitbucket Server",
- "signIn.providers.github.title": "GitHub",
- "signIn.providers.github.message": "Connectez-vous avec GitHub",
- "signIn.providers.gitlab.title": "GitLab",
- "signIn.providers.gitlab.message": "Connectez-vous avec GitLab",
- "signIn.providers.google.title": "Google",
- "signIn.providers.google.message": "Connectez-vous avec Google",
- "signIn.providers.oidc.title": "OIDC",
- "signIn.providers.oidc.message": "Connectez-vous avec OIDC",
- "signIn.providers.okta.title": "Okta",
- "signIn.providers.okta.message": "Connectez-vous avec Okta",
- "signIn.providers.onelogin.title": "OneLogin",
- "signIn.providers.onelogin.message": "Connectez-vous avec OneLogin",
- "signIn.providers.saml.title": "SAML",
- "signIn.providers.saml.message": "Connectez-vous en utilisant SAML",
- "app.scaffolder.title": "Self-service",
- "app.search.title": "Recherche",
- "app.search.resultType": "Type de résultat",
- "app.search.softwareCatalog": "Catalogue de logiciels",
- "app.search.filters.kind": "Kind",
- "app.search.filters.lifecycle": "Cycle de vie",
- "app.search.filters.component": "Composant",
- "app.search.filters.template": "Modèle",
- "app.search.filters.experimental": "expérimental",
- "app.search.filters.production": "production",
- "app.learningPaths.title": "Learning Paths",
- "app.learningPaths.error.title": "Impossible de récupérer les données.",
- "app.learningPaths.error.unknownError": "Erreur inconnue",
- "app.entityPage.diagram.title": "Diagramme du système",
- "app.userSettings.infoCard.title": "Métadonnées RHDH",
- "app.userSettings.infoCard.metadataCopied": "Métadonnées copiées dans le presse-papiers",
- "app.userSettings.infoCard.copyMetadata": "Copier les métadonnées dans votre presse-papiers",
- "app.userSettings.infoCard.showLess": "Afficher moins",
- "app.userSettings.infoCard.showMore": "Afficher plus",
- "app.errors.contactSupport": "Contacter le support",
- "app.errors.goBack": "Retour",
- "app.errors.notFound.message": "Nous n'avons pas pu trouver cette page",
- "app.errors.notFound.additionalInfo": "La page que vous recherchez a peut-être été supprimée, son nom a peut-être été modifié ou elle est temporairement indisponible.",
- "app.table.createdAt": "Créé à"
- }
- }
-}
diff --git a/yarn.lock b/yarn.lock
index c8a2b3c439..073ecc2d23 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18759,6 +18759,7 @@ __metadata:
"@types/node": 22.19.1
"@types/react": 18.3.27
"@types/react-dom": 18.3.7
+ eslint-plugin-unused-imports: ^4.1.4
lodash: 4.17.21
prettier: 3.7.4
react: 18.3.1