From d5103bb16a5b0b636162a070a7cb2d4197253eae Mon Sep 17 00:00:00 2001 From: Jesiel Viana Date: Mon, 30 Jun 2025 17:59:21 -0300 Subject: [PATCH 01/18] remove hardcoded HTML tags from cookie popup translations --- src/assets/i18n/ar.json5 | 4 ++-- src/assets/i18n/bn.json5 | 4 ++-- src/assets/i18n/cs.json5 | 4 ++-- src/assets/i18n/de.json5 | 4 ++-- src/assets/i18n/fi.json5 | 4 ++-- src/assets/i18n/fr.json5 | 4 ++-- src/assets/i18n/gd.json5 | 4 ++-- src/assets/i18n/hu.json5 | 4 ++-- src/assets/i18n/kk.json5 | 4 ++-- src/assets/i18n/pt-BR.json5 | 4 ++-- src/assets/i18n/sv.json5 | 4 ++-- src/assets/i18n/tr.json5 | 4 ++-- src/assets/i18n/uk.json5 | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/assets/i18n/ar.json5 b/src/assets/i18n/ar.json5 index 33c0474af8..924a8b2cce 100644 --- a/src/assets/i18n/ar.json5 +++ b/src/assets/i18n/ar.json5 @@ -2593,7 +2593,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "نقوم بجمع ومعالجة معلوماتك الشخصية للأغراض التالية: الاستيثاق، والتفضيلات، والإقرار، والإحصائيات.
لمعرفة المزيد، يرجى قراءة {privacyPolicy}.", + "cookies.consent.content-notice.description": "نقوم بجمع ومعالجة معلوماتك الشخصية للأغراض التالية: الاستيثاق، والتفضيلات، والإقرار، والإحصائيات. لمعرفة المزيد، يرجى قراءة {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "تخصيص", @@ -11782,4 +11782,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/bn.json5 b/src/assets/i18n/bn.json5 index f7636a1d39..09edec996e 100644 --- a/src/assets/i18n/bn.json5 +++ b/src/assets/i18n/bn.json5 @@ -2751,7 +2751,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "আমরা নিম্নলিখিত উদ্দেশ্যে আপনার ব্যক্তিগত তথ্য সংগ্রহ এবং প্রক্রিয়া করি: প্রমাণিকরণ, পছন্দ, স্বীকৃতি এবং পরিসংখ্যান
আরও জানতে, অনুগ্রহ করে আমাদের {privacyPolicy} পড়ুন.", + "cookies.consent.content-notice.description": "আমরা নিম্নলিখিত উদ্দেশ্যে আপনার ব্যক্তিগত তথ্য সংগ্রহ এবং প্রক্রিয়া করি: প্রমাণিকরণ, পছন্দ, স্বীকৃতি এবং পরিসংখ্যান। আরও জানতে, অনুগ্রহ করে আমাদের {privacyPolicy} পড়ুন.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "কাস্টমাইজ করুন", @@ -12704,4 +12704,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/cs.json5 b/src/assets/i18n/cs.json5 index 1eb02a920e..946bc6aada 100644 --- a/src/assets/i18n/cs.json5 +++ b/src/assets/i18n/cs.json5 @@ -2645,7 +2645,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Vaše osobní údaje shromažďujeme a zpracováváme pro následující účely: Ověření, Preference, Potvrzení a Statistiky.
Chcete-li se dozvědět více, přečtěte si prosím naše {privacyPolicy}.", + "cookies.consent.content-notice.description": "Vaše osobní údaje shromažďujeme a zpracováváme pro následující účely: Ověření, Preference, Potvrzení a Statistiky. Chcete-li se dozvědět více, přečtěte si prosím naše {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Přizpůsobit", @@ -12015,4 +12015,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/de.json5 b/src/assets/i18n/de.json5 index a18a4f1b01..462b91bfd5 100644 --- a/src/assets/i18n/de.json5 +++ b/src/assets/i18n/de.json5 @@ -2475,7 +2475,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Wir sammeln und verarbeiten Ihre personenbezogenen Daten für die folgenden Zwecke: Authentifikation, Einstellungen, Zustimmungen und Statistiken.
Um mehr zu erfahren, lesen Sie bitte unsere {privacyPolicy}.", + "cookies.consent.content-notice.description": "Wir sammeln und verarbeiten Ihre personenbezogenen Daten für die folgenden Zwecke: Authentifikation, Einstellungen, Zustimmungen und Statistiken. Um mehr zu erfahren, lesen Sie bitte unsere {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Anpassen", @@ -11112,4 +11112,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/fi.json5 b/src/assets/i18n/fi.json5 index 9696726b03..a86f12487c 100644 --- a/src/assets/i18n/fi.json5 +++ b/src/assets/i18n/fi.json5 @@ -2656,7 +2656,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Keräämme ja käsittelemme tietojasi seuraaviin tarkoituksiin: todentaminen, asetukset, kuittaus ja tilastot.
Lisätietoa saat lukemalla tämän: {privacyPolicy}.", + "cookies.consent.content-notice.description": "Keräämme ja käsittelemme tietojasi seuraaviin tarkoituksiin: todentaminen, asetukset, kuittaus ja tilastot. Lisätietoa saat lukemalla tämän: {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Räätälöi", @@ -12016,4 +12016,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5 index 58b6f975f1..0fd5c8efe7 100644 --- a/src/assets/i18n/fr.json5 +++ b/src/assets/i18n/fr.json5 @@ -2531,7 +2531,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Vos données personnelles sont récupérées et utilisées dans les contextes suivants : authentification, préférences, consentement et statistiques.
Pour plus d'informations, veuillez vous référer à la {privacyPolicy}.", + "cookies.consent.content-notice.description": "Vos données personnelles sont récupérées et utilisées dans les contextes suivants : authentification, préférences, consentement et statistiques. Pour plus d'informations, veuillez vous référer à la {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Personnaliser", @@ -11534,4 +11534,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/gd.json5 b/src/assets/i18n/gd.json5 index 1ac4006a1a..82d1da5d74 100644 --- a/src/assets/i18n/gd.json5 +++ b/src/assets/i18n/gd.json5 @@ -2781,7 +2781,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Bidh sinn a' cruinneachadh agus a' cleachdadh fiosrachadh pearsanta airson nan adhbharan seo: Dearbhadh, Roghainnean, Buidheachas agus Staitistigs.
Airson tuilleadh fiosrachaidh, leugh am {Poileasaidhprìobhaideachd}.", + "cookies.consent.content-notice.description": "Bidh sinn a' cruinneachadh agus a' cleachdadh fiosrachadh pearsanta airson nan adhbharan seo: Dearbhadh, Roghainnean, Buidheachas agus Staitistigs. Airson tuilleadh fiosrachaidh, leugh am {Poileasaidhprìobhaideachd}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Customaich", @@ -12796,4 +12796,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/hu.json5 b/src/assets/i18n/hu.json5 index 9df3c2e4f1..0d267a082c 100644 --- a/src/assets/i18n/hu.json5 +++ b/src/assets/i18n/hu.json5 @@ -2804,7 +2804,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Mi gyűjtjük és feldolgozzuk a személyes adatait a következő célból: Hitelesítés, Beállítások, Elismerés és Statisztikák.
Részletekért olvassa el: {privacyPolicy}.", + "cookies.consent.content-notice.description": "Mi gyűjtjük és feldolgozzuk a személyes adatait a következő célból: Hitelesítés, Beállítások, Elismerés és Statisztikák. Részletekért olvassa el: {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Személyreszab", @@ -12949,4 +12949,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/kk.json5 b/src/assets/i18n/kk.json5 index 929e13ad7a..320cd39037 100644 --- a/src/assets/i18n/kk.json5 +++ b/src/assets/i18n/kk.json5 @@ -2732,7 +2732,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Біз сіздің жеке ақпаратыңызды келесі мақсаттарда жинаймыз және өңдейміз: Аутентификация, Параметрлері, Растау және Статистикалар.
Көбірек білу үшін, біздің {privacyPolicy} оқуыңызды өтінеміз.", + "cookies.consent.content-notice.description": "Біз сіздің жеке ақпаратыңызды келесі мақсаттарда жинаймыз және өңдейміз: Аутентификация, Параметрлері, Растау және Статистикалар. Көбірек білу үшін, біздің {privacyPolicy} оқуыңызды өтінеміз.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Баптау", @@ -12423,4 +12423,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/pt-BR.json5 b/src/assets/i18n/pt-BR.json5 index 3fe451efab..f1fd22af51 100644 --- a/src/assets/i18n/pt-BR.json5 +++ b/src/assets/i18n/pt-BR.json5 @@ -2484,7 +2484,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Coletamos e processamos suas informações pessoais para os seguintes propósitos: Autenticação, Preferências, Reconhecimento e Estatísticas.
Para aprender mais, por favor leia nossa {privacyPolicy}.", + "cookies.consent.content-notice.description": "Coletamos e processamos suas informações pessoais para os seguintes propósitos: Autenticação, Preferências, Reconhecimento e Estatísticas. Para aprender mais, por favor leia nossa {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Customizar", @@ -11140,4 +11140,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/sv.json5 b/src/assets/i18n/sv.json5 index 3bed93d9ad..8bac53d050 100644 --- a/src/assets/i18n/sv.json5 +++ b/src/assets/i18n/sv.json5 @@ -2761,7 +2761,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Vi samlar in och hanterar dina persondata för följande syften: Autenticering, inställningar, godkännanden och statistik.
För mer information, läs {privacyPolicy}.", + "cookies.consent.content-notice.description": "Vi samlar in och hanterar dina persondata för följande syften: Autenticering, inställningar, godkännanden och statistik. För mer information, läs {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Anpassa", @@ -12852,4 +12852,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/tr.json5 b/src/assets/i18n/tr.json5 index 41b9526192..43781f5a5a 100644 --- a/src/assets/i18n/tr.json5 +++ b/src/assets/i18n/tr.json5 @@ -2852,7 +2852,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Kişisel bilgilerinizi aşağıdaki amaçlarla topluyor ve işleriz: Kimlik Doğrulama, Tercihler, Onay ve İstatistikler.
Daha fazla bilgi için, lütfen okuyun {privacyPolicy}.", + "cookies.consent.content-notice.description": "Kişisel bilgilerinizi aşağıdaki amaçlarla topluyor ve işleriz: Kimlik Doğrulama, Tercihler, Onay ve İstatistikler. Daha fazla bilgi için, lütfen okuyun {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Özelleştir", @@ -13046,4 +13046,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} diff --git a/src/assets/i18n/uk.json5 b/src/assets/i18n/uk.json5 index c1c8e984ac..587f2e533f 100644 --- a/src/assets/i18n/uk.json5 +++ b/src/assets/i18n/uk.json5 @@ -2870,7 +2870,7 @@ // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}", // TODO Source message changed - Revise the translation - "cookies.consent.content-notice.description": "Ми збираємо та обробляємо вашу особисту інформацію для таких цілей: автентифікація, налаштування та статистика.
Щоб дізнатися більше, прочитайте нашу політику {privacyPolicy}.", + "cookies.consent.content-notice.description": "Ми збираємо та обробляємо вашу особисту інформацію для таких цілей: автентифікація, налаштування та статистика. Щоб дізнатися більше, прочитайте нашу політику {privacyPolicy}.", // "cookies.consent.content-notice.learnMore": "Customize", "cookies.consent.content-notice.learnMore": "Налаштувати", @@ -13069,4 +13069,4 @@ "file-download-link.request-copy": "Request a copy of ", -} \ No newline at end of file +} From 003a5f5ee8cf9a9b5badb0e07447d149fe6411e9 Mon Sep 17 00:00:00 2001 From: Pierre Lasou Date: Mon, 21 Jul 2025 13:22:36 -0400 Subject: [PATCH 02/18] Adding translation for all missing french translations This commit is adding translations for all parameters that were tagged "// TODO New key - Add a translation" in fr.json5 file. --- src/assets/i18n/fr.json5 | 1678 +++++++++++++------------------------- 1 file changed, 549 insertions(+), 1129 deletions(-) diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5 index 58b6f975f1..1b795ddc7a 100644 --- a/src/assets/i18n/fr.json5 +++ b/src/assets/i18n/fr.json5 @@ -55,8 +55,7 @@ "error-page.orcid.generic-error": "Une erreur s'est produite lors de la connexion via ORCID. Assurez-vous d'avoir partagé l'adresse de votre compte ORCID avec DSpace. Si l'erreur persiste, contacter l'administrateur.", // "listelement.badge.access-status": "Access status:", - // TODO New key - Add a translation - "listelement.badge.access-status": "Access status:", + "listelement.badge.access-status": "Statut d'accès:", // "access-status.embargo.listelement.badge": "Embargo", "access-status.embargo.listelement.badge": "Restriction temporaire", @@ -228,7 +227,7 @@ "admin.registries.bitstream-formats.select": "Sélectionner", // "admin.registries.bitstream-formats.deselect": "Deselect", - "admin.registries.bitstream-formats.deselect": "Dessélectionner", + "admin.registries.bitstream-formats.deselect": "Désélectionner", // "admin.registries.metadata.breadcrumbs": "Metadata registry", "admin.registries.metadata.breadcrumbs": "Registre de métadonnées", @@ -258,7 +257,7 @@ "admin.registries.metadata.schemas.select": "Sélectionner", // "admin.registries.metadata.schemas.deselect": "Deselect", - "admin.registries.metadata.schemas.deselect": "Dessélectionner", + "admin.registries.metadata.schemas.deselect": "Désélectionner", // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Supprimer les éléments sélectionnés", @@ -288,7 +287,7 @@ "admin.registries.schema.fields.select": "Sélectionner", // "admin.registries.schema.fields.deselect": "Deselect", - "admin.registries.schema.fields.deselect": "Dessélectionner", + "admin.registries.schema.fields.deselect": "Désélectionner", // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Champs de métadonnées du schéma", @@ -303,8 +302,7 @@ "admin.registries.schema.fields.table.field": "Champ", // "admin.registries.schema.fields.table.selected": "Selected metadata fields", - // TODO New key - Add a translation - "admin.registries.schema.fields.table.selected": "Selected metadata fields", + "admin.registries.schema.fields.table.selected": "Métadonnées sélectionnées", // "admin.registries.schema.fields.table.id": "ID", "admin.registries.schema.fields.table.id": "ID", @@ -468,20 +466,16 @@ "admin.access-control.epeople.table.edit.buttons.remove": "Supprimer \"{{name}}\"", // "admin.access-control.epeople.table.edit.buttons.remove.modal.header": "Delete Group \"{{ dsoName }}\"", - // TODO New key - Add a translation - "admin.access-control.epeople.table.edit.buttons.remove.modal.header": "Delete Group \"{{ dsoName }}\"", + "admin.access-control.epeople.table.edit.buttons.remove.modal.header": "Supprimer le groupe \"{{ dsoName }}\"", // "admin.access-control.epeople.table.edit.buttons.remove.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\" and all its associated policies?", - // TODO New key - Add a translation - "admin.access-control.epeople.table.edit.buttons.remove.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\" and all its associated policies?", + "admin.access-control.epeople.table.edit.buttons.remove.modal.info": "Êtes-vous certain de vouloir supprimer le groupe \"{{ dsoName }}\" et toutes ces politiques associées?", // "admin.access-control.epeople.table.edit.buttons.remove.modal.cancel": "Cancel", - // TODO New key - Add a translation - "admin.access-control.epeople.table.edit.buttons.remove.modal.cancel": "Cancel", + "admin.access-control.epeople.table.edit.buttons.remove.modal.cancel": "Annuler", // "admin.access-control.epeople.table.edit.buttons.remove.modal.confirm": "Delete", - // TODO New key - Add a translation - "admin.access-control.epeople.table.edit.buttons.remove.modal.confirm": "Delete", + "admin.access-control.epeople.table.edit.buttons.remove.modal.confirm": "Supprimer", // "admin.access-control.epeople.no-items": "No EPeople to show.", "admin.access-control.epeople.no-items": "Aucun(e) EPerson ne correspond à votre recherche", @@ -558,8 +552,7 @@ "admin.access-control.epeople.form.goToGroups": "Ajouter au(x) groupe(s)", // "admin.access-control.epeople.notification.deleted.failure": "Error occurred when trying to delete EPerson with id \"{{id}}\" with code: \"{{statusCode}}\" and message: \"{{restResponse.errorMessage}}\"", - // TODO New key - Add a translation - "admin.access-control.epeople.notification.deleted.failure": "Error occurred when trying to delete EPerson with id \"{{id}}\" with code: \"{{statusCode}}\" and message: \"{{restResponse.errorMessage}}\"", + "admin.access-control.epeople.notification.deleted.failure": "Une erreur s'est produite lors de la suppression de l'EPerson ayant l'identifiant \"{{id}}\". Code de l'erreur : \"{{statusCode}}\". Message : \"{{restResponse.errorMessage}}\"", // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", "admin.access-control.epeople.notification.deleted.success": "EPerson \"{{name}}\" supprimé(e) avec succès", @@ -1336,44 +1329,34 @@ "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit": "Supprimer / Ajouter", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.remove": "Retirer le membre ayant le nom \"{{name}}\"", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.addMember": "Le membre \"{{name}}\" a bien été ajouté.", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.addMember": "Échec de l'ajout du membre : \"{{name}}\"", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.success.deleteMember": "Le membre \"{{name}}\" a bien été supprimé.", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.deleteMember": "Échec de la suppression du membre : \"{{name}}\"", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.table.edit.buttons.add": "Ajouter un membre ayant le nom \"{{name}}\"", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.notification.failure.noActiveGroup": "Aucun groupe actif, soumettre d'abord un nom.", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-members-yet": "No members in group yet, search and add.", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-members-yet": "No members in group yet, search and add.", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-members-yet": "Aucun membre dans le groupe, rechercher et ajouter.", // "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-items": "No EPeople found in that search", - // TODO New key - Add a translation - "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-items": "No EPeople found in that search", + "advanced-workflow-action-select-reviewer.groups.form.reviewers-list.no-items": "Aucun EPeople trouvé dans cette recherche", // "advanced-workflow-action.select-reviewer.no-reviewer-selected.error": "No reviewer selected.", - // TODO New key - Add a translation - "advanced-workflow-action.select-reviewer.no-reviewer-selected.error": "No reviewer selected.", + "advanced-workflow-action.select-reviewer.no-reviewer-selected.error": "Aucun-e évaluateur-trice sélectionné-e.", // "admin.batch-import.page.validateOnly.hint": "When selected, the uploaded ZIP will be validated. You will receive a report of detected changes, but no changes will be saved.", "admin.batch-import.page.validateOnly.hint": "Si activé, le fichier ZIP SAF sera uniquement validé. Vous recevrez un rapport identifiant les changements détectés, mais aucun changement ne sera appliqué aux données.", @@ -1614,55 +1597,43 @@ "browse.metadata.subject.breadcrumbs": "Parcourir par Sujet", // "browse.metadata.srsc.breadcrumbs": "Browse by Subject Category", - // TODO New key - Add a translation - "browse.metadata.srsc.breadcrumbs": "Browse by Subject Category", + "browse.metadata.srsc.breadcrumbs": "Parcourir par catégorie", // "browse.metadata.srsc.tree.description": "Select a subject to add as search filter", - // TODO New key - Add a translation - "browse.metadata.srsc.tree.description": "Select a subject to add as search filter", + "browse.metadata.srsc.tree.description": "Sélectionnez un sujet à ajouter comme filtre de recherche", // "browse.metadata.nsi.breadcrumbs": "Browse by Norwegian Science Index", - // TODO New key - Add a translation - "browse.metadata.nsi.breadcrumbs": "Browse by Norwegian Science Index", + "browse.metadata.nsi.breadcrumbs": "Parcourir par Norwegian Science Index", // "browse.metadata.nsi.tree.description": "Select an index to add as search filter", - // TODO New key - Add a translation - "browse.metadata.nsi.tree.description": "Select an index to add as search filter", + "browse.metadata.nsi.tree.description": "Sélectionnez un index à ajouter comme filtre de recherche", // "browse.metadata.title.breadcrumbs": "Browse by Title", "browse.metadata.title.breadcrumbs": "Parcourir par Titre", // "browse.metadata.map": "Browse by Geolocation", - // TODO New key - Add a translation - "browse.metadata.map": "Browse by Geolocation", + "browse.metadata.map": "Parcourir par géolocalisation", // "browse.metadata.map.breadcrumbs": "Browse by Geolocation", - // TODO New key - Add a translation - "browse.metadata.map.breadcrumbs": "Browse by Geolocation", + "browse.metadata.map.breadcrumbs": "Parcourir par géolocalisation", // "browse.metadata.map.count.items": "items", - // TODO New key - Add a translation "browse.metadata.map.count.items": "items", // "pagination.next.button": "Next", - // TODO New key - Add a translation - "pagination.next.button": "Next", + "pagination.next.button": "Suivant", // "pagination.previous.button": "Previous", - // TODO New key - Add a translation - "pagination.previous.button": "Previous", + "pagination.previous.button": "Précédent", // "pagination.next.button.disabled.tooltip": "No more pages of results", - // TODO New key - Add a translation - "pagination.next.button.disabled.tooltip": "No more pages of results", + "pagination.next.button.disabled.tooltip": "Plus aucune page de résultats", // "pagination.page-number-bar": "Control bar for page navigation, relative to element with ID: ", - // TODO New key - Add a translation - "pagination.page-number-bar": "Control bar for page navigation, relative to element with ID: ", + "pagination.page-number-bar": "Barre de contrôle pour la page de navigation, relative à l'élément ayant l'identifiant : ", - // "browse.startsWith": ", starting with {{ startsWith }}", - // TODO New key - Add a translation - "browse.startsWith": ", starting with {{ startsWith }}", + // "browse.startsWith": ": "starting with {{ startsWith }}", + "browse.startsWith": ": "Commencant par {{ startsWith }}", // "browse.startsWith.choose_start": "(Choose start)", "browse.startsWith.choose_start": "(Choisir le début)", @@ -1764,8 +1735,7 @@ "collection.create.breadcrumbs": "Créer une collection", // "collection.browse.logo": "Browse for a collection logo", - // TODO New key - Add a translation - "collection.browse.logo": "Browse for a collection logo", + "collection.browse.logo": "Ajouter un logo à la collection", // "collection.create.head": "Create a Collection", "collection.create.head": "Créer une collection", @@ -2102,7 +2072,7 @@ "collection.select.table.select": "Sélectionner une collection", // "collection.select.table.deselect": "Deselect collection", - "collection.select.table.deselect": "Dessélectionner une collection", + "collection.select.table.deselect": "Désélectionner une collection", // "collection.select.table.title": "Title", "collection.select.table.title": "Titre", @@ -2195,24 +2165,19 @@ "communityList.showMore": "Afficher davantage", // "communityList.expand": "Expand {{ name }}", - // TODO New key - Add a translation - "communityList.expand": "Expand {{ name }}", + "communityList.expand": "Développer {{ name }}", // "communityList.collapse": "Collapse {{ name }}", - // TODO New key - Add a translation - "communityList.collapse": "Collapse {{ name }}", + "communityList.collapse": "Réduire {{ name }}", // "community.browse.logo": "Browse for a community logo", - // TODO New key - Add a translation - "community.browse.logo": "Browse for a community logo", + "community.browse.logo": "Ajouter un logo à la communauté", // "community.subcoms-cols.breadcrumbs": "Subcommunities and Collections", - // TODO New key - Add a translation - "community.subcoms-cols.breadcrumbs": "Subcommunities and Collections", + "community.subcoms-cols.breadcrumbs": "Sous-communautés et collections", // "community.create.breadcrumbs": "Create Community", - // TODO New key - Add a translation - "community.create.breadcrumbs": "Create Community", + "community.create.breadcrumbs": "Créer une communauté", // "community.create.head": "Create a Community", "community.create.head": "Créer une communauté", @@ -2348,8 +2313,7 @@ "comcol-role.edit.create": "Créer", // "comcol-role.edit.create.error.title": "Failed to create a group for the '{{ role }}' role", - // TODO New key - Add a translation - "comcol-role.edit.create.error.title": "Failed to create a group for the '{{ role }}' role", + "comcol-role.edit.create.error.title": "Échec de la création d'un groupe pour le rôle '{{ role }}'", // "comcol-role.edit.restrict": "Restrict", "comcol-role.edit.restrict": "Restreindre", @@ -2358,24 +2322,19 @@ "comcol-role.edit.delete": "Supprimer", // "comcol-role.edit.delete.error.title": "Failed to delete the '{{ role }}' role's group", - // TODO New key - Add a translation - "comcol-role.edit.delete.error.title": "Failed to delete the '{{ role }}' role's group", + "comcol-role.edit.delete.error.title": "Échec de la suppression du rôle du groupe '{{ role }}'", // "comcol-role.edit.delete.modal.header": "Delete Group \"{{ dsoName }}\"", - // TODO New key - Add a translation - "comcol-role.edit.delete.modal.header": "Delete Group \"{{ dsoName }}\"", + "comcol-role.edit.delete.modal.header": "Supprimer le groupe \"{{ dsoName }}\"", // "comcol-role.edit.delete.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\" and all its associated policies?", - // TODO New key - Add a translation - "comcol-role.edit.delete.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\" and all its associated policies?", + "comcol-role.edit.delete.modal.info": "Êtes-vous certains de vouloir supprimer le groupe \"{{ dsoName }}\" et toutes les politiques qui lui sont associées ?", // "comcol-role.edit.delete.modal.cancel": "Cancel", - // TODO New key - Add a translation - "comcol-role.edit.delete.modal.cancel": "Cancel", + "comcol-role.edit.delete.modal.cancel": "Annuler", // "comcol-role.edit.delete.modal.confirm": "Delete", - // TODO New key - Add a translation - "comcol-role.edit.delete.modal.confirm": "Delete", + "comcol-role.edit.delete.modal.confirm": "Supprimer", // "comcol-role.edit.community-admin.name": "Administrators", "comcol-role.edit.community-admin.name": "Administrateurs", @@ -2433,12 +2392,10 @@ "comcol-role.edit.reviewer.description": "Les évaluateurs peuvent accepter ou refuser les dépôts mais ne sont pas en mesure de modifier les métadonnées de ces dépôts.", // "comcol-role.edit.scorereviewers.name": "Score Reviewers", - // TODO New key - Add a translation - "comcol-role.edit.scorereviewers.name": "Score Reviewers", + "comcol-role.edit.scorereviewers.name": "Noter les évaluateurs-trices", // "comcol-role.edit.scorereviewers.description": "Reviewers are able to give a score to incoming submissions, this will define whether the submission will be rejected or not.", - // TODO New key - Add a translation - "comcol-role.edit.scorereviewers.description": "Reviewers are able to give a score to incoming submissions, this will define whether the submission will be rejected or not.", + "comcol-role.edit.scorereviewers.description": "Les évaluateurs-trices peuvent attribuer une note aux soumissions, ce qui permettra de déterminer si la soumission peut être acceptée ou rejettée.", // "community.form.abstract": "Short Description", "community.form.abstract": "Description succincte", @@ -2546,19 +2503,16 @@ "cookies.consent.content-modal.privacy-policy.text": "Pour plus d'informations, veuillez lire notre {privacyPolicy}.", // "cookies.consent.content-modal.no-privacy-policy.text": "", - // TODO New key - Add a translation "cookies.consent.content-modal.no-privacy-policy.text": "", // "cookies.consent.content-modal.title": "Information that we collect", "cookies.consent.content-modal.title": "Données collectées", // "cookies.consent.app.title.accessibility": "Accessibility Settings", - // TODO New key - Add a translation - "cookies.consent.app.title.accessibility": "Accessibility Settings", + "cookies.consent.app.title.accessibility": "Paramètres d'accessibilité", // "cookies.consent.app.description.accessibility": "Required for saving your accessibility settings locally", - // TODO New key - Add a translation - "cookies.consent.app.description.accessibility": "Required for saving your accessibility settings locally", + "cookies.consent.app.description.accessibility": "Exiger afin d'enregistrer vos paramètres d'accessibilité localement.", // "cookies.consent.app.title.authentication": "Authentication", "cookies.consent.app.title.authentication": "Authentification", @@ -2567,12 +2521,10 @@ "cookies.consent.app.description.authentication": "Requis pour permettre votre connexion", // "cookies.consent.app.title.correlation-id": "Correlation ID", - // TODO New key - Add a translation - "cookies.consent.app.title.correlation-id": "Correlation ID", + "cookies.consent.app.title.correlation-id": "Identification de corrélation", // "cookies.consent.app.description.correlation-id": "Allow us to track your session in backend logs for support/debugging purposes", - // TODO New key - Add a translation - "cookies.consent.app.description.correlation-id": "Allow us to track your session in backend logs for support/debugging purposes", + "cookies.consent.app.description.correlation-id": "Permet de suivre votre session dans les journaux du serveur à des fins de débogage.", // "cookies.consent.app.title.preferences": "Preferences", "cookies.consent.app.title.preferences": "Préférences", @@ -2593,19 +2545,16 @@ "cookies.consent.app.description.google-analytics": "Permet l'enregistrement de données statistiques", // "cookies.consent.app.title.google-recaptcha": "Google reCaptcha", - // TODO New key - Add a translation "cookies.consent.app.title.google-recaptcha": "Google reCaptcha", // "cookies.consent.app.description.google-recaptcha": "We use google reCAPTCHA service during registration and password recovery", - // TODO New key - Add a translation - "cookies.consent.app.description.google-recaptcha": "We use google reCAPTCHA service during registration and password recovery", + "cookies.consent.app.description.google-recaptcha": "Nous utilisons le service Google reCAPTCHA pour l'inscription et la récupération de mot de passe", // "cookies.consent.app.title.matomo": "Matomo", "cookies.consent.app.title.matomo": "Matomo", // "cookies.consent.app.description.matomo": "Allows us to track statistical data", - // TODO New key - Add a translation - "cookies.consent.app.description.matomo": "Allows us to track statistical data", + "cookies.consent.app.description.matomo": "Permet de capter des données statistiques", // "cookies.consent.purpose.functional": "Functional", "cookies.consent.purpose.functional": "Fonctionnel", @@ -2614,12 +2563,10 @@ "cookies.consent.purpose.statistical": "Statistique", // "cookies.consent.purpose.registration-password-recovery": "Registration and Password recovery", - // TODO New key - Add a translation - "cookies.consent.purpose.registration-password-recovery": "Registration and Password recovery", + "cookies.consent.purpose.registration-password-recovery": "Inscription et récupération de mot de passe", // "cookies.consent.purpose.sharing": "Sharing", - // TODO New key - Add a translation - "cookies.consent.purpose.sharing": "Sharing", + "cookies.consent.purpose.sharing": "Partage", // "curation-task.task.citationpage.label": "Generate Citation Page", "curation-task.task.citationpage.label": "Générer la page de citation", @@ -2644,8 +2591,7 @@ "curation-task.task.vscan.label": "Virus Scan", // "curation-task.task.registerdoi.label": "Register DOI", - // TODO New key - Add a translation - "curation-task.task.registerdoi.label": "Register DOI", + "curation-task.task.registerdoi.label": "Enregistrer le DOI", // "curation.form.task-select.label": "Task:", "curation.form.task-select.label": "Tâche :", @@ -2663,12 +2609,10 @@ "curation.form.submit.error.head": "L'exécution de la tâche de conservation a échoué", // "curation.form.submit.error.content": "An error occurred when trying to start the curation task.", - // TODO Source message changed - Revise the translation "curation.form.submit.error.content": "Une erreur s'est produite au lancement de la tâche de conservation.", // "curation.form.submit.error.invalid-handle": "Couldn't determine the handle for this object", - // TODO New key - Add a translation - "curation.form.submit.error.invalid-handle": "Couldn't determine the handle for this object", + "curation.form.submit.error.invalid-handle": "Impossible de déterminer le Handle pour cet objet", // "curation.form.handle.label": "Handle:", "curation.form.handle.label": "Handle :", @@ -2707,8 +2651,7 @@ "dso.name.untitled": "Sans titre", // "dso.name.unnamed": "Unnamed", - // TODO New key - Add a translation - "dso.name.unnamed": "Unnamed", + "dso.name.unnamed": "Non nommé", // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Nouvelle collection", @@ -2753,12 +2696,10 @@ "dso-selector.export-metadata.dspaceobject.head": "Exporter les métadonnées de", // "dso-selector.export-batch.dspaceobject.head": "Export Batch (ZIP) from", - // TODO New key - Add a translation - "dso-selector.export-batch.dspaceobject.head": "Export Batch (ZIP) from", + "dso-selector.export-batch.dspaceobject.head": "Exporter le lot (ZIP) de", // "dso-selector.import-batch.dspaceobject.head": "Import batch from", - // TODO New key - Add a translation - "dso-selector.import-batch.dspaceobject.head": "Import batch from", + "dso-selector.import-batch.dspaceobject.head": "Importer le lot de", // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Aucun {{ type }} trouvé", @@ -2791,12 +2732,10 @@ "dso-selector.set-scope.community.input-header": "Chercher une communauté ou une collection", // "dso-selector.claim.item.head": "Profile tips", - // TODO New key - Add a translation - "dso-selector.claim.item.head": "Profile tips", + "dso-selector.claim.item.head": "Astuces sur le profil", // "dso-selector.claim.item.body": "These are existing profiles that may be related to you. If you recognize yourself in one of these profiles, select it and on the detail page, among the options, choose to claim it. Otherwise you can create a new profile from scratch using the button below.", - // TODO New key - Add a translation - "dso-selector.claim.item.body": "These are existing profiles that may be related to you. If you recognize yourself in one of these profiles, select it and on the detail page, among the options, choose to claim it. Otherwise you can create a new profile from scratch using the button below.", + "dso-selector.claim.item.body": "Il existe des profls qui pourraient être en rapport avec vous. Si vous vous reconnaissez dans un de ces profils, sélectionnez-le et parmi les options de la page détaillée, choisissez de le réclamer. Sinon, vous pouvez créer un nouveau profil en utilisant le bouton ci-dessous.", // "dso-selector.claim.item.not-mine-label": "None of these are mine", "dso-selector.claim.item.not-mine-label": "Aucun n'est à moi", @@ -2805,23 +2744,19 @@ "dso-selector.claim.item.create-from-scratch": "Créer un nouveau", // "dso-selector.results-could-not-be-retrieved": "Something went wrong, please refresh again ↻", - // TODO New key - Add a translation - "dso-selector.results-could-not-be-retrieved": "Something went wrong, please refresh again ↻", + "dso-selector.results-could-not-be-retrieved": "Quelque chose s'est mal passé, s'il vous plaît, réactualisez ↻", // "supervision-group-selector.header": "Supervision Group Selector", - // TODO New key - Add a translation - "supervision-group-selector.header": "Supervision Group Selector", + "supervision-group-selector.header": "Sélecteur de groupe de supervision", // "supervision-group-selector.select.type-of-order.label": "Select a type of Order", - // TODO New key - Add a translation - "supervision-group-selector.select.type-of-order.label": "Select a type of Order", + "supervision-group-selector.select.type-of-order.label": "Sélectionner un type de demande", // "supervision-group-selector.select.type-of-order.option.none": "NONE", "supervision-group-selector.select.type-of-order.option.none": "AUCUN", // "supervision-group-selector.select.type-of-order.option.editor": "EDITOR", - // TODO New key - Add a translation - "supervision-group-selector.select.type-of-order.option.editor": "EDITOR", + "supervision-group-selector.select.type-of-order.option.editor": "ÉDITEUR", // "supervision-group-selector.select.type-of-order.option.observer": "OBSERVER", "supervision-group-selector.select.type-of-order.option.observer": "OBSERVATEUR", @@ -2836,22 +2771,19 @@ "supervision-group-selector.button.save": "Sauvegarder", // "supervision-group-selector.select.type-of-order.error": "Please select a type of order", - // TODO New key - Add a translation - "supervision-group-selector.select.type-of-order.error": "Please select a type of order", + "supervision-group-selector.select.type-of-order.error": "S'il vous plaît, sélectionnez un type de demande :", // "supervision-group-selector.select.group.error": "Please select a group", "supervision-group-selector.select.group.error": "S'il vous plaît, sélectionner un groupe", // "supervision-group-selector.notification.create.success.title": "Successfully created supervision order for group {{ name }}", - // TODO New key - Add a translation - "supervision-group-selector.notification.create.success.title": "Successfully created supervision order for group {{ name }}", + "supervision-group-selector.notification.create.success.title": "La demande de supervision pour le groupe {{ name }} a été créée.", // "supervision-group-selector.notification.create.failure.title": "Error", "supervision-group-selector.notification.create.failure.title": "Erreur", // "supervision-group-selector.notification.create.already-existing": "A supervision order already exists on this item for selected group", - // TODO New key - Add a translation - "supervision-group-selector.notification.create.already-existing": "A supervision order already exists on this item for selected group", + "supervision-group-selector.notification.create.already-existing": "Une demande de supervision par le groupe sélectionné existe déjà pour cet Item", // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", "confirmation-modal.export-metadata.header": "Exporter les métadonnées de {{ dsoName }}", @@ -2965,8 +2897,7 @@ "error.recent-submissions": "Erreur lors de la récupération des dépôts récents", // "error.profile-groups": "Error retrieving profile groups", - // TODO New key - Add a translation - "error.profile-groups": "Error retrieving profile groups", + "error.profile-groups": "Erreur lors de la récuppération des groupes du profil", // "error.search-results": "Error fetching search results", "error.search-results": "Erreur lors de la récupération des résultats de recherche", @@ -2990,8 +2921,7 @@ "error.validation.license.notgranted": "Vous devez accepter cette licence pour terminer votre dépôt. Si vous êtes dans l'incapacité d'accepter cette licence actuellement, vous pouvez sauvegarder votre dépôt et y revenir ultérieurement ou le supprimer.", // "error.validation.cclicense.required": "You must grant this cclicense to complete your submission. If you are unable to grant the cclicense at this time, you may save your work and return later or remove the submission.", - // TODO New key - Add a translation - "error.validation.cclicense.required": "You must grant this cclicense to complete your submission. If you are unable to grant the cclicense at this time, you may save your work and return later or remove the submission.", + "error.validation.cclicense.required": "Vous devez approuver cette Licence Creative Commons afin de finaliser votre sumissions. Si vous n'êtes pas en mesure d'approuver la licence pour le moment, vous pouvez souvegarder votre travail pour y revenir plus tard ou supprimer la soumission.", // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", "error.validation.pattern": "Cette entrée est invalide en vertu du modèle actuel : {{ pattern }}.", @@ -3014,44 +2944,34 @@ "error.validation.groupExists": "Ce groupe existe déjà", // "error.validation.metadata.name.invalid-pattern": "This field cannot contain dots, commas or spaces. Please use the Element & Qualifier fields instead", - // TODO New key - Add a translation - "error.validation.metadata.name.invalid-pattern": "This field cannot contain dots, commas or spaces. Please use the Element & Qualifier fields instead", + "error.validation.metadata.name.invalid-pattern": "Ce champ ne peut contenir de points, virgules ou espaces. S'il vous plaît, utilisez les champs Éléments et Qualificatifs à la place.", // "error.validation.metadata.name.max-length": "This field may not contain more than 32 characters", - // TODO New key - Add a translation - "error.validation.metadata.name.max-length": "This field may not contain more than 32 characters", + "error.validation.metadata.name.max-length": "Ce champ ne peut contenir plus de 32 caractères.", // "error.validation.metadata.namespace.max-length": "This field may not contain more than 256 characters", - // TODO New key - Add a translation - "error.validation.metadata.namespace.max-length": "This field may not contain more than 256 characters", + "error.validation.metadata.namespace.max-length": "Ce champ ne peut contenir plus de 256 caractères.", // "error.validation.metadata.element.invalid-pattern": "This field cannot contain dots, commas or spaces. Please use the Qualifier field instead", - // TODO New key - Add a translation - "error.validation.metadata.element.invalid-pattern": "This field cannot contain dots, commas or spaces. Please use the Qualifier field instead", + "error.validation.metadata.element.invalid-pattern": "Ce champ ne peut contenir de points, virgules ou espaces. S'il vous plaît, utilisez le champ Qualificatifs à la place.", // "error.validation.metadata.element.max-length": "This field may not contain more than 64 characters", - // TODO New key - Add a translation - "error.validation.metadata.element.max-length": "This field may not contain more than 64 characters", + "error.validation.metadata.element.max-length": "Ce champ ne peut comtenir plus de 64 caractères.", // "error.validation.metadata.qualifier.invalid-pattern": "This field cannot contain dots, commas or spaces", - // TODO New key - Add a translation - "error.validation.metadata.qualifier.invalid-pattern": "This field cannot contain dots, commas or spaces", + "error.validation.metadata.qualifier.invalid-pattern": "Ce champ ne peut contenir de points, virgules ou espaces.", // "error.validation.metadata.qualifier.max-length": "This field may not contain more than 64 characters", - // TODO New key - Add a translation - "error.validation.metadata.qualifier.max-length": "This field may not contain more than 64 characters", + "error.validation.metadata.qualifier.max-length": "Ce champ ne peut contenir plus de 64 caractères.", // "feed.description": "Syndication feed", - // TODO New key - Add a translation - "feed.description": "Syndication feed", + "feed.description": "Fil de nouvelles", // "file-download-link.restricted": "Restricted bitstream", - // TODO New key - Add a translation - "file-download-link.restricted": "Restricted bitstream", + "file-download-link.restricted": "Bitstream restreint", // "file-download-link.secure-access": "Restricted bitstream available via secure access token", - // TODO New key - Add a translation - "file-download-link.secure-access": "Restricted bitstream available via secure access token", + "file-download-link.secure-access": "Bitstream restreint disponible par l'intermédiaire d'un jeton d'accès sécurisé.", // "file-section.error.header": "Error obtaining files for this item", "file-section.error.header": "Erreur lors de la récupération des fichiers liés à cet Item", @@ -3060,8 +2980,7 @@ "footer.copyright": "copyright © 2002-{{ year }}", // "footer.link.accessibility": "Accessibility settings", - // TODO New key - Add a translation - "footer.link.accessibility": "Accessibility settings", + "footer.link.accessibility": "Paramètres d'accessibilité", // "footer.link.dspace": "DSpace software", "footer.link.dspace": "Logiciel DSpace", @@ -3084,7 +3003,6 @@ "footer.link.feedback": "Envoyer un commentaire", // "footer.link.coar-notify-support": "COAR Notify", - // TODO New key - Add a translation "footer.link.coar-notify-support": "COAR Notify", // "forgot-email.form.header": "Forgot Password", @@ -3119,12 +3037,10 @@ "forgot-email.form.success.content": "Un courrier électronique a été envoyé à {{ email }} avec une URL d'activation et de plus amples instructions.", // "forgot-email.form.error.head": "Error when trying to reset password", - // TODO Source message changed - Revise the translation - "forgot-email.form.error.head": "Erreur lors de l'enregistrement de l'adresse électronique", + "forgot-email.form.error.head": "Erreur lors de la réinitialisation du mot de passe", // "forgot-email.form.error.content": "An error occurred when attempting to reset the password for the account associated with the following email address: {{ email }}", - // TODO New key - Add a translation - "forgot-email.form.error.content": "An error occurred when attempting to reset the password for the account associated with the following email address: {{ email }}", + "forgot-email.form.error.content": "Une erreur s'est produite lors de la tentative de réinitialisation du mot de passe du compte associé à l'adresse courriel suivante : {{ email }}", // "forgot-password.title": "Forgot Password", "forgot-password.title": "Mot de passe oublié", @@ -3270,12 +3186,10 @@ "form.create": "Créer", // "form.number-picker.decrement": "Decrement {{field}}", - // TODO New key - Add a translation - "form.number-picker.decrement": "Decrement {{field}}", + "form.number-picker.decrement": "Décrémenter {{field}}", // "form.number-picker.increment": "Increment {{field}}", - // TODO New key - Add a translation - "form.number-picker.increment": "Increment {{field}}", + "form.number-picker.increment": "Incrémenter {{field}}", // "form.repeatable.sort.tip": "Drop the item in the new position", "form.repeatable.sort.tip": "Déposer l'objet dans la nouvelle position", @@ -3329,8 +3243,7 @@ "grant-deny-request-copy.intro2": "Après avoir choisi une option, une proposition de message de réponse par courrier électronique vous sera présentée, que vous pourrez modifier.", // "grant-deny-request-copy.previous-decision": "This request was previously granted with a secure access token. You may revoke this access now to immediately invalidate the access token", - // TODO New key - Add a translation - "grant-deny-request-copy.previous-decision": "This request was previously granted with a secure access token. You may revoke this access now to immediately invalidate the access token", + "grant-deny-request-copy.previous-decision": "Cette demande a été accordé précédemment par un jeton d'accès sécurisé. Vous pouvez la révoquer afin d'invalider le jeton d'accès", // "grant-deny-request-copy.processed": "This request has already been processed. You can use the button below to get back to the home page.", "grant-deny-request-copy.processed": "Cette demande a déjà été traitée. Vous pouvez utiliser le bouton ci-dessous pour revenir à la page d'accueil.", @@ -3345,16 +3258,13 @@ "grant-request-copy.header": "Approuver la demande de copie du document", // "grant-request-copy.intro.attachment": "A message will be sent to the applicant of the request. The requested document(s) will be attached.", - // TODO New key - Add a translation - "grant-request-copy.intro.attachment": "A message will be sent to the applicant of the request. The requested document(s) will be attached.", + "grant-request-copy.intro.attachment": "Un message sera envoyé au demandeur. Le(s) document(s) demandé(s) seront joints au message.", // "grant-request-copy.intro.link": "A message will be sent to the applicant of the request. A secure link providing access to the requested document(s) will be attached. The link will provide access for the duration of time selected in the \"Access Period\" menu below.", - // TODO New key - Add a translation - "grant-request-copy.intro.link": "A message will be sent to the applicant of the request. A secure link providing access to the requested document(s) will be attached. The link will provide access for the duration of time selected in the \"Access Period\" menu below.", + "grant-request-copy.intro.link": "Une message sera envoyé au demandeur. Un lien sécurisé donnant accès au(x) document(s) demandé(s) sera inséré dans le courriel. Ce lien sera valide pendant le délai sélectionné dans le menu \"Access Period\" ci-dessous.", // "grant-request-copy.intro.link.preview": "Below is a preview of the link that will be sent to the applicant:", - // TODO New key - Add a translation - "grant-request-copy.intro.link.preview": "Below is a preview of the link that will be sent to the applicant:", + "grant-request-copy.intro.link.preview": "Le lien qui sera envoyé au demandeur est affiché ci-dessous :", // "grant-request-copy.success": "Successfully granted item request", "grant-request-copy.success": "Demande de copie de document acceptée avec succès", @@ -3456,80 +3366,61 @@ "home.top-level-communities.help": "Sélectionner une communauté pour parcourir les collections sous-jacentes.", // "info.accessibility-settings.breadcrumbs": "Accessibility settings", - // TODO New key - Add a translation - "info.accessibility-settings.breadcrumbs": "Accessibility settings", + "info.accessibility-settings.breadcrumbs": "Paramètres d'accessibilité", // "info.accessibility-settings.cookie-warning": "Saving the accessibility settings is currently not possible. Either log in to save the settings in user data, or accept the 'Accessibility Settings' cookie using the 'Cookie Settings' menu at the bottom of the page. Once the cookie has been accepted, you can reload the page to remove this message.", - // TODO New key - Add a translation - "info.accessibility-settings.cookie-warning": "Saving the accessibility settings is currently not possible. Either log in to save the settings in user data, or accept the 'Accessibility Settings' cookie using the 'Cookie Settings' menu at the bottom of the page. Once the cookie has been accepted, you can reload the page to remove this message.", + "info.accessibility-settings.cookie-warning": "Il n'est pas possible de sauvegarder les paramètres d'accessibilité pour l'instant. Connectez-vous afin de les sauvegarder dans les données utilisateur, ou acceptez le fichier témoin 'Paramètres d'accessibilité' en utilisant le menu 'Paramètre de fichier témoin' en bas de la page. Une fois le fichier témoin accepté, vous pouvez recharger la page afin de retirer ce message.", // "info.accessibility-settings.disableNotificationTimeOut.label": "Automatically close notifications after time out", - // TODO New key - Add a translation - "info.accessibility-settings.disableNotificationTimeOut.label": "Automatically close notifications after time out", + "info.accessibility-settings.disableNotificationTimeOut.label": "Fermer les avis automatiquement après le délai d'inactivité.", // "info.accessibility-settings.disableNotificationTimeOut.hint": "When this toggle is activated, notifications will close automatically after the time out passes. When deactivated, notifications will remain open untill manually closed.", - // TODO New key - Add a translation - "info.accessibility-settings.disableNotificationTimeOut.hint": "When this toggle is activated, notifications will close automatically after the time out passes. When deactivated, notifications will remain open untill manually closed.", + "info.accessibility-settings.disableNotificationTimeOut.hint": "Quand ce bouton est activé, les avis se fermeront automatiquement lorsque le délai d'inactivité est atteint. S'il est désactivé, les avis devront être fermés manuellement.", // "info.accessibility-settings.failed-notification": "Failed to save accessibility settings", - // TODO New key - Add a translation - "info.accessibility-settings.failed-notification": "Failed to save accessibility settings", + "info.accessibility-settings.failed-notification": "Échec lors de la sauvegarde des paramètres d'accessibilité", // "info.accessibility-settings.invalid-form-notification": "Did not save. The form contains invalid values.", - // TODO New key - Add a translation - "info.accessibility-settings.invalid-form-notification": "Did not save. The form contains invalid values.", + "info.accessibility-settings.invalid-form-notification": "Non sauvergardé. Le formulaire contient des valeurs invalides.", // "info.accessibility-settings.liveRegionTimeOut.label": "ARIA Live region time out (in seconds)", - // TODO New key - Add a translation - "info.accessibility-settings.liveRegionTimeOut.label": "ARIA Live region time out (in seconds)", + "info.accessibility-settings.liveRegionTimeOut.label": "Délai d'inactivité pour l'attribut ARIA Live region (en secondes)", // "info.accessibility-settings.liveRegionTimeOut.hint": "The duration after which a message in the ARIA live region disappears. ARIA live regions are not visible on the page, but provide announcements of notifications (or other actions) to screen readers.", - // TODO New key - Add a translation - "info.accessibility-settings.liveRegionTimeOut.hint": "The duration after which a message in the ARIA live region disappears. ARIA live regions are not visible on the page, but provide announcements of notifications (or other actions) to screen readers.", + "info.accessibility-settings.liveRegionTimeOut.hint": "Le délai après lequel un message dans l'attribut ARIA live region disparait. Les attributs ARIA live regions ne sont pas visibles sur la page, mais fournissent des annonces de notifications (ou d'autres actions) aux lecteurs d'écran.", // "info.accessibility-settings.liveRegionTimeOut.invalid": "Live region time out must be greater than 0", - // TODO New key - Add a translation - "info.accessibility-settings.liveRegionTimeOut.invalid": "Live region time out must be greater than 0", + "info.accessibility-settings.liveRegionTimeOut.invalid": "Le délai d'inactivité pour l'attribut ARIA Live region doit être plus grand que 0", // "info.accessibility-settings.notificationTimeOut.label": "Notification time out (in seconds)", - // TODO New key - Add a translation - "info.accessibility-settings.notificationTimeOut.label": "Notification time out (in seconds)", + "info.accessibility-settings.notificationTimeOut.label": "Délai d'inactivité pour les avis (en secondes)", // "info.accessibility-settings.notificationTimeOut.hint": "The duration after which a notification disappears.", - // TODO New key - Add a translation - "info.accessibility-settings.notificationTimeOut.hint": "The duration after which a notification disappears.", + "info.accessibility-settings.notificationTimeOut.hint": "Délai après lequel l'avis disparaît.", // "info.accessibility-settings.notificationTimeOut.invalid": "Notification time out must be greater than 0", - // TODO New key - Add a translation - "info.accessibility-settings.notificationTimeOut.invalid": "Notification time out must be greater than 0", + "info.accessibility-settings.notificationTimeOut.invalid": "Le délai d'inactivité pour les avis doit être plus grand que 0.", // "info.accessibility-settings.save-notification.cookie": "Successfully saved settings locally.", - // TODO New key - Add a translation - "info.accessibility-settings.save-notification.cookie": "Successfully saved settings locally.", + "info.accessibility-settings.save-notification.cookie": "Les paramètres ont été sauvergardés localement avec succès.", // "info.accessibility-settings.save-notification.metadata": "Successfully saved settings on the user profile.", - // TODO New key - Add a translation - "info.accessibility-settings.save-notification.metadata": "Successfully saved settings on the user profile.", + "info.accessibility-settings.save-notification.metadata": "Les paramètres ont été sauvergardés avec succès dans le profil utilisateur.", // "info.accessibility-settings.reset-failed": "Failed to reset. Either log in or accept the 'Accessibility Settings' cookie.", - // TODO New key - Add a translation - "info.accessibility-settings.reset-failed": "Failed to reset. Either log in or accept the 'Accessibility Settings' cookie.", + "info.accessibility-settings.reset-failed": "Échec de la réinitialisation. Connectez-vous ou acceptez le fichier témoin 'Paramètres d'sccessibilité'.", // "info.accessibility-settings.reset-notification": "Successfully reset settings.", - // TODO New key - Add a translation - "info.accessibility-settings.reset-notification": "Successfully reset settings.", + "info.accessibility-settings.reset-notification": "Les paramètres ont été réinitialisés.", // "info.accessibility-settings.reset": "Reset accessibility settings", - // TODO New key - Add a translation - "info.accessibility-settings.reset": "Reset accessibility settings", + "info.accessibility-settings.reset": "Réinitialiser les paramètres d'accessibilité", // "info.accessibility-settings.submit": "Save accessibility settings", - // TODO New key - Add a translation - "info.accessibility-settings.submit": "Save accessibility settings", + "info.accessibility-settings.submit": "Sauvegarder les paramètres d'accessibilité", // "info.accessibility-settings.title": "Accessibility settings", - // TODO New key - Add a translation - "info.accessibility-settings.title": "Accessibility settings", + "info.accessibility-settings.title": "Paramètres d'accessibilité", // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", "info.end-user-agreement.accept": "J'ai lu et j'accepte la licence de l'utilisateur final", @@ -3607,12 +3498,10 @@ "info.feedback.page_help": "La page relative à vos commentaires", // "info.coar-notify-support.title": "COAR Notify Support", - // TODO New key - Add a translation - "info.coar-notify-support.title": "COAR Notify Support", + "info.coar-notify-support.title": "Soutien COAR Notify", // "info.coar-notify-support.breadcrumbs": "COAR Notify Support", - // TODO New key - Add a translation - "info.coar-notify-support.breadcrumbs": "COAR Notify Support", + "info.coar-notify-support.breadcrumbs": "Soutien COAR Notify", // "item.alerts.private": "This item is non-discoverable", // TODO Source message changed - Revise the translation @@ -3622,8 +3511,7 @@ "item.alerts.withdrawn": "Cet Item a été retiré", // "item.alerts.reinstate-request": "Request reinstate", - // TODO New key - Add a translation - "item.alerts.reinstate-request": "Request reinstate", + "item.alerts.reinstate-request": "Demander la réintégration", // "quality-assurance.event.table.person-who-requested": "Requested by", "quality-assurance.event.table.person-who-requested": "Demandé par", @@ -3635,8 +3523,7 @@ "item.edit.authorizations.title": "Éditer les autorisations de l'Item", // "item.badge.status": "Item status:", - // TODO New key - Add a translation - "item.badge.status": "Item status:", + "item.badge.status": "Statut de l'Item :", // "item.badge.private": "Non-discoverable", // TODO Source message changed - Revise the translation @@ -3695,12 +3582,10 @@ "item.edit.bitstreams.bundle.name": "BUNDLE : {{ name }}", // "item.edit.bitstreams.bundle.table.aria-label": "Bitstreams in the {{ bundle }} Bundle", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.table.aria-label": "Bitstreams in the {{ bundle }} Bundle", + "item.edit.bitstreams.bundle.table.aria-label": "Bitstreams dans le {{ bundle }} Bundle", // "item.edit.bitstreams.bundle.tooltip": "You can move a bitstream to a different page by dropping it on the page number.", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.tooltip": "You can move a bitstream to a different page by dropping it on the page number.", + "item.edit.bitstreams.bundle.tooltip": "Vous pouvez déplacer un bitstream dans une page différente en le déposant sur le numéro de page.", // "item.edit.bitstreams.discard-button": "Discard", "item.edit.bitstreams.discard-button": "Annuler", @@ -3721,31 +3606,25 @@ "item.edit.bitstreams.edit.buttons.undo": "Annuler les modifications", // "item.edit.bitstreams.edit.live.cancel": "{{ bitstream }} was returned to position {{ toIndex }} and is no longer selected.", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.live.cancel": "{{ bitstream }} was returned to position {{ toIndex }} and is no longer selected.", + "item.edit.bitstreams.edit.live.cancel": "{{ bitstream }} a été retourné à la position {{ toIndex }} et n'est plus sélectionné.", // "item.edit.bitstreams.edit.live.clear": "{{ bitstream }} is no longer selected.", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.live.clear": "{{ bitstream }} is no longer selected.", + "item.edit.bitstreams.edit.live.clear": "{{ bitstream }} n'est plus sélectionné.", // "item.edit.bitstreams.edit.live.loading": "Waiting for move to complete.", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.live.loading": "Waiting for move to complete.", + "item.edit.bitstreams.edit.live.loading": "Attente de la fin du déplacement.", // "item.edit.bitstreams.edit.live.select": "{{ bitstream }} is selected.", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.live.select": "{{ bitstream }} is selected.", + "item.edit.bitstreams.edit.live.select": "{{ bitstream }} est sélectionné.", // "item.edit.bitstreams.edit.live.move": "{{ bitstream }} is now in position {{ toIndex }}.", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.live.move": "{{ bitstream }} is now in position {{ toIndex }}.", + "item.edit.bitstreams.edit.live.move": "{{ bitstream }} est maintenant à la position {{ toIndex }}.", // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", "item.edit.bitstreams.empty": "Aucun Bitstream n'est associé à cet Item. Cliquer sur le bouton de téléchargement pour en créer un.", // "item.edit.bitstreams.info-alert": "Bitstreams can be reordered within their bundles by holding the drag handle and moving the mouse. Alternatively, bitstreams can be moved using the keyboard in the following way: Select the bitstream by pressing enter when the bitstream's drag handle is in focus. Move the bitstream up or down using the arrow keys. Press enter again to confirm the current position of the bitstream.", - // TODO New key - Add a translation - "item.edit.bitstreams.info-alert": "Bitstreams can be reordered within their bundles by holding the drag handle and moving the mouse. Alternatively, bitstreams can be moved using the keyboard in the following way: Select the bitstream by pressing enter when the bitstream's drag handle is in focus. Move the bitstream up or down using the arrow keys. Press enter again to confirm the current position of the bitstream.", + "item.edit.bitstreams.info-alert": "Les Bitstreams peuvent être réorganisés à l'intérieur de leurs bundles en maintenant avec la souris la poignée de déplacement. Il est également possible de déplacer les Bitstreams à l'aide du clavier de la manière suivante : sélectionnez le Bitstreams en appuyant sur la touche Entrée lorsque le point d’attention est sur la poignée de déplacement. Déplacez ensuite le Bitstreams vers le haut ou vers le bas à l'aide des touches fléchées. Appuyez à nouveau sur la touche Entrée pour confirmer la nouvelle position du Bitstreams.", // "item.edit.bitstreams.headers.actions": "Actions", "item.edit.bitstreams.headers.actions": "Actions", @@ -3994,8 +3873,7 @@ "item.edit.metadata.edit.buttons.unedit": "Arrêter l'édition", // "item.edit.metadata.edit.buttons.virtual": "This is a virtual metadata value, i.e. a value inherited from a related entity. It can’t be modified directly. Add or remove the corresponding relationship in the \"Relationships\" tab", - // TODO New key - Add a translation - "item.edit.metadata.edit.buttons.virtual": "This is a virtual metadata value, i.e. a value inherited from a related entity. It can’t be modified directly. Add or remove the corresponding relationship in the \"Relationships\" tab", + "item.edit.metadata.edit.buttons.virtual": "C'est une métadonnée virtuelle (ex: une valeur héritée d'une entité). Elle ne peut être modifiée directement. Supprimer ou retirer la relation correspondante dans l'onglet \"Relationships\"", // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", "item.edit.metadata.empty": "Aucune métadonnée n'est associée à cet Item. Cliquer sur « Ajouter » pour commencer à ajouter une métadonnée.", @@ -4063,12 +3941,10 @@ "item.edit.metadata.authority.label": "Autorité: ", // "item.edit.metadata.edit.buttons.open-authority-edition": "Unlock the authority key value for manual editing", - // TODO New key - Add a translation - "item.edit.metadata.edit.buttons.open-authority-edition": "Unlock the authority key value for manual editing", + "item.edit.metadata.edit.buttons.open-authority-edition": "Débloquer la clé d'autorité afin de pouvoir éditer manuellement.", // "item.edit.metadata.edit.buttons.close-authority-edition": "Lock the authority key value for manual editing", - // TODO New key - Add a translation - "item.edit.metadata.edit.buttons.close-authority-edition": "Lock the authority key value for manual editing", + "item.edit.metadata.edit.buttons.close-authority-edition": "Bloquer la clé d'autorité pour empêcher l'édition manuelle.", // "item.edit.modify.overview.field": "Field", "item.edit.modify.overview.field": "Champ", @@ -4104,8 +3980,7 @@ "item.edit.move.inheritpolicies.description": "Hériter des politiques par défaut de la collection de destination", // "item.edit.move.inheritpolicies.tooltip": "Warning: When enabled, the read access policy for the item and any files associated with the item will be replaced by the default read access policy of the collection. This cannot be undone.", - // TODO New key - Add a translation - "item.edit.move.inheritpolicies.tooltip": "Warning: When enabled, the read access policy for the item and any files associated with the item will be replaced by the default read access policy of the collection. This cannot be undone.", + "item.edit.move.inheritpolicies.tooltip": "Avertissement : lorsqu'activé, la politique d'accès de lecture de l'item et de ses fichiers sera remplacée par celle de la collection. Cette action ne peut être annulée.", // "item.edit.move.move": "Move", "item.edit.move.move": "Déplacer", @@ -4138,8 +4013,7 @@ "item.edit.private.error": "Une erreur s'est produite lors de la privatisation de l'Item", // "item.edit.private.header": "Make item non-discoverable: {{ id }}", - // TODO New key - Add a translation - "item.edit.private.header": "Make item non-discoverable: {{ id }}", + "item.edit.private.header": "Rendre l'item {{ id }} non découvrable.", // "item.edit.private.success": "The item is now non-discoverable", // TODO Source message changed - Revise the translation @@ -4161,8 +4035,7 @@ "item.edit.public.error": "Une erreur s'est produite lors de la définition de l'Item en tant qu'Item public", // "item.edit.public.header": "Make item discoverable: {{ id }}", - // TODO New key - Add a translation - "item.edit.public.header": "Make item discoverable: {{ id }}", + "item.edit.public.header": "Rendre l'item {{ id }} découvrable.", // "item.edit.public.success": "The item is now discoverable", // TODO Source message changed - Revise the translation @@ -4377,8 +4250,7 @@ "item.edit.withdraw.success": "L'Item a été retiré avec succès", // "item.orcid.return": "Back", - // TODO New key - Add a translation - "item.orcid.return": "Back", + "item.orcid.return": "Retour", // "item.listelement.badge": "Item", "item.listelement.badge": "Item", @@ -4387,28 +4259,24 @@ "item.page.description": "Description", // "item.page.org-unit": "Organizational Unit", - // TODO New key - Add a translation - "item.page.org-unit": "Organizational Unit", + "item.page.org-unit": "Structure organisationnelle", // "item.page.org-units": "Organizational Units", "item.page.org-units": "Structures organisationnelles", // "item.page.project": "Research Project", - // TODO New key - Add a translation - "item.page.project": "Research Project", + "item.page.project": "Projet de recherche", // "item.page.projects": "Research Projects", "item.page.projects": "Projets de recherche", // "item.page.publication": "Publications", - // TODO New key - Add a translation "item.page.publication": "Publications", // "item.page.publications": "Publications", "item.page.publications": "Publications", // "item.page.article": "Article", - // TODO New key - Add a translation "item.page.article": "Article", // "item.page.articles": "Articles", @@ -4418,8 +4286,7 @@ "item.page.journal": "Revue", // "item.page.journals": "Journals", - // TODO New key - Add a translation - "item.page.journals": "Journals", + "item.page.journals": "Revues", // "item.page.journal-issue": "Journal Issue", "item.page.journal-issue": "Numéro de revue", @@ -4449,8 +4316,7 @@ "item.page.volume-title": "Titre du volume", // "item.page.dcterms.spatial": "Geospatial point", - // TODO New key - Add a translation - "item.page.dcterms.spatial": "Geospatial point", + "item.page.dcterms.spatial": Point géospacial", // "item.search.results.head": "Item Search Results", "item.search.results.head": "Résultats de la recherche d'Items", @@ -4465,26 +4331,22 @@ "item.truncatable-part.show-less": "Réduire", // "item.qa-event-notification.check.notification-info": "There are {{num}} pending suggestions related to your account", - // TODO New key - Add a translation - "item.qa-event-notification.check.notification-info": "There are {{num}} pending suggestions related to your account", + "item.qa-event-notification.check.notification-info": "Il y a {{num}} suggestion(s) en attente reliée(s) à votre compte.", // "item.qa-event-notification-info.check.button": "View", "item.qa-event-notification-info.check.button": "Voir", // "mydspace.qa-event-notification.check.notification-info": "There are {{num}} pending suggestions related to your account", - // TODO New key - Add a translation - "mydspace.qa-event-notification.check.notification-info": "There are {{num}} pending suggestions related to your account", + "mydspace.qa-event-notification.check.notification-info": "Il y a {{num}} suggestion(s) en attente reliée(s) à votre compte.", // "mydspace.qa-event-notification-info.check.button": "View", "mydspace.qa-event-notification-info.check.button": "Voir", // "workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order", - // TODO New key - Add a translation - "workflow-item.search.result.delete-supervision.modal.header": "Delete Supervision Order", + "workflow-item.search.result.delete-supervision.modal.header": "Supprimer la demande de supervision", // "workflow-item.search.result.delete-supervision.modal.info": "Are you sure you want to delete Supervision Order", - // TODO New key - Add a translation - "workflow-item.search.result.delete-supervision.modal.info": "Are you sure you want to delete Supervision Order", + "workflow-item.search.result.delete-supervision.modal.info": "Êtes-vous certain-e de vouloir supprimer la demande de supervision ?", // "workflow-item.search.result.delete-supervision.modal.cancel": "Cancel", "workflow-item.search.result.delete-supervision.modal.cancel": "Annuler", @@ -4493,62 +4355,49 @@ "workflow-item.search.result.delete-supervision.modal.confirm": "Supprimer", // "workflow-item.search.result.notification.deleted.success": "Successfully deleted supervision order \"{{name}}\"", - // TODO New key - Add a translation - "workflow-item.search.result.notification.deleted.success": "Successfully deleted supervision order \"{{name}}\"", + "workflow-item.search.result.notification.deleted.success": "La demande de supervision \"{{name}}\" a bien été supprimée.", // "workflow-item.search.result.notification.deleted.failure": "Failed to delete supervision order \"{{name}}\"", - // TODO New key - Add a translation - "workflow-item.search.result.notification.deleted.failure": "Failed to delete supervision order \"{{name}}\"", + "workflow-item.search.result.notification.deleted.failure": "La demande de supervision \"{{name}}\" n'a pas pu être supprimée.", // "workflow-item.search.result.list.element.supervised-by": "Supervised by:", "workflow-item.search.result.list.element.supervised-by": "Supervisé par :", // "workflow-item.search.result.list.element.supervised.remove-tooltip": "Remove supervision group", - // TODO New key - Add a translation - "workflow-item.search.result.list.element.supervised.remove-tooltip": "Remove supervision group", + "workflow-item.search.result.list.element.supervised.remove-tooltip": "Supprimer le groupe de supervision", // "confidence.indicator.help-text.accepted": "This authority value has been confirmed as accurate by an interactive user", - // TODO New key - Add a translation - "confidence.indicator.help-text.accepted": "This authority value has been confirmed as accurate by an interactive user", + "confidence.indicator.help-text.accepted": "Cette valeur d'autorité a été confirmée comme exacte par un-e utilisateur-trice.", // "confidence.indicator.help-text.uncertain": "Value is singular and valid but has not been seen and accepted by a human so it is still uncertain", - // TODO New key - Add a translation - "confidence.indicator.help-text.uncertain": "Value is singular and valid but has not been seen and accepted by a human so it is still uncertain", + "confidence.indicator.help-text.uncertain": "La valeur est unique et valide mais n'a pas encore été acceptée par un humain, elle reste donc incertaine.", // "confidence.indicator.help-text.ambiguous": "There are multiple matching authority values of equal validity", - // TODO New key - Add a translation - "confidence.indicator.help-text.ambiguous": "There are multiple matching authority values of equal validity", + "confidence.indicator.help-text.ambiguous": "Il y a plusieurs valeurs d'autorité correspondantes dont la validité est égale.", // "confidence.indicator.help-text.notfound": "There are no matching answers in the authority", - // TODO New key - Add a translation - "confidence.indicator.help-text.notfound": "There are no matching answers in the authority", + "confidence.indicator.help-text.notfound": "Il n'y a aucune réponse correspondante dans l'autorité.", // "confidence.indicator.help-text.failed": "The authority encountered an internal failure", - // TODO New key - Add a translation - "confidence.indicator.help-text.failed": "The authority encountered an internal failure", + "confidence.indicator.help-text.failed": "L'autorité a rencontré une erreur interne.", // "confidence.indicator.help-text.rejected": "The authority recommends this submission be rejected", - // TODO New key - Add a translation - "confidence.indicator.help-text.rejected": "The authority recommends this submission be rejected", + "confidence.indicator.help-text.rejected": "L'autorité recommande que la soumission soit rejetée.", // "confidence.indicator.help-text.novalue": "No reasonable confidence value was returned from the authority", - // TODO New key - Add a translation - "confidence.indicator.help-text.novalue": "No reasonable confidence value was returned from the authority", + "confidence.indicator.help-text.novalue": "Aucune valeur de confiance n'a été retournée de l'autorité.", // "confidence.indicator.help-text.unset": "Confidence was never recorded for this value", - // TODO New key - Add a translation - "confidence.indicator.help-text.unset": "Confidence was never recorded for this value", + "confidence.indicator.help-text.unset": "Le niveau de confiance n'a jamais été enregistré pour cette valeur.", // "confidence.indicator.help-text.unknown": "Unknown confidence value", - // TODO New key - Add a translation - "confidence.indicator.help-text.unknown": "Unknown confidence value", + "confidence.indicator.help-text.unknown": "Valeur de confiance inconnue", // "item.page.abstract": "Abstract", "item.page.abstract": "Résumé", // "item.page.author": "Author", - // TODO New key - Add a translation - "item.page.author": "Author", + "item.page.author": "Auteur-e", // "item.page.authors": "Authors", "item.page.authors": "Auteurs", @@ -4668,8 +4517,7 @@ "item.page.claim.button": "Réclamer", // "item.page.claim.tooltip": "Claim this item as profile", - // TODO New key - Add a translation - "item.page.claim.tooltip": "Claim this item as profile", + "item.page.claim.tooltip": "Réclamer cet item comme profil", // "item.page.image.alt.ROR": "ROR logo", "item.page.image.alt.ROR": "Logo ROR", @@ -4714,28 +4562,22 @@ "item.preview.oaire.citation.volume": "Volume", // "item.preview.oaire.citation.title": "Citation container", - // TODO New key - Add a translation - "item.preview.oaire.citation.title": "Citation container", + "item.preview.oaire.citation.title": "Citation", // "item.preview.oaire.citation.startPage": "Citation start page", - // TODO New key - Add a translation - "item.preview.oaire.citation.startPage": "Citation start page", + "item.preview.oaire.citation.startPage": "Page de début", // "item.preview.oaire.citation.endPage": "Citation end page", - // TODO New key - Add a translation - "item.preview.oaire.citation.endPage": "Citation end page", + "item.preview.oaire.citation.endPage": "Page de fin", // "item.preview.dc.relation.hasversion": "Has version", - // TODO New key - Add a translation - "item.preview.dc.relation.hasversion": "Has version", + "item.preview.dc.relation.hasversion": "A comme version", // "item.preview.dc.relation.ispartofseries": "Is part of series", - // TODO New key - Add a translation - "item.preview.dc.relation.ispartofseries": "Is part of series", + "item.preview.dc.relation.ispartofseries": "Fait partie de la collection", // "item.preview.dc.rights": "Rights", - // TODO New key - Add a translation - "item.preview.dc.rights": "Rights", + "item.preview.dc.rights": "Droits", // "item.preview.dc.identifier.other": "Other Identifier", // TODO Source message changed - Revise the translation @@ -4778,8 +4620,7 @@ "item.preview.project.funder.identifier": "Identifiant du bailleur de fonds", // "item.preview.project.investigator": "Project Investigator", - // TODO New key - Add a translation - "item.preview.project.investigator": "Project Investigator", + "item.preview.project.investigator": "Investigateur du projet", // "item.preview.oaire.awardNumber": "Funding ID:", "item.preview.oaire.awardNumber": "Identifiant du bailleur de fonds :", @@ -4846,7 +4687,7 @@ "item.select.table.select": "Sélectionner l'item", // "item.select.table.deselect": "Deselect item", - "item.select.table.deselect": "Dessélectionner l'item", + "item.select.table.deselect": "Désélectionner l'item", // "item.select.table.author": "Author", "item.select.table.author": "Auteur", @@ -4927,8 +4768,7 @@ "item.qa.withdrawn.modal.header": "Demander le retrait", // "item.qa.reinstate.modal.header": "Request reinstate", - // TODO New key - Add a translation - "item.qa.reinstate.modal.header": "Request reinstate", + "item.qa.reinstate.modal.header": "Demander la réintégration", // "item.qa.reinstate.create.modal.header": "New version", "item.qa.reinstate.create.modal.header": "Nouvelle version", @@ -4952,8 +4792,7 @@ "qa-withdrown.create.modal.button.confirm": "Retirer", // "qa-reinstate.create.modal.button.confirm": "Reinstate", - // TODO New key - Add a translation - "qa-reinstate.create.modal.button.confirm": "Reinstate", + "qa-reinstate.create.modal.button.confirm": "Réintégrer", // "item.version.create.modal.button.cancel": "Cancel", "item.version.create.modal.button.cancel": "Annuler", @@ -4971,51 +4810,40 @@ "item.version.create.modal.form.summary.label": "Sommaire", // "qa-withdrawn.create.modal.form.summary.label": "You are requesting to withdraw this item", - // TODO New key - Add a translation - "qa-withdrawn.create.modal.form.summary.label": "You are requesting to withdraw this item", + "qa-withdrawn.create.modal.form.summary.label": "Vous demandez le retrait de cet item.", // "qa-withdrawn.create.modal.form.summary2.label": "Please enter the reason for the withdrawal", - // TODO New key - Add a translation - "qa-withdrawn.create.modal.form.summary2.label": "Please enter the reason for the withdrawal", + "qa-withdrawn.create.modal.form.summary2.label": "S'il vous plaît, donnez la raison de cette demande de retrait.", // "qa-reinstate.create.modal.form.summary.label": "You are requesting to reinstate this item", - // TODO New key - Add a translation - "qa-reinstate.create.modal.form.summary.label": "You are requesting to reinstate this item", + "qa-reinstate.create.modal.form.summary.label": "Vous demandez la réintégration de cet item.", // "qa-reinstate.create.modal.form.summary2.label": "Please enter the reason for the reinstatment", - // TODO New key - Add a translation - "qa-reinstate.create.modal.form.summary2.label": "Please enter the reason for the reinstatment", + "qa-reinstate.create.modal.form.summary2.label": "S'il vous plaît, donnez la raison de cette demande de réintégration.", // "item.version.create.modal.form.summary.placeholder": "Insert the summary for the new version", "item.version.create.modal.form.summary.placeholder": "Insérer le sommaire de la nouvelle version", // "qa-withdrown.modal.form.summary.placeholder": "Enter the reason for the withdrawal", - // TODO New key - Add a translation - "qa-withdrown.modal.form.summary.placeholder": "Enter the reason for the withdrawal", + "qa-withdrown.modal.form.summary.placeholder": "Donner la raison du retrait", // "qa-reinstate.modal.form.summary.placeholder": "Enter the reason for the reinstatement", - // TODO New key - Add a translation - "qa-reinstate.modal.form.summary.placeholder": "Enter the reason for the reinstatement", + "qa-reinstate.modal.form.summary.placeholder": "Donner la raison de la réintégration", // "item.version.create.modal.submitted.header": "Creating new version...", - // TODO New key - Add a translation - "item.version.create.modal.submitted.header": "Creating new version...", + "item.version.create.modal.submitted.header": "Création de la nouvelle version...", // "item.qa.withdrawn.modal.submitted.header": "Sending withdrawn request...", - // TODO New key - Add a translation - "item.qa.withdrawn.modal.submitted.header": "Sending withdrawn request...", + "item.qa.withdrawn.modal.submitted.header": "Envoi de la demande de retrait...", // "correction-type.manage-relation.action.notification.reinstate": "Reinstate request sent.", - // TODO New key - Add a translation - "correction-type.manage-relation.action.notification.reinstate": "Reinstate request sent.", + "correction-type.manage-relation.action.notification.reinstate": "Demande de réintégration envoyée.", // "correction-type.manage-relation.action.notification.withdrawn": "Withdraw request sent.", - // TODO New key - Add a translation - "correction-type.manage-relation.action.notification.withdrawn": "Withdraw request sent.", + "correction-type.manage-relation.action.notification.withdrawn": "Demande de retrait envoyée.", // "item.version.create.modal.submitted.text": "The new version is being created. This may take some time if the item has a lot of relationships.", - // TODO New key - Add a translation - "item.version.create.modal.submitted.text": "The new version is being created. This may take some time if the item has a lot of relationships.", + "item.version.create.modal.submitted.text": "La nouvelle version est en train d'être créee. Cela peut prendre du temps si l'item a beaucoup de relations.", // "item.version.create.notification.success": "New version has been created with version number {{version}}", "item.version.create.notification.success": "Une nouvelle version a été créée avec le numéro de version {{version}}.", @@ -5060,8 +4888,7 @@ "itemtemplate.edit.metadata.add-button": "Ajouter", // "itemtemplate.edit.metadata.discard-button": "Discard", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.discard-button": "Discard", + "itemtemplate.edit.metadata.discard-button": "Annuler", // "itemtemplate.edit.metadata.edit.language": "Edit language", "itemtemplate.edit.metadata.edit.language": "Modifier la langue", @@ -5073,8 +4900,7 @@ "itemtemplate.edit.metadata.edit.buttons.confirm": "Confirmer", // "itemtemplate.edit.metadata.edit.buttons.drag": "Drag to reorder", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.edit.buttons.drag": "Drag to reorder", + "itemtemplate.edit.metadata.edit.buttons.drag": "Glisser pour réordonner", // "itemtemplate.edit.metadata.edit.buttons.edit": "Edit", "itemtemplate.edit.metadata.edit.buttons.edit": "Modifier", @@ -5086,20 +4912,16 @@ "itemtemplate.edit.metadata.edit.buttons.undo": "Annuler les modifications", // "itemtemplate.edit.metadata.edit.buttons.unedit": "Stop editing", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.edit.buttons.unedit": "Stop editing", + "itemtemplate.edit.metadata.edit.buttons.unedit": "Arrêter l'édition", // "itemtemplate.edit.metadata.empty": "The item template currently doesn't contain any metadata. Click Add to start adding a metadata value.", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.empty": "The item template currently doesn't contain any metadata. Click Add to start adding a metadata value.", + "itemtemplate.edit.metadata.empty": "Le gabarit d'item ne contient pas de métadonnées. Cliquer sur Ajouter pour ajouter une métadonnée.", // "itemtemplate.edit.metadata.headers.edit": "Edit", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.headers.edit": "Edit", + "itemtemplate.edit.metadata.headers.edit": "Éditer", // "itemtemplate.edit.metadata.headers.field": "Field", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.headers.field": "Field", + "itemtemplate.edit.metadata.headers.field": "Champ", // "itemtemplate.edit.metadata.headers.language": "Lang", "itemtemplate.edit.metadata.headers.language": "Lang", @@ -5111,44 +4933,34 @@ "itemtemplate.edit.metadata.metadatafield": "Modifier le champ", // "itemtemplate.edit.metadata.metadatafield.error": "An error occurred validating the metadata field", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.metadatafield.error": "An error occurred validating the metadata field", + "itemtemplate.edit.metadata.metadatafield.error": "Une erreur s'est produite en validant la métadonnée.", // "itemtemplate.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "itemtemplate.edit.metadata.metadatafield.invalid": "S'il vous plaît, choisissez une métadonnée valide.", // "itemtemplate.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "itemtemplate.edit.metadata.notifications.discarded.content": "Vos modifications ont été annulées. Pour les réintégrer, cliquez sur le bouton Annuler.", // "itemtemplate.edit.metadata.notifications.discarded.title": "Changes discarded", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.discarded.title": "Changes discarded", + "itemtemplate.edit.metadata.notifications.discarded.title": "Modifications annulées", // "itemtemplate.edit.metadata.notifications.error.title": "An error occurred", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.error.title": "An error occurred", + "itemtemplate.edit.metadata.notifications.error.title": "Une erreur s'est produite", // "itemtemplate.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "itemtemplate.edit.metadata.notifications.invalid.content": "Vos modifications n'ont pas été sauvegardées. S'il vous plaît, assurez-vous que tous les champs sont valides avant de sauvegarder.", // "itemtemplate.edit.metadata.notifications.invalid.title": "Metadata invalid", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.invalid.title": "Metadata invalid", + "itemtemplate.edit.metadata.notifications.invalid.title": "Métadonnées invalides", // "itemtemplate.edit.metadata.notifications.outdated.content": "The item template you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.outdated.content": "The item template you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "itemtemplate.edit.metadata.notifications.outdated.content": "Le gabarit d'item que vous éditez a été modifié par un autre utilisateur. Vos modifications actuelles ont été annulées.", // "itemtemplate.edit.metadata.notifications.outdated.title": "Changes outdated", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.outdated.title": "Changes outdated", + "itemtemplate.edit.metadata.notifications.outdated.title": "Modifications périmées", // "itemtemplate.edit.metadata.notifications.saved.content": "Your changes to this item template's metadata were saved.", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.notifications.saved.content": "Your changes to this item template's metadata were saved.", + "itemtemplate.edit.metadata.notifications.saved.content": "Vos modifications à ce gabarit d'item ont été sauvegardées.", // "itemtemplate.edit.metadata.notifications.saved.title": "Metadata saved", "itemtemplate.edit.metadata.notifications.saved.title": "Métadonnée sauvegardée", @@ -5157,8 +4969,7 @@ "itemtemplate.edit.metadata.reinstate-button": "Annuler", // "itemtemplate.edit.metadata.reset-order-button": "Undo reorder", - // TODO New key - Add a translation - "itemtemplate.edit.metadata.reset-order-button": "Undo reorder", + "itemtemplate.edit.metadata.reset-order-button": "Annuler le réordonnancement", // "itemtemplate.edit.metadata.save-button": "Save", "itemtemplate.edit.metadata.save-button": "Sauvegarder", @@ -5191,8 +5002,7 @@ "journal.search.results.head": "Résultats de recherche de revues", // "journal-relationships.search.results.head": "Journal Search Results", - // TODO New key - Add a translation - "journal-relationships.search.results.head": "Journal Search Results", + "journal-relationships.search.results.head": "Resultats de la recherche dans les revues", // "journal.search.title": "Journal Search", "journal.search.title": "Rechercher des revues", @@ -5228,8 +5038,7 @@ "journalissue.page.titleprefix": "Numéro de revue: ", // "journalissue.search.results.head": "Journal Issue Search Results", - // TODO New key - Add a translation - "journalissue.search.results.head": "Journal Issue Search Results", + "journalissue.search.results.head": "Résultats de la recherche dans les numéros", // "journalvolume.listelement.badge": "Journal Volume", "journalvolume.listelement.badge": "Volume de la revue", @@ -5253,8 +5062,7 @@ "journalvolume.page.volume": "Volume", // "journalvolume.search.results.head": "Journal Volume Search Results", - // TODO New key - Add a translation - "journalvolume.search.results.head": "Journal Volume Search Results", + "journalvolume.search.results.head": "Résultats de la recherche dans les volumes", // "iiifsearchable.listelement.badge": "Document Media", "iiifsearchable.listelement.badge": "Media du document", @@ -5452,12 +5260,10 @@ "menu.section.browse_global_by_subject": "Sujet", // "menu.section.browse_global_by_srsc": "By Subject Category", - // TODO New key - Add a translation - "menu.section.browse_global_by_srsc": "By Subject Category", + "menu.section.browse_global_by_srsc": "Par catégorie de sujet", // "menu.section.browse_global_by_nsi": "By Norwegian Science Index", - // TODO New key - Add a translation - "menu.section.browse_global_by_nsi": "By Norwegian Science Index", + "menu.section.browse_global_by_nsi": "Par Norwegian Science Index", // "menu.section.browse_global_by_title": "By Title", "menu.section.browse_global_by_title": "Titre", @@ -5466,8 +5272,7 @@ "menu.section.browse_global_communities_and_collections": "Communautés et collections", // "menu.section.browse_global_geospatial_map": "By Geolocation (Map)", - // TODO New key - Add a translation - "menu.section.browse_global_geospatial_map": "By Geolocation (Map)", + "menu.section.browse_global_geospatial_map": "Par géolocalisation (Carte)", // "menu.section.control_panel": "Control Panel", "menu.section.control_panel": "Panneau de configuration", @@ -5530,8 +5335,7 @@ "menu.section.icon.find": "Section du menu relative à la recherche", // "menu.section.icon.health": "Health check menu section", - // TODO New key - Add a translation - "menu.section.icon.health": "Health check menu section", + "menu.section.icon.health": "Section du menu Bilan de santé", // "menu.section.icon.import": "Import menu section", "menu.section.icon.import": "Section du menu relative à l'importation", @@ -5546,8 +5350,7 @@ "menu.section.icon.unpin": "Libérer le menu latéral", // "menu.section.icon.notifications": "Notifications menu section", - // TODO New key - Add a translation - "menu.section.icon.notifications": "Notifications menu section", + "menu.section.icon.notifications": "Section du menu Avis", // "menu.section.import": "Import", "menu.section.import": "Importer", @@ -5649,16 +5452,13 @@ "menu.section.workflow": "Workflow Administrateur", // "metadata-export-search.tooltip": "Export search results as CSV", - // TODO New key - Add a translation - "metadata-export-search.tooltip": "Export search results as CSV", + "metadata-export-search.tooltip": "Exporter les résultats de recherche en format CSV", // "metadata-export-search.submit.success": "The export was started successfully", - // TODO New key - Add a translation - "metadata-export-search.submit.success": "The export was started successfully", + "metadata-export-search.submit.success": "L'exportation a débuté avec succès.", // "metadata-export-search.submit.error": "Starting the export has failed", - // TODO New key - Add a translation - "metadata-export-search.submit.error": "Starting the export has failed", + "metadata-export-search.submit.error": "L'exportation a échoué", // "mydspace.breadcrumbs": "MyDSpace", "mydspace.breadcrumbs": "Mon compte DSpace", @@ -5756,8 +5556,7 @@ "mydspace.show.supervisedWorkspace": "Items supervisés", // "mydspace.status": "My DSpace status:", - // TODO New key - Add a translation - "mydspace.status": "My DSpace status:", + "mydspace.status": "Statut de Mon DSpace :", // "mydspace.status.mydspaceArchived": "Archived", "mydspace.status.mydspaceArchived": "Archivés", @@ -5793,20 +5592,16 @@ "mydspace.view-btn": "Afficher", // "nav.expandable-navbar-section-suffix": "(submenu)", - // TODO New key - Add a translation "nav.expandable-navbar-section-suffix": "(submenu)", // "notification.suggestion": "We found {{count}} publications in the {{source}} that seems to be related to your profile.
", - // TODO New key - Add a translation - "notification.suggestion": "We found {{count}} publications in the {{source}} that seems to be related to your profile.
", + "notification.suggestion": "Nous avons trouvé {{count}} publications dans {{source}} qui semblent reliées à votre profil.
", // "notification.suggestion.review": "review the suggestions", - // TODO New key - Add a translation - "notification.suggestion.review": "review the suggestions", + "notification.suggestion.review": "examiner les suggestions", // "notification.suggestion.please": "Please", - // TODO New key - Add a translation - "notification.suggestion.please": "Please", + "notification.suggestion.please": "S'il vous plaît", // "nav.browse.header": "All of DSpace", "nav.browse.header": "Tout Dspace", @@ -5815,8 +5610,7 @@ "nav.community-browse.header": "Par communauté", // "nav.context-help-toggle": "Toggle context help", - // TODO New key - Add a translation - "nav.context-help-toggle": "Toggle context help", + "nav.context-help-toggle": "Touche à bascule pour l'aide contextuelle", // "nav.language": "Language switch", "nav.language": "Sélecteur de langue", @@ -5825,8 +5619,7 @@ "nav.login": "Se connecter", // "nav.user-profile-menu-and-logout": "User profile menu and log out", - // TODO New key - Add a translation - "nav.user-profile-menu-and-logout": "User profile menu and log out", + "nav.user-profile-menu-and-logout": "Profil utilisateur et déconnexion", // "nav.logout": "Log Out", // TODO Source message changed - Revise the translation @@ -5845,8 +5638,7 @@ "nav.search": "Rechercher", // "nav.search.button": "Submit search", - // TODO New key - Add a translation - "nav.search.button": "Submit search", + "nav.search.button": "Soumettre la recherche", // "nav.statistics.header": "Statistics", "nav.statistics.header": "Statistiques", @@ -5865,8 +5657,7 @@ "nav.user.description": "Barre de profil utilisateur", // "listelement.badge.dso-type": "Item type:", - // TODO New key - Add a translation - "listelement.badge.dso-type": "Item type:", + "listelement.badge.dso-type": "Type d'Item :", // "none.listelement.badge": "Item", "none.listelement.badge": "Item", @@ -5875,294 +5666,223 @@ "publication-claim.title": "Réclamation de publication", // "publication-claim.source.description": "Below you can see all the sources.", - // TODO New key - Add a translation - "publication-claim.source.description": "Below you can see all the sources.", + "publication-claim.source.description": "Vous pouvez voir toutes les sources ci-dessous.", // "quality-assurance.title": "Quality Assurance", "quality-assurance.title": "Assurance qualité", // "quality-assurance.topics.description": "Below you can see all the topics received from the subscriptions to {{source}}.", - // TODO New key - Add a translation - "quality-assurance.topics.description": "Below you can see all the topics received from the subscriptions to {{source}}.", + "quality-assurance.topics.description": "Vous pouvez voir ci-dessous tous les sujets reçus par votre abonnement à {{source}}.", // "quality-assurance.source.description": "Below you can see all the notification's sources.", - // TODO New key - Add a translation - "quality-assurance.source.description": "Below you can see all the notification's sources.", + "quality-assurance.source.description": "Vous pouvez voir ci-dessous toutes les sources des avis.", // "quality-assurance.topics": "Current Topics", - // TODO New key - Add a translation - "quality-assurance.topics": "Current Topics", + "quality-assurance.topics": "Sujets actuels", // "quality-assurance.source": "Current Sources", - // TODO New key - Add a translation - "quality-assurance.source": "Current Sources", + "quality-assurance.source": "Sources actuelles", // "quality-assurance.table.topic": "Topic", - // TODO New key - Add a translation - "quality-assurance.table.topic": "Topic", + "quality-assurance.table.topic": "Sujet", // "quality-assurance.table.source": "Source", - // TODO New key - Add a translation "quality-assurance.table.source": "Source", // "quality-assurance.table.last-event": "Last Event", - // TODO New key - Add a translation - "quality-assurance.table.last-event": "Last Event", + "quality-assurance.table.last-event": "Dernier évènement", // "quality-assurance.table.actions": "Actions", - // TODO New key - Add a translation "quality-assurance.table.actions": "Actions", // "quality-assurance.source-list.button.detail": "Show topics for {{param}}", - // TODO New key - Add a translation - "quality-assurance.source-list.button.detail": "Show topics for {{param}}", + "quality-assurance.source-list.button.detail": "Voir les sujets pour {{param}}", // "quality-assurance.topics-list.button.detail": "Show suggestions for {{param}}", - // TODO New key - Add a translation - "quality-assurance.topics-list.button.detail": "Show suggestions for {{param}}", + "quality-assurance.topics-list.button.detail": "Voir les suggestions pour {{param}}", // "quality-assurance.noTopics": "No topics found.", - // TODO New key - Add a translation - "quality-assurance.noTopics": "No topics found.", + "quality-assurance.noTopics": "Aucun sujet trouvé.", // "quality-assurance.noSource": "No sources found.", - // TODO New key - Add a translation - "quality-assurance.noSource": "No sources found.", + "quality-assurance.noSource": "Aucune source trouvée.", // "notifications.events.title": "Quality Assurance Suggestions", - // TODO New key - Add a translation - "notifications.events.title": "Quality Assurance Suggestions", + "notifications.events.title": "Suggestions de l'assurance qualité", // "quality-assurance.topic.error.service.retrieve": "An error occurred while loading the Quality Assurance topics", - // TODO New key - Add a translation - "quality-assurance.topic.error.service.retrieve": "An error occurred while loading the Quality Assurance topics", + "quality-assurance.topic.error.service.retrieve": "Une erreur s'est produite lors du chargement des sujets de l'assurance qualité", // "quality-assurance.source.error.service.retrieve": "An error occurred while loading the Quality Assurance source", - // TODO New key - Add a translation - "quality-assurance.source.error.service.retrieve": "An error occurred while loading the Quality Assurance source", + "quality-assurance.source.error.service.retrieve": "Une erreur s'est produite lors du chargement des sources de l'assurance qualité", // "quality-assurance.loading": "Loading ...", - // TODO New key - Add a translation - "quality-assurance.loading": "Loading ...", + "quality-assurance.loading": "Chargement...", // "quality-assurance.events.topic": "Topic:", - // TODO New key - Add a translation - "quality-assurance.events.topic": "Topic:", + "quality-assurance.events.topic": "Sujet :", // "quality-assurance.noEvents": "No suggestions found.", - // TODO New key - Add a translation - "quality-assurance.noEvents": "No suggestions found.", + "quality-assurance.noEvents": "Aucune suggestion trouvée.", // "quality-assurance.event.table.trust": "Trust", - // TODO New key - Add a translation - "quality-assurance.event.table.trust": "Trust", + "quality-assurance.event.table.trust": "Confiance", // "quality-assurance.event.table.publication": "Publication", - // TODO New key - Add a translation "quality-assurance.event.table.publication": "Publication", // "quality-assurance.event.table.details": "Details", - // TODO New key - Add a translation - "quality-assurance.event.table.details": "Details", + "quality-assurance.event.table.details": "Détails", // "quality-assurance.event.table.project-details": "Project details", - // TODO New key - Add a translation - "quality-assurance.event.table.project-details": "Project details", + "quality-assurance.event.table.project-details": "Détails du projet", // "quality-assurance.event.table.reasons": "Reasons", - // TODO New key - Add a translation - "quality-assurance.event.table.reasons": "Reasons", + "quality-assurance.event.table.reasons": "Raisons", // "quality-assurance.event.table.actions": "Actions", - // TODO New key - Add a translation "quality-assurance.event.table.actions": "Actions", // "quality-assurance.event.action.accept": "Accept suggestion", - // TODO New key - Add a translation - "quality-assurance.event.action.accept": "Accept suggestion", + "quality-assurance.event.action.accept": "Accepter la suggestion", // "quality-assurance.event.action.ignore": "Ignore suggestion", - // TODO New key - Add a translation - "quality-assurance.event.action.ignore": "Ignore suggestion", + "quality-assurance.event.action.ignore": "Ignorer la suggestion", // "quality-assurance.event.action.undo": "Delete", - // TODO New key - Add a translation - "quality-assurance.event.action.undo": "Delete", + "quality-assurance.event.action.undo": "Supprimer", // "quality-assurance.event.action.reject": "Reject suggestion", - // TODO New key - Add a translation - "quality-assurance.event.action.reject": "Reject suggestion", + "quality-assurance.event.action.reject": "Rejeter la suggestion", // "quality-assurance.event.action.import": "Import project and accept suggestion", - // TODO New key - Add a translation - "quality-assurance.event.action.import": "Import project and accept suggestion", + "quality-assurance.event.action.import": "Importer le projet et accepter la suggestion", // "quality-assurance.event.table.pidtype": "PID Type:", - // TODO New key - Add a translation - "quality-assurance.event.table.pidtype": "PID Type:", + "quality-assurance.event.table.pidtype": "Type d'identifiant pérenne :", // "quality-assurance.event.table.pidvalue": "PID Value:", - // TODO New key - Add a translation - "quality-assurance.event.table.pidvalue": "PID Value:", + "quality-assurance.event.table.pidvalue": "Valeur de l'identifiant pérenne :", // "quality-assurance.event.table.subjectValue": "Subject Value:", - // TODO New key - Add a translation - "quality-assurance.event.table.subjectValue": "Subject Value:", + "quality-assurance.event.table.subjectValue": "Sujet :", // "quality-assurance.event.table.abstract": "Abstract:", - // TODO New key - Add a translation - "quality-assurance.event.table.abstract": "Abstract:", + "quality-assurance.event.table.abstract": "Résumé :", // "quality-assurance.event.table.suggestedProject": "OpenAIRE Suggested Project data", - // TODO New key - Add a translation - "quality-assurance.event.table.suggestedProject": "OpenAIRE Suggested Project data", + "quality-assurance.event.table.suggestedProject": "Données du projet suggérées par OpenAIRE", // "quality-assurance.event.table.project": "Project title:", - // TODO New key - Add a translation - "quality-assurance.event.table.project": "Project title:", + "quality-assurance.event.table.project": "Titre du projet :", // "quality-assurance.event.table.acronym": "Acronym:", - // TODO New key - Add a translation - "quality-assurance.event.table.acronym": "Acronym:", + "quality-assurance.event.table.acronym": "Acronyme :", // "quality-assurance.event.table.code": "Code:", - // TODO New key - Add a translation "quality-assurance.event.table.code": "Code:", // "quality-assurance.event.table.funder": "Funder:", - // TODO New key - Add a translation - "quality-assurance.event.table.funder": "Funder:", + "quality-assurance.event.table.funder": "Organisme subventionnaire :", // "quality-assurance.event.table.fundingProgram": "Funding program:", - // TODO New key - Add a translation - "quality-assurance.event.table.fundingProgram": "Funding program:", + "quality-assurance.event.table.fundingProgram": "Programme de financement :", // "quality-assurance.event.table.jurisdiction": "Jurisdiction:", - // TODO New key - Add a translation - "quality-assurance.event.table.jurisdiction": "Jurisdiction:", + "quality-assurance.event.table.jurisdiction": "Juridisction :", // "quality-assurance.events.back": "Back to topics", - // TODO New key - Add a translation - "quality-assurance.events.back": "Back to topics", + "quality-assurance.events.back": "Retourner aux sujets", // "quality-assurance.events.back-to-sources": "Back to sources", - // TODO New key - Add a translation - "quality-assurance.events.back-to-sources": "Back to sources", + "quality-assurance.events.back-to-sources": "Retourner aux sources", // "quality-assurance.event.table.less": "Show less", - // TODO New key - Add a translation - "quality-assurance.event.table.less": "Show less", + "quality-assurance.event.table.less": "Voir moins", // "quality-assurance.event.table.more": "Show more", - // TODO New key - Add a translation - "quality-assurance.event.table.more": "Show more", + "quality-assurance.event.table.more": "Voir plus", // "quality-assurance.event.project.found": "Bound to the local record:", - // TODO New key - Add a translation - "quality-assurance.event.project.found": "Bound to the local record:", + "quality-assurance.event.project.found": "Lié à l'enregistrement local :", // "quality-assurance.event.project.notFound": "No local record found", - // TODO New key - Add a translation - "quality-assurance.event.project.notFound": "No local record found", + "quality-assurance.event.project.notFound": "Aucun enregistrement local trouvé", // "quality-assurance.event.sure": "Are you sure?", - // TODO New key - Add a translation - "quality-assurance.event.sure": "Are you sure?", + "quality-assurance.event.sure": "Êtes-vous sûr?", // "quality-assurance.event.ignore.description": "This operation can't be undone. Ignore this suggestion?", - // TODO New key - Add a translation - "quality-assurance.event.ignore.description": "This operation can't be undone. Ignore this suggestion?", + "quality-assurance.event.ignore.description": "Cette opération est irréversible. Ignorer cette sugggestion ?", // "quality-assurance.event.undo.description": "This operation can't be undone!", - // TODO New key - Add a translation - "quality-assurance.event.undo.description": "This operation can't be undone!", + "quality-assurance.event.undo.description": "Cette opération est irréversible !", // "quality-assurance.event.reject.description": "This operation can't be undone. Reject this suggestion?", - // TODO New key - Add a translation - "quality-assurance.event.reject.description": "This operation can't be undone. Reject this suggestion?", + "quality-assurance.event.reject.description": "Cette opération est irréversible. Rejetter cette sugggestion ?", // "quality-assurance.event.accept.description": "No DSpace project selected. A new project will be created based on the suggestion data.", - // TODO New key - Add a translation - "quality-assurance.event.accept.description": "No DSpace project selected. A new project will be created based on the suggestion data.", + "quality-assurance.event.accept.description": "Aucun projet sélectionné. Un nouveau projet sera crée en fonction des données de la suggestion.", // "quality-assurance.event.action.cancel": "Cancel", - // TODO New key - Add a translation - "quality-assurance.event.action.cancel": "Cancel", + "quality-assurance.event.action.cancel": "Annuler", // "quality-assurance.event.action.saved": "Your decision has been saved successfully.", - // TODO New key - Add a translation - "quality-assurance.event.action.saved": "Your decision has been saved successfully.", + "quality-assurance.event.action.saved": "Votre décision a été enregistrée.", // "quality-assurance.event.action.error": "An error has occurred. Your decision has not been saved.", - // TODO New key - Add a translation - "quality-assurance.event.action.error": "An error has occurred. Your decision has not been saved.", + "quality-assurance.event.action.error": "Une erreur s'est produite. Votre décision n'a pas pu être enregistrée.", // "quality-assurance.event.modal.project.title": "Choose a project to bound", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.title": "Choose a project to bound", + "quality-assurance.event.modal.project.title": "Choisir un projet à lier", // "quality-assurance.event.modal.project.publication": "Publication:", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.publication": "Publication:", + "quality-assurance.event.modal.project.publication": "Publication :", // "quality-assurance.event.modal.project.bountToLocal": "Bound to the local record:", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.bountToLocal": "Bound to the local record:", + "quality-assurance.event.modal.project.bountToLocal": "Lié à l'enregistrement local :", // "quality-assurance.event.modal.project.select": "Project search", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.select": "Project search", + "quality-assurance.event.modal.project.select": "Recherche d'un projet", // "quality-assurance.event.modal.project.search": "Search", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.search": "Search", + "quality-assurance.event.modal.project.search": "Rechercher", // "quality-assurance.event.modal.project.clear": "Clear", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.clear": "Clear", + "quality-assurance.event.modal.project.clear": "Effacer", // "quality-assurance.event.modal.project.cancel": "Cancel", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.cancel": "Cancel", + "quality-assurance.event.modal.project.cancel": "Annuler", // "quality-assurance.event.modal.project.bound": "Bound project", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.bound": "Bound project", + "quality-assurance.event.modal.project.bound": "Projet lié", // "quality-assurance.event.modal.project.remove": "Remove", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.remove": "Remove", + "quality-assurance.event.modal.project.remove": "Retirer", // "quality-assurance.event.modal.project.placeholder": "Enter a project name", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.placeholder": "Enter a project name", + "quality-assurance.event.modal.project.placeholder": "Saisir un nom du projet", // "quality-assurance.event.modal.project.notFound": "No project found.", - // TODO New key - Add a translation - "quality-assurance.event.modal.project.notFound": "No project found.", + "quality-assurance.event.modal.project.notFound": "Aucun projet trouvé.", // "quality-assurance.event.project.bounded": "The project has been linked successfully.", - // TODO New key - Add a translation - "quality-assurance.event.project.bounded": "The project has been linked successfully.", + "quality-assurance.event.project.bounded": "Le projet a été lié avec succès.", // "quality-assurance.event.project.removed": "The project has been successfully unlinked.", - // TODO New key - Add a translation - "quality-assurance.event.project.removed": "The project has been successfully unlinked.", + "quality-assurance.event.project.removed": "Le projet a été dissocié avec succès.", // "quality-assurance.event.project.error": "An error has occurred. No operation performed.", - // TODO New key - Add a translation - "quality-assurance.event.project.error": "An error has occurred. No operation performed.", + "quality-assurance.event.project.error": "Une erreur s'est produite. Aucune opération n'a été effectuée.", // "quality-assurance.event.reason": "Reason", - // TODO New key - Add a translation - "quality-assurance.event.reason": "Reason", + "quality-assurance.event.reason": "Raison", // "orgunit.listelement.badge": "Organizational Unit", "orgunit.listelement.badge": "Structure organisationnelle", // "orgunit.listelement.no-title": "Untitled", - // TODO New key - Add a translation - "orgunit.listelement.no-title": "Untitled", + "orgunit.listelement.no-title": "Sans titre", // "orgunit.page.city": "City", "orgunit.page.city": "Ville", @@ -6183,7 +5903,6 @@ "orgunit.page.id": "ID", // "orgunit.page.options": "Options", - // TODO New key - Add a translation "orgunit.page.options": "Options", // "orgunit.page.titleprefix": "Organizational Unit: ", @@ -6256,8 +5975,7 @@ "person.search.results.head": "Résultats de recherche de personnes", // "person-relationships.search.results.head": "Person Search Results", - // TODO New key - Add a translation - "person-relationships.search.results.head": "Person Search Results", + "person-relationships.search.results.head": "Résultats de la recherche de personnes", // "person.search.title": "Person Search", "person.search.title": "Recherche de personnes", @@ -6266,20 +5984,16 @@ "process.new.select-parameters": "Paramètres", // "process.new.select-parameter": "Select parameter", - // TODO New key - Add a translation - "process.new.select-parameter": "Select parameter", + "process.new.select-parameter": "Sélectionner le paramètre", // "process.new.add-parameter": "Add a parameter...", - // TODO New key - Add a translation - "process.new.add-parameter": "Add a parameter...", + "process.new.add-parameter": "Ajouter un paramètre...", // "process.new.delete-parameter": "Delete parameter", - // TODO New key - Add a translation - "process.new.delete-parameter": "Delete parameter", + "process.new.delete-parameter": "Supprimer le paramètre", // "process.new.parameter.label": "Parameter value", - // TODO New key - Add a translation - "process.new.parameter.label": "Parameter value", + "process.new.parameter.label": "Valeur du paramètre", // "process.new.cancel": "Cancel", "process.new.cancel": "Annuler", @@ -6330,8 +6044,7 @@ "process.new.notification.error.content": "Une erreur s'est produite lors de la création du processus", // "process.new.notification.error.max-upload.content": "The file exceeds the maximum upload size", - // TODO New key - Add a translation - "process.new.notification.error.max-upload.content": "The file exceeds the maximum upload size", + "process.new.notification.error.max-upload.content": "Le fichier dépasse la taille maximale de téléchargement", // "process.new.header": "Create a new process", "process.new.header": "Créer un nouveau processus", @@ -6388,7 +6101,6 @@ "process.detail.create": "Créer un processus similaire", // "process.detail.actions": "Actions", - // TODO New key - Add a translation "process.detail.actions": "Actions", // "process.detail.delete.button": "Delete process", @@ -6476,12 +6188,10 @@ "process.overview.delete": "Supprimer {{count}} processus", // "process.overview.delete-process": "Delete process", - // TODO New key - Add a translation - "process.overview.delete-process": "Delete process", + "process.overview.delete-process": "Supprimer le processus", // "process.overview.delete.clear": "Clear delete selection", - // TODO New key - Add a translation - "process.overview.delete.clear": "Clear delete selection", + "process.overview.delete.clear": "Effacer la sélection pour supprimer", // "process.overview.delete.processing": "{{count}} process(es) are being deleted. Please wait for the deletion to fully complete. Note that this can take a while.", "process.overview.delete.processing": "{{count}} processus sont en train d'être supprimés. Patientez jusqu'à ce que la suppression soit terminée. Notez que cela peut prendre un certain temps.", @@ -6493,8 +6203,7 @@ "process.overview.delete.header": "Supprimer les processus", // "process.overview.unknown.user": "Unknown", - // TODO New key - Add a translation - "process.overview.unknown.user": "Unknown", + "process.overview.unknown.user": "Inconnu", // "process.bulk.delete.error.head": "Error on deleteing process", "process.bulk.delete.error.head": "Erreur lors de la suppression de processus", @@ -6509,16 +6218,13 @@ "profile.breadcrumbs": "Mise à jour profil", // "profile.card.accessibility.content": "Accessibility settings can be configured on the accessibility settings page.", - // TODO New key - Add a translation - "profile.card.accessibility.content": "Accessibility settings can be configured on the accessibility settings page.", + "profile.card.accessibility.content": "Les paramètres d'accessibilité peuvent être configurés sur la page des paramètres d'accessibilité.", // "profile.card.accessibility.header": "Accessibility", - // TODO New key - Add a translation - "profile.card.accessibility.header": "Accessibility", + "profile.card.accessibility.header": "Accessibilité", // "profile.card.accessibility.link": "Go to Accessibility Settings Page", - // TODO New key - Add a translation - "profile.card.accessibility.link": "Go to Accessibility Settings Page", + "profile.card.accessibility.link": "Accéder à la page Paramètres d'accessibilité", // "profile.card.identify": "Identify", "profile.card.identify": "Identification", @@ -6533,8 +6239,7 @@ "profile.groups.head": "Groupes auxquels vous appartenez", // "profile.special.groups.head": "Authorization special groups you belong to", - // TODO New key - Add a translation - "profile.special.groups.head": "Authorization special groups you belong to", + "profile.special.groups.head": "Autorisation des groupes spéciaux auxquels vous appartenez", // "profile.metadata.form.error.firstname.required": "First Name is required", "profile.metadata.form.error.firstname.required": "Le prénom est obligatoire", @@ -6583,8 +6288,7 @@ "profile.security.form.label.passwordrepeat": "Entrer à nouveau pour confirmer", // "profile.security.form.label.current-password": "Current password", - // TODO New key - Add a translation - "profile.security.form.label.current-password": "Current password", + "profile.security.form.label.current-password": "Mot de passe actuel", // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", "profile.security.form.notifications.success.content": "Votre nouveau mot de passe a été sauvegardé avec succès.", @@ -6596,15 +6300,13 @@ "profile.security.form.notifications.error.title": "Erreur de modification mot de passe", // "profile.security.form.notifications.error.change-failed": "An error occurred while trying to change the password. Please check if the current password is correct.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.change-failed": "An error occurred while trying to change the password. Please check if the current password is correct.", + "profile.security.form.notifications.error.change-failed": "Une erreur s'est produite lors de la modification du mot de passe. Veuillez vérifier si le mot de passe actuel est correct.", // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", "profile.security.form.notifications.error.not-same": "Les mots de passe ne correspondent pas.", // "profile.security.form.notifications.error.general": "Please fill required fields of security form.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.general": "Please fill required fields of security form.", + "profile.security.form.notifications.error.general": "Veuillez remplir les champs obligatoires du formulaire de sécurité.", // "profile.title": "Update Profile", "profile.title": "Mise à jour du profil", @@ -6637,7 +6339,6 @@ "project.page.keyword": "Mots-clés", // "project.page.options": "Options", - // TODO New key - Add a translation "project.page.options": "Options", // "project.page.status": "Status", @@ -6650,8 +6351,7 @@ "project.search.results.head": "Résultats de recherche de projets", // "project-relationships.search.results.head": "Project Search Results", - // TODO New key - Add a translation - "project-relationships.search.results.head": "Project Search Results", + "project-relationships.search.results.head": "Résultats de la recherche de projets", // "publication.listelement.badge": "Publication", "publication.listelement.badge": "Publication", @@ -6672,7 +6372,6 @@ "publication.page.publisher": "Éditeur", // "publication.page.options": "Options", - // TODO New key - Add a translation "publication.page.options": "Options", // "publication.page.titleprefix": "Publication: ", @@ -6685,8 +6384,7 @@ "publication.search.results.head": "Résultats de recherche de publications", // "publication-relationships.search.results.head": "Publication Search Results", - // TODO New key - Add a translation - "publication-relationships.search.results.head": "Publication Search Results", + "publication-relationships.search.results.head": "Résultats de la recherche de publications", // "publication.search.title": "Publication Search", "publication.search.title": "Recherche de publications", @@ -6701,139 +6399,105 @@ "media-viewer.playlist": "Liste de lecture", // "suggestion.loading": "Loading ...", - // TODO New key - Add a translation - "suggestion.loading": "Loading ...", + "suggestion.loading": "Chargement ...", // "suggestion.title": "Publication Claim", - // TODO New key - Add a translation - "suggestion.title": "Publication Claim", + "suggestion.title": "Réclamation de publication", // "suggestion.title.breadcrumbs": "Publication Claim", - // TODO New key - Add a translation - "suggestion.title.breadcrumbs": "Publication Claim", + "suggestion.title.breadcrumbs": "Réclamation de publication", // "suggestion.targets.description": "Below you can see all the suggestions ", - // TODO New key - Add a translation - "suggestion.targets.description": "Below you can see all the suggestions ", + "suggestion.targets.description": "Ci-dessous vous pouvez voir toutes les suggestions", // "suggestion.targets": "Current Suggestions", - // TODO New key - Add a translation - "suggestion.targets": "Current Suggestions", + "suggestion.targets": "Suggestions actuelles", // "suggestion.table.name": "Researcher Name", - // TODO New key - Add a translation - "suggestion.table.name": "Researcher Name", + "suggestion.table.name": "Nom du chercheur", // "suggestion.table.actions": "Actions", - // TODO New key - Add a translation "suggestion.table.actions": "Actions", // "suggestion.button.review": "Review {{ total }} suggestion(s)", - // TODO New key - Add a translation - "suggestion.button.review": "Review {{ total }} suggestion(s)", + "suggestion.button.review": "Évaluer {{ total }} suggestion(s)", // "suggestion.button.review.title": "Review {{ total }} suggestion(s) for ", - // TODO New key - Add a translation - "suggestion.button.review.title": "Review {{ total }} suggestion(s) for ", + "suggestion.button.review.title": "Évaluer {{ total }} suggestion(s) pour ", // "suggestion.noTargets": "No target found.", - // TODO New key - Add a translation - "suggestion.noTargets": "No target found.", + "suggestion.noTargets": "Aucune cible trouvée.", // "suggestion.target.error.service.retrieve": "An error occurred while loading the Suggestion targets", - // TODO New key - Add a translation - "suggestion.target.error.service.retrieve": "An error occurred while loading the Suggestion targets", + "suggestion.target.error.service.retrieve": "Une erreur s'est produite lors du chargement des cibles de suggestion", // "suggestion.evidence.type": "Type", - // TODO New key - Add a translation "suggestion.evidence.type": "Type", // "suggestion.evidence.score": "Score", - // TODO New key - Add a translation "suggestion.evidence.score": "Score", // "suggestion.evidence.notes": "Notes", - // TODO New key - Add a translation "suggestion.evidence.notes": "Notes", // "suggestion.approveAndImport": "Approve & import", - // TODO New key - Add a translation - "suggestion.approveAndImport": "Approve & import", + "suggestion.approveAndImport": "Approuver et importer", // "suggestion.approveAndImport.success": "The suggestion has been imported successfully. View.", - // TODO New key - Add a translation - "suggestion.approveAndImport.success": "The suggestion has been imported successfully. View.", + "suggestion.approveAndImport.success": "La suggestion a été importée avec succès. Consulter.", // "suggestion.approveAndImport.bulk": "Approve & import Selected", - // TODO New key - Add a translation - "suggestion.approveAndImport.bulk": "Approve & import Selected", + "suggestion.approveAndImport.bulk": "Approuver et importer la sélection", // "suggestion.approveAndImport.bulk.success": "{{ count }} suggestions have been imported successfully ", - // TODO New key - Add a translation - "suggestion.approveAndImport.bulk.success": "{{ count }} suggestions have been imported successfully ", + "suggestion.approveAndImport.bulk.success": "{{ count }} suggestions ont été importées avec succès ", // "suggestion.approveAndImport.bulk.error": "{{ count }} suggestions haven't been imported due to unexpected server errors", - // TODO New key - Add a translation - "suggestion.approveAndImport.bulk.error": "{{ count }} suggestions haven't been imported due to unexpected server errors", + "suggestion.approveAndImport.bulk.error": "{{ count }} suggestions n'ont pas été importées en raison d'erreurs de serveur inattendues", // "suggestion.ignoreSuggestion": "Ignore Suggestion", - // TODO New key - Add a translation - "suggestion.ignoreSuggestion": "Ignore Suggestion", + "suggestion.ignoreSuggestion": "Ignorer la suggestion", // "suggestion.ignoreSuggestion.success": "The suggestion has been discarded", - // TODO New key - Add a translation - "suggestion.ignoreSuggestion.success": "The suggestion has been discarded", + "suggestion.ignoreSuggestion.success": "La suggestion a été rejetée", // "suggestion.ignoreSuggestion.bulk": "Ignore Suggestion Selected", - // TODO New key - Add a translation - "suggestion.ignoreSuggestion.bulk": "Ignore Suggestion Selected", + "suggestion.ignoreSuggestion.bulk": "Ignorer la suggestion sélectionnée", // "suggestion.ignoreSuggestion.bulk.success": "{{ count }} suggestions have been discarded ", - // TODO New key - Add a translation - "suggestion.ignoreSuggestion.bulk.success": "{{ count }} suggestions have been discarded ", + "suggestion.ignoreSuggestion.bulk.success": "{{ count }} suggestions ont été rejetées ", // "suggestion.ignoreSuggestion.bulk.error": "{{ count }} suggestions haven't been discarded due to unexpected server errors", - // TODO New key - Add a translation - "suggestion.ignoreSuggestion.bulk.error": "{{ count }} suggestions haven't been discarded due to unexpected server errors", + "suggestion.ignoreSuggestion.bulk.error": "{{ count }} suggestions n'ont pas été rejetées en raison d'erreurs de serveur inattendues", // "suggestion.seeEvidence": "See evidence", - // TODO New key - Add a translation - "suggestion.seeEvidence": "See evidence", + "suggestion.seeEvidence": "Voir les preuves", // "suggestion.hideEvidence": "Hide evidence", - // TODO New key - Add a translation - "suggestion.hideEvidence": "Hide evidence", + "suggestion.hideEvidence": "Cacher les preuves", // "suggestion.suggestionFor": "Suggestions for", - // TODO New key - Add a translation - "suggestion.suggestionFor": "Suggestions for", + "suggestion.suggestionFor": "Suggestions pour", // "suggestion.suggestionFor.breadcrumb": "Suggestions for {{ name }}", - // TODO New key - Add a translation - "suggestion.suggestionFor.breadcrumb": "Suggestions for {{ name }}", + "suggestion.suggestionFor.breadcrumb": "Suggestions pour {{ name }}", // "suggestion.source.openaire": "OpenAIRE Graph", - // TODO New key - Add a translation "suggestion.source.openaire": "OpenAIRE Graph", // "suggestion.source.openalex": "OpenAlex", - // TODO New key - Add a translation "suggestion.source.openalex": "OpenAlex", // "suggestion.from.source": "from the ", - // TODO New key - Add a translation - "suggestion.from.source": "from the ", + "suggestion.from.source": "du/de la ", // "suggestion.count.missing": "You have no publication claims left", - // TODO New key - Add a translation - "suggestion.count.missing": "You have no publication claims left", + "suggestion.count.missing": "Vous n'avez plus aucune réclamation de publication", // "suggestion.totalScore": "Total Score", - // TODO New key - Add a translation - "suggestion.totalScore": "Total Score", + "suggestion.totalScore": "Score total", // "suggestion.type.openaire": "OpenAIRE", - // TODO New key - Add a translation "suggestion.type.openaire": "OpenAIRE", // "register-email.title": "New user registration", @@ -6913,12 +6577,10 @@ "register-page.registration.email.error.required": "Veuillez saisir une adresse électronique", // "register-page.registration.email.error.not-email-form": "Please fill in a valid email address.", - // TODO New key - Add a translation - "register-page.registration.email.error.not-email-form": "Please fill in a valid email address.", + "register-page.registration.email.error.not-email-form": "Veuillez saisir un courriel valide.", // "register-page.registration.email.error.not-valid-domain": "Use email with allowed domains: {{ domains }}", - // TODO New key - Add a translation - "register-page.registration.email.error.not-valid-domain": "Use email with allowed domains: {{ domains }}", + "register-page.registration.email.error.not-valid-domain": "Utiliser le courriel avec les domaines autorisés : {{ domains }}", // "register-page.registration.email.hint": "This address will be verified and used as your login name.", "register-page.registration.email.hint": "Cette adresse sera vérifiée et utilisée en tant qu'identifiant de connection.", @@ -6936,40 +6598,31 @@ "register-page.registration.error.head": "Erreur lors de l'inscription", // "register-page.registration.error.content": "An error occurred when registering the following email address: {{ email }}", - // TODO New key - Add a translation - "register-page.registration.error.content": "An error occurred when registering the following email address: {{ email }}", + "register-page.registration.error.content": "Une erreur s'est produite lors de l'enregistrement du courriel suivant : {{ email }}", // "register-page.registration.error.recaptcha": "Error when trying to authenticate with recaptcha", - // TODO New key - Add a translation - "register-page.registration.error.recaptcha": "Error when trying to authenticate with recaptcha", + "register-page.registration.error.recaptcha": "Erreur lors de la tentative d'authentification avec recaptcha", // "register-page.registration.google-recaptcha.must-accept-cookies": "In order to register you must accept the Registration and Password recovery (Google reCaptcha) cookies.", - // TODO New key - Add a translation - "register-page.registration.google-recaptcha.must-accept-cookies": "In order to register you must accept the Registration and Password recovery (Google reCaptcha) cookies.", + "register-page.registration.google-recaptcha.must-accept-cookies": "Pour vous inscrire, vous devez accepter les cookies d'Inscription et de récupération de mot de passe (Google reCaptcha).", // "register-page.registration.error.maildomain": "This email address is not on the list of domains who can register. Allowed domains are {{ domains }}", - // TODO New key - Add a translation - "register-page.registration.error.maildomain": "This email address is not on the list of domains who can register. Allowed domains are {{ domains }}", + "register-page.registration.error.maildomain": "Cette adresse courriel ne figure pas dans la liste des domaines autorisés. Les domaines autorisés sont : {{ domains }}", // "register-page.registration.google-recaptcha.open-cookie-settings": "Open cookie settings", - // TODO New key - Add a translation - "register-page.registration.google-recaptcha.open-cookie-settings": "Open cookie settings", + "register-page.registration.google-recaptcha.open-cookie-settings": "Ouvrir les paramètres des témoins", // "register-page.registration.google-recaptcha.notification.title": "Google reCaptcha", - // TODO New key - Add a translation "register-page.registration.google-recaptcha.notification.title": "Google reCaptcha", // "register-page.registration.google-recaptcha.notification.message.error": "An error occurred during reCaptcha verification", - // TODO New key - Add a translation - "register-page.registration.google-recaptcha.notification.message.error": "An error occurred during reCaptcha verification", + "register-page.registration.google-recaptcha.notification.message.error": "Une erreur s'est produite lors de la vérification reCaptcha", // "register-page.registration.google-recaptcha.notification.message.expired": "Verification expired. Please verify again.", - // TODO New key - Add a translation - "register-page.registration.google-recaptcha.notification.message.expired": "Verification expired. Please verify again.", + "register-page.registration.google-recaptcha.notification.message.expired": "Vérification expirée. Veuillez vérifier à nouveau.", // "register-page.registration.info.maildomain": "Accounts can be registered for mail addresses of the domains", - // TODO New key - Add a translation - "register-page.registration.info.maildomain": "Accounts can be registered for mail addresses of the domains", + "register-page.registration.info.maildomain": "Les comptes peuvent être enregistrés pour les adresses courriel des domaines", // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", "relationships.add.error.relationship-type.content": "Aucune correspondante adéquate détectée pour la relation de type {{ type }} entre ces 2 Items", @@ -7065,12 +6718,10 @@ "repository.image.logo": "Logo du dépôt", // "repository.title": "DSpace Repository", - // TODO New key - Add a translation - "repository.title": "DSpace Repository", + "repository.title": "Dépôt DSpace", // "repository.title.prefix": "DSpace Repository :: ", - // TODO New key - Add a translation - "repository.title.prefix": "DSpace Repository :: ", + "repository.title.prefix": "Dépôt DSpace :: ", // "resource-policies.add.button": "Add", "resource-policies.add.button": "Ajouter", @@ -7124,12 +6775,10 @@ "resource-policies.edit.page.failure.content": "Une erreur s'est produite lors de la modification de la règle d'accès.", // "resource-policies.edit.page.target-failure.content": "An error occurred while editing the target (ePerson or group) of the resource policy.", - // TODO New key - Add a translation - "resource-policies.edit.page.target-failure.content": "An error occurred while editing the target (ePerson or group) of the resource policy.", + "resource-policies.edit.page.target-failure.content": "Une erreur s'est produite lors de la modification de la cible (ePerson ou groupe) de la politique de ressources.", // "resource-policies.edit.page.other-failure.content": "An error occurred while editing the resource policy. The target (ePerson or group) has been successfully updated.", - // TODO New key - Add a translation - "resource-policies.edit.page.other-failure.content": "An error occurred while editing the resource policy. The target (ePerson or group) has been successfully updated.", + "resource-policies.edit.page.other-failure.content": "Une erreur s'est produite lors de la modification de la politique de ressources. La cible (ePerson ou groupe) a été mise à jour avec succès.", // "resource-policies.edit.page.success.content": "Operation successful", "resource-policies.edit.page.success.content": "Règle d'accès mise à jour avec succès", @@ -7165,23 +6814,18 @@ "resource-policies.form.eperson-group-list.table.headers.name": "Nom", // "resource-policies.form.eperson-group-list.modal.header": "Cannot change type", - // TODO New key - Add a translation - "resource-policies.form.eperson-group-list.modal.header": "Cannot change type", + "resource-policies.form.eperson-group-list.modal.header": "Impossible de changer de type", // "resource-policies.form.eperson-group-list.modal.text1.toGroup": "It is not possible to replace an ePerson with a group.", - // TODO New key - Add a translation - "resource-policies.form.eperson-group-list.modal.text1.toGroup": "It is not possible to replace an ePerson with a group.", + "resource-policies.form.eperson-group-list.modal.text1.toGroup": "Il n'est pas possible de remplacer une ePerson par un groupe.", // "resource-policies.form.eperson-group-list.modal.text1.toEPerson": "It is not possible to replace a group with an ePerson.", - // TODO New key - Add a translation - "resource-policies.form.eperson-group-list.modal.text1.toEPerson": "It is not possible to replace a group with an ePerson.", + "resource-policies.form.eperson-group-list.modal.text1.toEPerson": "Il n'est pas possible de remplacer un groupe par une ePerson.", // "resource-policies.form.eperson-group-list.modal.text2": "Delete the current resource policy and create a new one with the desired type.", - // TODO New key - Add a translation - "resource-policies.form.eperson-group-list.modal.text2": "Delete the current resource policy and create a new one with the desired type.", + "resource-policies.form.eperson-group-list.modal.text2": "Supprimez la politique de ressources actuelle et créez-en une nouvelle avec le type souhaité.", // "resource-policies.form.eperson-group-list.modal.close": "Ok", - // TODO New key - Add a translation "resource-policies.form.eperson-group-list.modal.close": "Ok", // "resource-policies.form.date.end.label": "End Date", @@ -7230,20 +6874,16 @@ "resource-policies.table.headers.group": "Groupe", // "resource-policies.table.headers.select-all": "Select all", - // TODO New key - Add a translation - "resource-policies.table.headers.select-all": "Select all", + "resource-policies.table.headers.select-all": "Sélectionner tout", // "resource-policies.table.headers.deselect-all": "Deselect all", - // TODO New key - Add a translation - "resource-policies.table.headers.deselect-all": "Deselect all", + "resource-policies.table.headers.deselect-all": "Désélectionner tout", // "resource-policies.table.headers.select": "Select", - // TODO New key - Add a translation - "resource-policies.table.headers.select": "Select", + "resource-policies.table.headers.select": "Sélectionner", // "resource-policies.table.headers.deselect": "Deselect", - // TODO New key - Add a translation - "resource-policies.table.headers.deselect": "Deselect", + "resource-policies.table.headers.deselect": "Désélectionner", // "resource-policies.table.headers.id": "ID", "resource-policies.table.headers.id": "ID", @@ -7270,8 +6910,7 @@ "resource-policies.table.headers.title.for.collection": "Règles de collection", // "root.skip-to-content": "Skip to main content", - // TODO New key - Add a translation - "root.skip-to-content": "Skip to main content", + "root.skip-to-content": "Accéder au contenu principal", // "search.description": "", "search.description": "", @@ -7289,12 +6928,10 @@ "search.search-form.placeholder": "Rechercher dans le dépôt...", // "search.filters.remove": "Remove filter of type {{ type }} with value {{ value }}", - // TODO New key - Add a translation - "search.filters.remove": "Remove filter of type {{ type }} with value {{ value }}", + "search.filters.remove": "Supprimer le filtre de type {{ type }} avec la valeur {{ value }}", // "search.filters.applied.f.title": "Title", - // TODO New key - Add a translation - "search.filters.applied.f.title": "Title", + "search.filters.applied.f.title": "Titre", // "search.filters.applied.f.author": "Author", "search.filters.applied.f.author": "Auteur", @@ -7319,15 +6956,13 @@ "search.filters.applied.f.has_content_in_original_bundle": "Fichier(s) présent(s)", // "search.filters.applied.f.original_bundle_filenames": "File name", - // TODO New key - Add a translation - "search.filters.applied.f.original_bundle_filenames": "File name", + "search.filters.applied.f.original_bundle_filenames": "Nom du fichier", // "search.filters.applied.f.original_bundle_descriptions": "File description", - // TODO New key - Add a translation - "search.filters.applied.f.original_bundle_descriptions": "File description", + "search.filters.applied.f.original_bundle_descriptions": "Description du fichier", + // "search.filters.applied.f.has_geospatial_metadata": "Has geographical location", - // TODO New key - Add a translation - "search.filters.applied.f.has_geospatial_metadata": "Has geographical location", + "search.filters.applied.f.has_geospatial_metadata": A l'emplacement géographique", // "search.filters.applied.f.itemtype": "Type", "search.filters.applied.f.itemtype": "Type", @@ -7351,8 +6986,7 @@ "search.filters.applied.f.birthDate.min": "Date de naissance (début de l'intervalle)", // "search.filters.applied.f.supervisedBy": "Supervised by", - // TODO New key - Add a translation - "search.filters.applied.f.supervisedBy": "Supervised by", + "search.filters.applied.f.supervisedBy": "Supervisé par", // "search.filters.applied.f.withdrawn": "Withdrawn", "search.filters.applied.f.withdrawn": "Retiré", @@ -7380,8 +7014,7 @@ "search.filters.applied.operator.query": "", // "search.filters.applied.f.point": "Coordinates", - // TODO New key - Add a translation - "search.filters.applied.f.point": "Coordinates", + "search.filters.applied.f.point": "Coordonnés", // "search.filters.filter.title.head": "Title", "search.filters.filter.title.head": "Titre", @@ -7390,8 +7023,7 @@ "search.filters.filter.title.placeholder": "Titre", // "search.filters.filter.title.label": "Search Title", - // TODO New key - Add a translation - "search.filters.filter.title.label": "Search Title", + "search.filters.filter.title.label": "Recherche par titre", // "search.filters.filter.author.head": "Author", "search.filters.filter.author.head": "Auteur", @@ -7424,12 +7056,10 @@ "search.filters.filter.creativeDatePublished.label": "Recherche d'une date de publication", // "search.filters.filter.creativeDatePublished.min.label": "Start", - // TODO New key - Add a translation - "search.filters.filter.creativeDatePublished.min.label": "Start", + "search.filters.filter.creativeDatePublished.min.label": "Début", // "search.filters.filter.creativeDatePublished.max.label": "End", - // TODO New key - Add a translation - "search.filters.filter.creativeDatePublished.max.label": "End", + "search.filters.filter.creativeDatePublished.max.label": "Fin", // "search.filters.filter.creativeWorkEditor.head": "Editor", "search.filters.filter.creativeWorkEditor.head": "Éditeur intellectuel", @@ -7505,32 +7135,25 @@ "search.filters.filter.has_content_in_original_bundle.head": "Fichier(s) présent(s)", // "search.filters.filter.original_bundle_filenames.head": "File name", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_filenames.head": "File name", + "search.filters.filter.original_bundle_filenames.head": "Nom du fichier", // "search.filters.filter.has_geospatial_metadata.head": "Has geographical location", - // TODO New key - Add a translation - "search.filters.filter.has_geospatial_metadata.head": "Has geographical location", + "search.filters.filter.has_geospatial_metadata.head": "A l'emplacement géographique", // "search.filters.filter.original_bundle_filenames.placeholder": "File name", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_filenames.placeholder": "File name", + "search.filters.filter.original_bundle_filenames.placeholder": "Nom du fichier", // "search.filters.filter.original_bundle_filenames.label": "Search File name", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_filenames.label": "Search File name", + "search.filters.filter.original_bundle_filenames.label": "Recherche par Nom du fichier", // "search.filters.filter.original_bundle_descriptions.head": "File description", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_descriptions.head": "File description", + "search.filters.filter.original_bundle_descriptions.head": "Description du fichier", // "search.filters.filter.original_bundle_descriptions.placeholder": "File description", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_descriptions.placeholder": "File description", + "search.filters.filter.original_bundle_descriptions.placeholder": "Description du fichier", // "search.filters.filter.original_bundle_descriptions.label": "Search File description", - // TODO New key - Add a translation - "search.filters.filter.original_bundle_descriptions.label": "Search File description", + "search.filters.filter.original_bundle_descriptions.label": "Recherche par Description du fichier", // "search.filters.filter.itemtype.head": "Type", "search.filters.filter.itemtype.head": "Type", @@ -7605,12 +7228,10 @@ "search.filters.filter.organizationFoundingDate.label": "Recherche d'une date de fondation", // "search.filters.filter.organizationFoundingDate.min.label": "Start", - // TODO New key - Add a translation - "search.filters.filter.organizationFoundingDate.min.label": "Start", + "search.filters.filter.organizationFoundingDate.min.label": "Début", // "search.filters.filter.organizationFoundingDate.max.label": "End", - // TODO New key - Add a translation - "search.filters.filter.organizationFoundingDate.max.label": "End", + "search.filters.filter.organizationFoundingDate.max.label": "Fin", // "search.filters.filter.scope.head": "Scope", "search.filters.filter.scope.head": "Portée", @@ -7646,28 +7267,22 @@ "search.filters.filter.submitter.label": "Recherche d'un déposant", // "search.filters.filter.show-tree": "Browse {{ name }} tree", - // TODO New key - Add a translation - "search.filters.filter.show-tree": "Browse {{ name }} tree", + "search.filters.filter.show-tree": "Parcourir l'arbre {{ name }}", // "search.filters.filter.funding.head": "Funding", - // TODO New key - Add a translation - "search.filters.filter.funding.head": "Funding", + "search.filters.filter.funding.head": "Financement", // "search.filters.filter.funding.placeholder": "Funding", - // TODO New key - Add a translation - "search.filters.filter.funding.placeholder": "Funding", + "search.filters.filter.funding.placeholder": "Financement", // "search.filters.filter.supervisedBy.head": "Supervised By", - // TODO New key - Add a translation - "search.filters.filter.supervisedBy.head": "Supervised By", + "search.filters.filter.supervisedBy.head": "Supervisé par", // "search.filters.filter.supervisedBy.placeholder": "Supervised By", - // TODO New key - Add a translation - "search.filters.filter.supervisedBy.placeholder": "Supervised By", + "search.filters.filter.supervisedBy.placeholder": "Supervisé par", // "search.filters.filter.supervisedBy.label": "Search Supervised By", - // TODO New key - Add a translation - "search.filters.filter.supervisedBy.label": "Search Supervised By", + "search.filters.filter.supervisedBy.label": "Recherche Supervisée par", // "search.filters.filter.access_status.head": "Access type", "search.filters.filter.access_status.head": "Type d'accès", @@ -7688,15 +7303,12 @@ "search.filters.entityType.OrgUnit": "Structure organisationnelle", // "search.filters.entityType.Person": "Person", - // TODO New key - Add a translation - "search.filters.entityType.Person": "Person", + "search.filters.entityType.Person": "Personne", // "search.filters.entityType.Project": "Project", - // TODO New key - Add a translation - "search.filters.entityType.Project": "Project", + "search.filters.entityType.Project": "Projet", // "search.filters.entityType.Publication": "Publication", - // TODO New key - Add a translation "search.filters.entityType.Publication": "Publication", // "search.filters.has_content_in_original_bundle.true": "Yes", @@ -7706,12 +7318,10 @@ "search.filters.has_content_in_original_bundle.false": "Non", // "search.filters.has_geospatial_metadata.true": "Yes", - // TODO New key - Add a translation - "search.filters.has_geospatial_metadata.true": "Yes", + "search.filters.has_geospatial_metadata.true": "Oui", // "search.filters.has_geospatial_metadata.false": "No", - // TODO New key - Add a translation - "search.filters.has_geospatial_metadata.false": "No", + "search.filters.has_geospatial_metadata.false": "Non", // "search.filters.discoverable.true": "No", "search.filters.discoverable.true": "Non", @@ -7720,24 +7330,19 @@ "search.filters.discoverable.false": "Oui", // "search.filters.namedresourcetype.Archived": "Archived", - // TODO New key - Add a translation - "search.filters.namedresourcetype.Archived": "Archived", + "search.filters.namedresourcetype.Archived": "Archivé", // "search.filters.namedresourcetype.Validation": "Validation", - // TODO New key - Add a translation "search.filters.namedresourcetype.Validation": "Validation", // "search.filters.namedresourcetype.Waiting for Controller": "Waiting for reviewer", - // TODO New key - Add a translation - "search.filters.namedresourcetype.Waiting for Controller": "Waiting for reviewer", + "search.filters.namedresourcetype.Waiting for Controller": "En attente d'un-e réviseur-e", // "search.filters.namedresourcetype.Workflow": "Workflow", - // TODO New key - Add a translation - "search.filters.namedresourcetype.Workflow": "Workflow", + "search.filters.namedresourcetype.Workflow": "Flux de travail", // "search.filters.namedresourcetype.Workspace": "Workspace", - // TODO New key - Add a translation - "search.filters.namedresourcetype.Workspace": "Workspace", + "search.filters.namedresourcetype.Workspace": "Dépôt(s) en cours", // "search.filters.withdrawn.true": "Yes", "search.filters.withdrawn.true": "Oui", @@ -7797,15 +7402,13 @@ "search.results.empty": "Votre recherche n'a retourné aucun résultat.", // "search.results.geospatial-map.empty": "No results on this page with geospatial locations", - // TODO New key - Add a translation - "search.results.geospatial-map.empty": "No results on this page with geospatial locations", + "search.results.geospatial-map.empty": "Aucun résultat sur cette page avec des emplacements géospatiaux", // "search.results.view-result": "View", "search.results.view-result": "Afficher", // "search.results.response.500": "An error occurred during query execution, please try again later", - // TODO New key - Add a translation - "search.results.response.500": "An error occurred during query execution, please try again later", + "search.results.response.500": "Une erreur s'est produite lors de l'exécution de la requête, veuillez réessayer plus tard", // "default.search.results.head": "Search Results", "default.search.results.head": "Résultats de recherche", @@ -7859,16 +7462,13 @@ "search.view-switch.show-list": "Affichage en mode liste", // "search.view-switch.show-geospatialMap": "Show as map", - // TODO New key - Add a translation - "search.view-switch.show-geospatialMap": "Show as map", + "search.view-switch.show-geospatialMap": "Afficher sous forme de carte", // "selectable-list-item-control.deselect": "Deselect item", - // TODO New key - Add a translation - "selectable-list-item-control.deselect": "Deselect item", + "selectable-list-item-control.deselect": "Désélectionnez l'item", // "selectable-list-item-control.select": "Select item", - // TODO New key - Add a translation - "selectable-list-item-control.select": "Select item", + "selectable-list-item-control.select": "Sélectionnez l'item", // "sorting.ASC": "Ascending", "sorting.ASC": "Croissant", @@ -7907,28 +7507,22 @@ "sorting.lastModified.DESC": "Dernière modification (décroissante)", // "sorting.person.familyName.ASC": "Surname Ascending", - // TODO New key - Add a translation - "sorting.person.familyName.ASC": "Surname Ascending", + "sorting.person.familyName.ASC": "Nom de famille croissant", // "sorting.person.familyName.DESC": "Surname Descending", - // TODO New key - Add a translation - "sorting.person.familyName.DESC": "Surname Descending", + "sorting.person.familyName.DESC": "Nom de famille décroissant", // "sorting.person.givenName.ASC": "Name Ascending", - // TODO New key - Add a translation - "sorting.person.givenName.ASC": "Name Ascending", + "sorting.person.givenName.ASC": "Nom croissant", // "sorting.person.givenName.DESC": "Name Descending", - // TODO New key - Add a translation - "sorting.person.givenName.DESC": "Name Descending", + "sorting.person.givenName.DESC": "Nom décroissant", // "sorting.person.birthDate.ASC": "Birth Date Ascending", - // TODO New key - Add a translation - "sorting.person.birthDate.ASC": "Birth Date Ascending", + "sorting.person.birthDate.ASC": "Date de naissance croissante", // "sorting.person.birthDate.DESC": "Birth Date Descending", - // TODO New key - Add a translation - "sorting.person.birthDate.DESC": "Birth Date Descending", + "sorting.person.birthDate.DESC": "Date de naissance décroissante", // "statistics.title": "Statistics", "statistics.title": "Statistiques", @@ -7964,8 +7558,7 @@ "statistics.table.header.views": "Vues", // "statistics.table.no-name": "(object name could not be loaded)", - // TODO New key - Add a translation - "statistics.table.no-name": "(object name could not be loaded)", + "statistics.table.no-name": "(le nom de l'objet n'a pas pu être chargé)", // "submission.edit.breadcrumbs": "Edit Submission", "submission.edit.breadcrumbs": "Éditer la soumission", @@ -7999,8 +7592,7 @@ "submission.general.discard.submit": "Annuler", // "submission.general.back.submit": "Back", - // TODO New key - Add a translation - "submission.general.back.submit": "Back", + "submission.general.back.submit": "Retour", // "submission.general.info.saved": "Saved", "submission.general.info.saved": "Sauvegardées", @@ -8078,7 +7670,6 @@ "submission.import-external.source.datacite": "DataCite (DOI)", // "submission.import-external.source.dataciteProject": "DataCite", - // TODO New key - Add a translation "submission.import-external.source.dataciteProject": "DataCite", // "submission.import-external.source.doi": "DOI", @@ -8115,16 +7706,13 @@ "submission.import-external.source.sherpaPublisher": "Éditeurs SHERPA", // "submission.import-external.source.openaire": "OpenAIRE Search by Authors", - // TODO New key - Add a translation - "submission.import-external.source.openaire": "OpenAIRE Search by Authors", + "submission.import-external.source.openaire": Recherche OpenAIRE par auteurs", // "submission.import-external.source.openaireTitle": "OpenAIRE Search by Title", - // TODO New key - Add a translation - "submission.import-external.source.openaireTitle": "OpenAIRE Search by Title", + "submission.import-external.source.openaireTitle": "Recherche OpenAIRE par titre", // "submission.import-external.source.openaireFunding": "OpenAIRE Search by Funder", - // TODO New key - Add a translation - "submission.import-external.source.openaireFunding": "OpenAIRE Search by Funder", + "submission.import-external.source.openaireFunding": "Recherche OpenAIRE par organisme subventionnaire", // "submission.import-external.source.orcid": "ORCID", "submission.import-external.source.orcid": "ORCID", @@ -8142,62 +7730,49 @@ "submission.import-external.source.ror": "Research Organization Registry (ROR)", // "submission.import-external.source.openalexPublication": "OpenAlex Search by Title", - // TODO New key - Add a translation - "submission.import-external.source.openalexPublication": "OpenAlex Search by Title", + "submission.import-external.source.openalexPublication": "Recherche OpenAlex par titre", // "submission.import-external.source.openalexPublicationByAuthorId": "OpenAlex Search by Author ID", - // TODO New key - Add a translation - "submission.import-external.source.openalexPublicationByAuthorId": "OpenAlex Search by Author ID", + "submission.import-external.source.openalexPublicationByAuthorId": "Recherche OpenAlex par ID d'auteur", // "submission.import-external.source.openalexPublicationByDOI": "OpenAlex Search by DOI", - // TODO New key - Add a translation - "submission.import-external.source.openalexPublicationByDOI": "OpenAlex Search by DOI", + "submission.import-external.source.openalexPublicationByDOI": "Recherche OpenAlex par DOI", // "submission.import-external.source.openalexPerson": "OpenAlex Search by name", - // TODO New key - Add a translation - "submission.import-external.source.openalexPerson": "OpenAlex Search by name", + "submission.import-external.source.openalexPerson": "Recherche OpenAlex par nom", // "submission.import-external.source.openalexJournal": "OpenAlex Journals", - // TODO New key - Add a translation - "submission.import-external.source.openalexJournal": "OpenAlex Journals", + "submission.import-external.source.openalexJournal": "Revues OpenAlex", // "submission.import-external.source.openalexInstitution": "OpenAlex Institutions", - // TODO New key - Add a translation - "submission.import-external.source.openalexInstitution": "OpenAlex Institutions", + "submission.import-external.source.openalexInstitution": "Institutions OpenAlex", // "submission.import-external.source.openalexPublisher": "OpenAlex Publishers", - // TODO New key - Add a translation - "submission.import-external.source.openalexPublisher": "OpenAlex Publishers", + "submission.import-external.source.openalexPublisher": "Éditeurs OpenAlex", // "submission.import-external.source.openalexFunder": "OpenAlex Funders", - // TODO New key - Add a translation - "submission.import-external.source.openalexFunder": "OpenAlex Funders", + "submission.import-external.source.openalexFunder": "Organismes subventionnaires OpenAlex", // "submission.import-external.preview.title": "Item Preview", "submission.import-external.preview.title": "Prévisualisation de l'élément", // "submission.import-external.preview.title.Publication": "Publication Preview", - // TODO New key - Add a translation - "submission.import-external.preview.title.Publication": "Publication Preview", + "submission.import-external.preview.title.Publication": "Aperçu de la publication", // "submission.import-external.preview.title.none": "Item Preview", - // TODO New key - Add a translation - "submission.import-external.preview.title.none": "Item Preview", + "submission.import-external.preview.title.none": "Aperçu de l'item", // "submission.import-external.preview.title.Journal": "Journal Preview", - // TODO New key - Add a translation - "submission.import-external.preview.title.Journal": "Journal Preview", + "submission.import-external.preview.title.Journal": "Aperçu de la revue", // "submission.import-external.preview.title.OrgUnit": "Organizational Unit Preview", "submission.import-external.preview.title.OrgUnit": "Aperçu de l'organisation", // "submission.import-external.preview.title.Person": "Person Preview", - // TODO New key - Add a translation - "submission.import-external.preview.title.Person": "Person Preview", + "submission.import-external.preview.title.Person": "Aperçu de la personne", // "submission.import-external.preview.title.Project": "Project Preview", - // TODO New key - Add a translation - "submission.import-external.preview.title.Project": "Project Preview", + "submission.import-external.preview.title.Project": "Aperçu du projet", // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", "submission.import-external.preview.subtitle": "Les métadonnées ci-dessous ont été importées depuis une source externe. Le formulaire de dépôt sera pré-rempli avec ces métadonnées lorsque vous initierez la soumission.", @@ -8233,44 +7808,34 @@ "submission.sections.describe.relationship-lookup.external-source.import-button-title.isProjectOfPublication": "Projet", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.none": "Import remote item", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.none": "Import remote item", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.none": "Importer un item", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Event": "Import remote event", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Event": "Import remote event", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Event": "Importer un événement", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Product": "Import remote product", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Product": "Import remote product", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Product": "Importer un produit", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Equipment": "Import remote equipment", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Equipment": "Import remote equipment", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Equipment": "Importer un équipement", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.OrgUnit": "Import remote organizational unit", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.OrgUnit": "Import remote organizational unit", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.OrgUnit": "Importer une structure organisationnelle", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Funding": "Import remote fund", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Funding": "Import remote fund", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Funding": "Importer des fonds", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Person": "Import remote person", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Person": "Import remote person", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Person": "Importer une personne", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Patent": "Import remote patent", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Patent": "Import remote patent", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Patent": "Importer un brevet", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Project": "Import remote project", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Project": "Import remote project", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Project": "Importer un projet", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Publication": "Import remote publication", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Publication": "Import remote publication", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Publication": "Importer une publication", // "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "New Entity Added!", "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "Nouvelle entité ajoutée !", @@ -8312,16 +7877,13 @@ "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importation depuis ORCID en cours", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaire": "Importing from OpenAIRE", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaire": "Importing from OpenAIRE", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaire": "Importation depuis OpenAIRE en cours", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireTitle": "Importing from OpenAIRE", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireTitle": "Importing from OpenAIRE", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireTitle": "Importation depuis OpenAIRE en cours", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireFunding": "Importing from OpenAIRE", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireFunding": "Importing from OpenAIRE", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openaireFunding": "Importation depuis OpenAIRE en cours", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importation depuis Revues SHERPA en cours", @@ -8372,16 +7934,13 @@ "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Sélectionner une correspondance locale :", // "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.title": "Import Remote Organization", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.title": "Import Remote Organization", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.title": "Importer une Organisation", // "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.local-entity": "Successfully added local organization to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.local-entity": "Successfully added local organization to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.local-entity": "L'organisation locale a été ajoutée avec succès à la sélection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.new-entity": "Successfully imported and added external organization to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.new-entity": "Successfully imported and added external organization to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isOrgUnitOfProject.added.new-entity": "Organisation externe importée et ajoutée avec succès à la sélection", // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Désélectionner tout", @@ -8444,8 +8003,7 @@ "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Numéros de revue locaux ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfIssue": "Local Journal Volumes ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfIssue": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfIssue": "Volumes de la revue ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Volumes de revues locaux ({{ count }})", @@ -8496,24 +8054,19 @@ "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournalIssn": "Sherpa Journals by ISSN ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexPerson": "OpenAlex ({{ count }})", - // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexPerson": "OpenAlex ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexInstitution": "OpenAlex Search by Institution ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexInstitution": "OpenAlex Search by Institution ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexInstitution": "Recherche OpenAlex par institution ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexPublisher": "OpenAlex Search by Publisher ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexPublisher": "OpenAlex Search by Publisher ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexPublisher": "Recherche OpenAlex par éditeur ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexFunder": "OpenAlex Search by Funder ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexFunder": "OpenAlex Search by Funder ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.openalexFunder": "Recherche OpenAlex par organisme subventionnaire ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.dataciteProject": "DataCite Search by Project ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.dataciteProject": "DataCite Search by Project ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.dataciteProject": "Recherche DataCite par projet ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Recherche d'agences de financement", @@ -8531,12 +8084,10 @@ "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfProject": "Bailleur de fonds du projet", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isPublicationOfAuthor": "Publication of the Author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isPublicationOfAuthor": "Publication of the Author", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isPublicationOfAuthor": "Publication de l'auteur", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isOrgUnitOfProject": "OrgUnit of the Project", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isOrgUnitOfProject": "OrgUnit of the Project", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isOrgUnitOfProject": "Structure organisationnelle du projet", // "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Project", "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Projet", @@ -8548,8 +8099,7 @@ "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfProject": "Bailleur de fonds du projet", // "submission.sections.describe.relationship-lookup.title.isPersonOfProject": "Person of the Project", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.isPersonOfProject": "Person of the Project", + "submission.sections.describe.relationship-lookup.title.isPersonOfProject": "Personne du Projet", // "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Search...", "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Rechercher...", @@ -8558,8 +8108,7 @@ "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Sélection actuelle ({{ count }})", // "submission.sections.describe.relationship-lookup.title.Journal": "Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journal", + "submission.sections.describe.relationship-lookup.title.Journal": "Revue", // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Numéros de revue", @@ -8568,8 +8117,7 @@ "submission.sections.describe.relationship-lookup.title.JournalIssue": "Numéros de revue", // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfIssue": "Journal Volumes", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfIssue": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfIssue": "Volumes de la revue", // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Volumes de revue", @@ -8614,12 +8162,10 @@ "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Structure organisationnelle mère", // "submission.sections.describe.relationship-lookup.title.isPublicationOfAuthor": "Publication", - // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.isPublicationOfAuthor": "Publication", // "submission.sections.describe.relationship-lookup.title.isOrgUnitOfProject": "OrgUnit", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.isOrgUnitOfProject": "OrgUnit", + "submission.sections.describe.relationship-lookup.title.isOrgUnitOfProject": "Structure organisationnelle", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Dérouler le menu", @@ -8637,8 +8183,7 @@ "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Revues sélectionnées", // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfIssue": "Selected Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfIssue": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfIssue": "Volume de revue sélectionné", // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Volumes de revue sélectionnés", @@ -8695,16 +8240,13 @@ "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openaire": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openaire": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openaire": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openaireTitle": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openaireTitle": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openaireTitle": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openaireFundin": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openaireFundin": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openaireFundin": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Résultats de recherche", @@ -8716,51 +8258,40 @@ "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.crossref": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.crossref": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.crossref": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.epo": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.epo": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.epo": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.scopus": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.scopus": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.scopus": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.scielo": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.scielo": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.scielo": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.wos": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.wos": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.wos": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.ror": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.ror": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPerson": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPerson": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPerson": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openalexInstitution": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openalexInstitution": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openalexInstitution": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPublisher": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPublisher": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openalexPublisher": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.openalexFunder": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.openalexFunder": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.openalexFunder": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title.dataciteProject": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.dataciteProject": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.dataciteProject": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title": "Résultats de recherche", // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.", "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Souhaitez-vous sauvegarder \"{{ value }}\" en tant que nom alternatif pour cette personne afin que vous ou un autre utilisateur puisse l'utiliser pour de futures soumissions ? Si vous ne le souhaitez pas, vous pouvez tout de même l'utiliser pour cette soumission.", @@ -8796,8 +8327,7 @@ "submission.sections.general.add-more": "Ajouter", // "submission.sections.general.cannot_deposit": "Deposit cannot be completed due to errors in the form.
Please fill out all required fields to complete the deposit.", - // TODO New key - Add a translation - "submission.sections.general.cannot_deposit": "Deposit cannot be completed due to errors in the form.
Please fill out all required fields to complete the deposit.", + "submission.sections.general.cannot_deposit": "Le dépôt ne peut pas être effectué en raison d'erreurs dans le formulaire.
Veuillez remplir tous les champs obligatoires pour finaliser le dépôt.", // "submission.sections.general.collection": "Collection", "submission.sections.general.collection": "Collection", @@ -8824,8 +8354,7 @@ "submission.sections.general.no-collection": "Aucune collection disponible", // "submission.sections.general.no-entity": "No entity types found", - // TODO New key - Add a translation - "submission.sections.general.no-entity": "No entity types found", + "submission.sections.general.no-entity": "Aucun type d'entité trouvé", // "submission.sections.general.no-sections": "No options available", "submission.sections.general.no-sections": "Aucune option disponible", @@ -8888,19 +8417,16 @@ "submission.sections.submit.progressbar.license": "Licence du dépôt", // "submission.sections.submit.progressbar.sherpapolicy": "Sherpa policies", - // TODO New key - Add a translation - "submission.sections.submit.progressbar.sherpapolicy": "Sherpa policies", + "submission.sections.submit.progressbar.sherpapolicy": "Politique d'Open Policy Finder", // "submission.sections.submit.progressbar.upload": "Upload files", "submission.sections.submit.progressbar.upload": "Télécharger des fichiers", // "submission.sections.submit.progressbar.sherpaPolicies": "Publisher open access policy information", - // TODO New key - Add a translation - "submission.sections.submit.progressbar.sherpaPolicies": "Publisher open access policy information", + "submission.sections.submit.progressbar.sherpaPolicies": "Informations sur la politique de libre accès de l'éditeur", // "submission.sections.sherpa-policy.title-empty": "No publisher policy information available. If your work has an associated ISSN, please enter it above to see any related publisher open access policies.", - // TODO New key - Add a translation - "submission.sections.sherpa-policy.title-empty": "No publisher policy information available. If your work has an associated ISSN, please enter it above to see any related publisher open access policies.", + "submission.sections.sherpa-policy.title-empty": "Aucune information sur la politique de libre accès de l'éditeur n'est disponible. Si votre œuvre possède un ISSN, veuillez le saisir ci-dessus pour consulter les politiques de libre accès de l'éditeur.", // "submission.sections.status.errors.title": "Errors", "submission.sections.status.errors.title": "Erreurs", @@ -8921,12 +8447,10 @@ "submission.sections.status.warnings.aria": "comporte des avertissements", // "submission.sections.status.info.title": "Additional Information", - // TODO New key - Add a translation - "submission.sections.status.info.title": "Additional Information", + "submission.sections.status.info.title": "Informations complémentaires", // "submission.sections.status.info.aria": "Additional Information", - // TODO New key - Add a translation - "submission.sections.status.info.aria": "Additional Information", + "submission.sections.status.info.aria": "Informations complémentaires", // "submission.sections.toggle.open": "Open section", "submission.sections.toggle.open": "Section ouverte", @@ -8941,12 +8465,10 @@ "submission.sections.toggle.aria.close": "Réduire la section {{sectionHeader}}", // "submission.sections.upload.primary.make": "Make {{fileName}} the primary bitstream", - // TODO New key - Add a translation - "submission.sections.upload.primary.make": "Make {{fileName}} the primary bitstream", + "submission.sections.upload.primary.make": "Faire de {{fileName}} le bitstream principal", // "submission.sections.upload.primary.remove": "Remove {{fileName}} as the primary bitstream", - // TODO New key - Add a translation - "submission.sections.upload.primary.remove": "Remove {{fileName}} as the primary bitstream", + "submission.sections.upload.primary.remove": "Retirer {{fileName}} comme bitstream principal", // "submission.sections.upload.delete.confirm.cancel": "Cancel", "submission.sections.upload.delete.confirm.cancel": "Annuler", @@ -9209,19 +8731,15 @@ "submission.workflow.generic.view-help": "Sélectionner cette option pour afficher les métadonnées de l'Item.", // "submission.workflow.generic.submit_select_reviewer": "Select Reviewer", - // TODO New key - Add a translation - "submission.workflow.generic.submit_select_reviewer": "Select Reviewer", + "submission.workflow.generic.submit_select_reviewer": "Sélectionner un-e réviseur-e", // "submission.workflow.generic.submit_select_reviewer-help": "", - // TODO New key - Add a translation "submission.workflow.generic.submit_select_reviewer-help": "", // "submission.workflow.generic.submit_score": "Rate", - // TODO New key - Add a translation - "submission.workflow.generic.submit_score": "Rate", + "submission.workflow.generic.submit_score": "Évaluer", // "submission.workflow.generic.submit_score-help": "", - // TODO New key - Add a translation "submission.workflow.generic.submit_score-help": "", // "submission.workflow.tasks.claimed.approve": "Approve", @@ -9237,11 +8755,9 @@ "submission.workflow.tasks.claimed.edit_help": "Sélectionner cette option pour modifier les métadonnées de l'Item.", // "submission.workflow.tasks.claimed.decline": "Decline", - // TODO New key - Add a translation - "submission.workflow.tasks.claimed.decline": "Decline", + "submission.workflow.tasks.claimed.decline": "Refuser", // "submission.workflow.tasks.claimed.decline_help": "", - // TODO New key - Add a translation "submission.workflow.tasks.claimed.decline_help": "", // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", @@ -9308,43 +8824,34 @@ "subscriptions.title": "Abonnements", // "subscriptions.item": "Subscriptions for items", - // TODO New key - Add a translation - "subscriptions.item": "Subscriptions for items", + "subscriptions.item": "Abonnements pour les items", // "subscriptions.collection": "Subscriptions for collections", - // TODO New key - Add a translation - "subscriptions.collection": "Subscriptions for collections", + "subscriptions.collection": "Abonnements pour les collections", // "subscriptions.community": "Subscriptions for communities", - // TODO New key - Add a translation - "subscriptions.community": "Subscriptions for communities", + "subscriptions.community": "Abonnements pour les communautés", // "subscriptions.subscription_type": "Subscription type", - // TODO New key - Add a translation - "subscriptions.subscription_type": "Subscription type", + "subscriptions.subscription_type": "Type d'abonnement", // "subscriptions.frequency": "Subscription frequency", - // TODO New key - Add a translation - "subscriptions.frequency": "Subscription frequency", + "subscriptions.frequency": "Fréquence d'abonnement", // "subscriptions.frequency.D": "Daily", - // TODO New key - Add a translation - "subscriptions.frequency.D": "Daily", + "subscriptions.frequency.D": "Quotidienne", // "subscriptions.frequency.M": "Monthly", - // TODO New key - Add a translation - "subscriptions.frequency.M": "Monthly", + "subscriptions.frequency.M": "Mensuelle'", // "subscriptions.frequency.W": "Weekly", - // TODO New key - Add a translation - "subscriptions.frequency.W": "Weekly", + "subscriptions.frequency.W": "Hebdomadaire", // "subscriptions.tooltip": "Subscribe", "subscriptions.tooltip": "S'abonner", // "subscriptions.unsubscribe": "Unsubscribe", - // TODO New key - Add a translation - "subscriptions.unsubscribe": "Unsubscribe", + "subscriptions.unsubscribe": "Se désabonner", // "subscriptions.modal.title": "Subscriptions", "subscriptions.modal.title": "Abonnements", @@ -9461,8 +8968,7 @@ "vocabulary-treeview.search.form.search": "Rechercher", // "vocabulary-treeview.search.form.search-placeholder": "Filter results by typing the first few letters", - // TODO New key - Add a translation - "vocabulary-treeview.search.form.search-placeholder": "Filter results by typing the first few letters", + "vocabulary-treeview.search.form.search-placeholder": "Filtrer les résultats en tapant les premières lettres", // "vocabulary-treeview.search.no-result": "There were no items to show", "vocabulary-treeview.search.no-result": "Aucun résultat à afficher", @@ -9474,8 +8980,7 @@ "vocabulary-treeview.tree.description.srsc": "Recherche des catégories de sujets", // "vocabulary-treeview.info": "Select a subject to add as search filter", - // TODO New key - Add a translation - "vocabulary-treeview.info": "Select a subject to add as search filter", + "vocabulary-treeview.info": "Sélectionnez un sujet à ajouter comme filtre de recherche", // "uploader.browse": "browse", "uploader.browse": "parcourir", @@ -9584,104 +9089,79 @@ "workspace-item.view.title": "Vue du tableau de suivi", // "workspace-item.delete.breadcrumbs": "Workspace Delete", - // TODO New key - Add a translation - "workspace-item.delete.breadcrumbs": "Workspace Delete", + "workspace-item.delete.breadcrumbs": "Suppression de dépôts en cours", // "workspace-item.delete.header": "Delete workspace item", - // TODO New key - Add a translation - "workspace-item.delete.header": "Delete workspace item", + "workspace-item.delete.header": "Supprimer dépôt en cours", // "workspace-item.delete.button.confirm": "Delete", - // TODO New key - Add a translation - "workspace-item.delete.button.confirm": "Delete", + "workspace-item.delete.button.confirm": "Supprimer", // "workspace-item.delete.button.cancel": "Cancel", - // TODO New key - Add a translation - "workspace-item.delete.button.cancel": "Cancel", + "workspace-item.delete.button.cancel": "Annuler", // "workspace-item.delete.notification.success.title": "Deleted", - // TODO New key - Add a translation - "workspace-item.delete.notification.success.title": "Deleted", + "workspace-item.delete.notification.success.title": "Supprimer", // "workspace-item.delete.title": "This workspace item was successfully deleted", - // TODO New key - Add a translation - "workspace-item.delete.title": "This workspace item was successfully deleted", + "workspace-item.delete.title": "Item supprimé avec succès", // "workspace-item.delete.notification.error.title": "Something went wrong", - // TODO New key - Add a translation - "workspace-item.delete.notification.error.title": "Something went wrong", + "workspace-item.delete.notification.error.title": "Une erreur est survenue", // "workspace-item.delete.notification.error.content": "The workspace item could not be deleted", - // TODO New key - Add a translation - "workspace-item.delete.notification.error.content": "The workspace item could not be deleted", + "workspace-item.delete.notification.error.content": "L'item n'a pas pu être supprimé", // "workflow-item.advanced.title": "Advanced workflow", - // TODO New key - Add a translation - "workflow-item.advanced.title": "Advanced workflow", + "workflow-item.advanced.title": "Workflow avancé", // "workflow-item.selectrevieweraction.notification.success.title": "Selected reviewer", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.notification.success.title": "Selected reviewer", + "workflow-item.selectrevieweraction.notification.success.title": "Réviseur-e sélectionné-e", // "workflow-item.selectrevieweraction.notification.success.content": "The reviewer for this workflow item has been successfully selected", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.notification.success.content": "The reviewer for this workflow item has been successfully selected", + "workflow-item.selectrevieweraction.notification.success.content": "Le réviseur pour cet item a été sélectionné avec succès", // "workflow-item.selectrevieweraction.notification.error.title": "Something went wrong", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.notification.error.title": "Something went wrong", + "workflow-item.selectrevieweraction.notification.error.title": "Une erreur est survenue", // "workflow-item.selectrevieweraction.notification.error.content": "Couldn't select the reviewer for this workflow item", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.notification.error.content": "Couldn't select the reviewer for this workflow item", + "workflow-item.selectrevieweraction.notification.error.content": "Impossible de sélectionner le réviseur pour cet item", // "workflow-item.selectrevieweraction.title": "Select Reviewer", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.title": "Select Reviewer", + "workflow-item.selectrevieweraction.title": "Sélectionnez un-e réviseur-e", // "workflow-item.selectrevieweraction.header": "Select Reviewer", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.header": "Select Reviewer", + "workflow-item.selectrevieweraction.header": "Sélectionnez un-e réviseur-e", // "workflow-item.selectrevieweraction.button.cancel": "Cancel", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.button.cancel": "Cancel", + "workflow-item.selectrevieweraction.button.cancel": "Annuler", // "workflow-item.selectrevieweraction.button.confirm": "Confirm", - // TODO New key - Add a translation - "workflow-item.selectrevieweraction.button.confirm": "Confirm", + "workflow-item.selectrevieweraction.button.confirm": "Confirmer", // "workflow-item.scorereviewaction.notification.success.title": "Rating review", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.notification.success.title": "Rating review", + "workflow-item.scorereviewaction.notification.success.title": "Évaluation de la révision", // "workflow-item.scorereviewaction.notification.success.content": "The rating for this item workflow item has been successfully submitted", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.notification.success.content": "The rating for this item workflow item has been successfully submitted", + "workflow-item.scorereviewaction.notification.success.content": "La note pour cet item a bien été soumise", // "workflow-item.scorereviewaction.notification.error.title": "Something went wrong", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.notification.error.title": "Something went wrong", + "workflow-item.scorereviewaction.notification.error.title": "Sne erreur est survenue", // "workflow-item.scorereviewaction.notification.error.content": "Couldn't rate this item", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.notification.error.content": "Couldn't rate this item", + "workflow-item.scorereviewaction.notification.error.content": "CImpossible d'évaluer cet item", // "workflow-item.scorereviewaction.title": "Rate this item", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.title": "Rate this item", + "workflow-item.scorereviewaction.title": "Évaluer cet item", // "workflow-item.scorereviewaction.header": "Rate this item", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.header": "Rate this item", + "workflow-item.scorereviewaction.header": "Évaluer cet item", // "workflow-item.scorereviewaction.button.cancel": "Cancel", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.button.cancel": "Cancel", + "workflow-item.scorereviewaction.button.cancel": "Annuler", // "workflow-item.scorereviewaction.button.confirm": "Confirm", - // TODO New key - Add a translation - "workflow-item.scorereviewaction.button.confirm": "Confirm", + "workflow-item.scorereviewaction.button.confirm": "Confirmer", // "idle-modal.header": "Session will expire soon", "idle-modal.header": "La session expirera bientôt", @@ -10062,7 +9542,6 @@ "person.orcid.registry.auth": "Autorisation ORCID", // "person.orcid-tooltip.authenticated": "{{orcid}}", - // TODO New key - Add a translation "person.orcid-tooltip.authenticated": "{{orcid}}", // "person.orcid-tooltip.not-authenticated": "{{orcid}} (unconfirmed)", @@ -10123,8 +9602,7 @@ "system-wide-alert.form.label.countdownTo.hint": "Lorsque cette option est activée, il est possible de fixer une date dans le futur et la bannière du message d'avertissement effectuera un compte à rebours jusqu'à la date fixée. À la fin du compte à rebours, le message d'avertissement disparaîtra mais le serveur ne sera pas arrêté automatiquement.", // "system-wide-alert-form.select-date-by-calendar": "Select date using calendar", - // TODO New key - Add a translation - "system-wide-alert-form.select-date-by-calendar": "Select date using calendar", + "system-wide-alert-form.select-date-by-calendar": "Choisir une date avec le calendrier", // "system-wide-alert.form.label.preview": "System-wide alert preview", "system-wide-alert.form.label.preview": "Aperçu du message d'avertissement", @@ -10148,8 +9626,7 @@ "admin.system-wide-alert.title": "Messages d'avertissement", // "discover.filters.head": "Discover", - // TODO New key - Add a translation - "discover.filters.head": "Discover", + "discover.filters.head": "Découvrir", // "item-access-control-title": "This form allows you to perform changes to the access conditions of the item's metadata or its bitstreams.", "item-access-control-title": "Ce formulaire vous permet de changer les conditions d'accès des métadonnées de l'Item et de ses Bitstreams.", @@ -10565,8 +10042,7 @@ "item.page.endorsement": "Approbation", // "item.page.places": "Related places", - // TODO New key - Add a translation - "item.page.places": "Related places", + "item.page.places": "Lieux associés", // "item.page.review": "Review", "item.page.review": "Évaluation", @@ -10595,8 +10071,7 @@ "quality-assurance.events.description-with-topic-and-target": "En dessous de la liste des suggestions pour le sujet sélectionné {{topic}}, en relation avec {{source}} and ", // "quality-assurance.event.table.event.message.serviceUrl": "Actor:", - // TODO New key - Add a translation - "quality-assurance.event.table.event.message.serviceUrl": "Actor:", + "quality-assurance.event.table.event.message.serviceUrl": "Acteur-e :", // "quality-assurance.event.table.event.message.link": "Link:", "quality-assurance.event.table.event.message.link": "Lien :", @@ -10692,8 +10167,7 @@ "request-status-alert-box.rejected": "Le {{ offerType }} demandé pour {{ serviceName }} a été rejeté.", // "request-status-alert-box.tentative_rejected": "The requested {{ offerType }} for {{ serviceName }} has been tentatively rejected. Revisions are required", - // TODO New key - Add a translation - "request-status-alert-box.tentative_rejected": "The requested {{ offerType }} for {{ serviceName }} has been tentatively rejected. Revisions are required", + "request-status-alert-box.tentative_rejected": "L'offre {{ offerType }} demandée pour {{ serviceName }} a été provisoirement rejetée. Des modifications sont nécessaires.", // "request-status-alert-box.requested": "The requested {{ offerType }} for {{ serviceName }} is pending.", "request-status-alert-box.requested": "Le {{ offerType }} demandé pour {{ serviceName }} est en attente.", @@ -10720,12 +10194,10 @@ "ldn-service-overview-close-modal": "Fermer la fenêtre", // "ldn-service-usesActorEmailId": "Requires actor email in notifications", - // TODO New key - Add a translation - "ldn-service-usesActorEmailId": "Requires actor email in notifications", + "ldn-service-usesActorEmailId": "Nécessite le courriel de l'acteur dans les avis", // "ldn-service-usesActorEmailId-description": "If enabled, initial notifications sent will include the submitter email rather than the repository URL. This is usually the case for endorsement or review services.", - // TODO New key - Add a translation - "ldn-service-usesActorEmailId-description": "If enabled, initial notifications sent will include the submitter email rather than the repository URL. This is usually the case for endorsement or review services.", + "ldn-service-usesActorEmailId-description": "Si activé, les notifications initiales envoyées incluront le courriel du soumissionnaire plutôt que l'URL du dépôt. Cela est généralement le cas pour les services de validation ou de révision.", // "a-common-or_statement.label": "Item type is Journal Article or Dataset", "a-common-or_statement.label": "Le type de l'Item est Article de revue ou Jeu de donnnées", @@ -11299,200 +10771,151 @@ "browse.search-form.placeholder": "Chercher dans le dépôt", // "file-download-link.download": "Download ", - // TODO New key - Add a translation - "file-download-link.download": "Download ", + "file-download-link.download": "Télécharger ", // "register-page.registration.aria.label": "Enter your e-mail address", - // TODO New key - Add a translation - "register-page.registration.aria.label": "Enter your e-mail address", + "register-page.registration.aria.label": "Saisir votre adresse courriel", // "forgot-email.form.aria.label": "Enter your e-mail address", - // TODO New key - Add a translation - "forgot-email.form.aria.label": "Enter your e-mail address", + "forgot-email.form.aria.label": "Saisir votre adresse courriel", // "search-facet-option.update.announcement": "The page will be reloaded. Filter {{ filter }} is selected.", - // TODO New key - Add a translation - "search-facet-option.update.announcement": "The page will be reloaded. Filter {{ filter }} is selected.", + "search-facet-option.update.announcement": "La page sera rechargée. Le filtre {{ filter }} est sélectionné.", // "live-region.ordering.instructions": "Press spacebar to reorder {{ itemName }}.", - // TODO New key - Add a translation - "live-region.ordering.instructions": "Press spacebar to reorder {{ itemName }}.", + "live-region.ordering.instructions": "Appuyez sur la barre d'espace pour réorganiser {{ itemName }}.", // "live-region.ordering.status": "{{ itemName }}, grabbed. Current position in list: {{ index }} of {{ length }}. Press up and down arrow keys to change position, SpaceBar to drop, Escape to cancel.", - // TODO New key - Add a translation - "live-region.ordering.status": "{{ itemName }}, grabbed. Current position in list: {{ index }} of {{ length }}. Press up and down arrow keys to change position, SpaceBar to drop, Escape to cancel.", + "live-region.ordering.status": "{{ itemName }}, saisi. Position actuelle dans la liste : {{ index }} sur {{ length }}. Appuyez sur les touches fléchées haut et bas pour changer de position, sur la barre d'espace pour déposer et sur la touche Échap pour annuler.", // "live-region.ordering.moved": "{{ itemName }}, moved to position {{ index }} of {{ length }}. Press up and down arrow keys to change position, SpaceBar to drop, Escape to cancel.", - // TODO New key - Add a translation - "live-region.ordering.moved": "{{ itemName }}, moved to position {{ index }} of {{ length }}. Press up and down arrow keys to change position, SpaceBar to drop, Escape to cancel.", + "live-region.ordering.moved": "{{ itemName }}, déplacé à la position {{ index }} sur {{ length }}. Appuyez sur les touches fléchées haut et bas pour changer de position, sur la barre d'espace pour déplacer le curseur et sur Échap pour annuler.", // "live-region.ordering.dropped": "{{ itemName }}, dropped at position {{ index }} of {{ length }}.", - // TODO New key - Add a translation - "live-region.ordering.dropped": "{{ itemName }}, dropped at position {{ index }} of {{ length }}.", + "live-region.ordering.dropped": "{{ itemName }}, déposé à la position {{ index }} de {{ length }}.", // "dynamic-form-array.sortable-list.label": "Sortable list", - // TODO New key - Add a translation - "dynamic-form-array.sortable-list.label": "Sortable list", + "dynamic-form-array.sortable-list.label": "Liste triable", // "external-login.component.or": "or", - // TODO New key - Add a translation - "external-login.component.or": "or", + "external-login.component.or": "ou", // "external-login.confirmation.header": "Information needed to complete the login process", - // TODO New key - Add a translation - "external-login.confirmation.header": "Information needed to complete the login process", + "external-login.confirmation.header": "Informations nécessaires pour compléter le processus de connexion", // "external-login.noEmail.informationText": "The information received from {{authMethod}} are not sufficient to complete the login process. Please provide the missing information below, or login via a different method to associate your {{authMethod}} to an existing account.", - // TODO New key - Add a translation - "external-login.noEmail.informationText": "The information received from {{authMethod}} are not sufficient to complete the login process. Please provide the missing information below, or login via a different method to associate your {{authMethod}} to an existing account.", + "external-login.noEmail.informationText": "Les informations reçues de {{authMethod}} ne sont pas suffisantes pour compléter le processus de connexion. Veuillez fournir les informations manquantes ci-dessous, ou connectez-vous via une méthode différente pour associer votre {{authMethod}} à un compte existant.", // "external-login.haveEmail.informationText": "It seems that you have not yet an account in this system. If this is the case, please confirm the data received from {{authMethod}} and a new account will be created for you. Otherwise, if you already have an account in the system, please update the email address to match the one already in use in the system or login via a different method to associate your {{authMethod}} to your existing account.", - // TODO New key - Add a translation - "external-login.haveEmail.informationText": "It seems that you have not yet an account in this system. If this is the case, please confirm the data received from {{authMethod}} and a new account will be created for you. Otherwise, if you already have an account in the system, please update the email address to match the one already in use in the system or login via a different method to associate your {{authMethod}} to your existing account.", + "external-login.haveEmail.informationText": "Il semble que vous n'ayez pas encore de compte dans ce système. Si tel est le cas, veuillez confirmer les données reçues de {{authMethod}}, et un nouveau compte sera créé pour vous. Sinon, si vous avez déjà un compte dans le système, veuillez mettre à jour l'adresse courriel pour qu'elle corresponde à celle déjà utilisée dans le système, ou connectez-vous via une méthode différente pour associer votre {{authMethod}} à votre compte existant.", // "external-login.confirm-email.header": "Confirm or update email", - // TODO New key - Add a translation - "external-login.confirm-email.header": "Confirm or update email", + "external-login.confirm-email.header": "Confirmer ou mettre à jour le courriel", // "external-login.confirmation.email-required": "Email is required.", - // TODO New key - Add a translation - "external-login.confirmation.email-required": "Email is required.", + "external-login.confirmation.email-required": "L'adresse courriel est obligatoire.", // "external-login.confirmation.email-label": "User Email", - // TODO New key - Add a translation - "external-login.confirmation.email-label": "User Email", + "external-login.confirmation.email-label": "Courriel de l'utilisateur-trice", // "external-login.confirmation.email-invalid": "Invalid email format.", - // TODO New key - Add a translation - "external-login.confirmation.email-invalid": "Invalid email format.", + "external-login.confirmation.email-invalid": "Format de courriel invalide.", // "external-login.confirm.button.label": "Confirm this email", - // TODO New key - Add a translation - "external-login.confirm.button.label": "Confirm this email", + "external-login.confirm.button.label": "Confirmer ce courriel", // "external-login.confirm-email-sent.header": "Confirmation email sent", - // TODO New key - Add a translation - "external-login.confirm-email-sent.header": "Confirmation email sent", + "external-login.confirm-email-sent.header": "Courriel de confirmation envoyé", // "external-login.confirm-email-sent.info": " We have sent an email to the provided address to validate your input.
Please follow the instructions in the email to complete the login process.", - // TODO New key - Add a translation - "external-login.confirm-email-sent.info": " We have sent an email to the provided address to validate your input.
Please follow the instructions in the email to complete the login process.", + "external-login.confirm-email-sent.info": " Nous avons envoyé un courriel à l'adresse fournie pour valider votre saisie. Veuillez suivre les instructions dans le courriel pour terminer le processus de connexion.", // "external-login.provide-email.header": "Provide email", - // TODO New key - Add a translation - "external-login.provide-email.header": "Provide email", + "external-login.provide-email.header": "Fournir un courriel", // "external-login.provide-email.button.label": "Send Verification link", - // TODO New key - Add a translation - "external-login.provide-email.button.label": "Send Verification link", + "external-login.provide-email.button.label": "SEnvoyer le lien de vérification", // "external-login-validation.review-account-info.header": "Review your account information", - // TODO New key - Add a translation - "external-login-validation.review-account-info.header": "Review your account information", + "external-login-validation.review-account-info.header": "Vérifiez les informations de votre compte", // "external-login-validation.review-account-info.info": "The information received from ORCID differs from the one recorded in your profile.
Please review them and decide if you want to update any of them.After saving you will be redirected to your profile page.", - // TODO New key - Add a translation - "external-login-validation.review-account-info.info": "The information received from ORCID differs from the one recorded in your profile.
Please review them and decide if you want to update any of them.After saving you will be redirected to your profile page.", + "external-login-validation.review-account-info.info": "Les informations reçues d'ORCID diffèrent de celles enregistrées dans votre profil.
Veuillez les vérifier et décider si vous souhaitez mettre à jour l'une d'entre elles. Après avoir enregistré, vous serez redirigé vers votre page de profil.", // "external-login-validation.review-account-info.table.header.information": "Information", - // TODO New key - Add a translation "external-login-validation.review-account-info.table.header.information": "Information", // "external-login-validation.review-account-info.table.header.received-value": "Received value", - // TODO New key - Add a translation - "external-login-validation.review-account-info.table.header.received-value": "Received value", + "external-login-validation.review-account-info.table.header.received-value": "Valeur reçue", // "external-login-validation.review-account-info.table.header.current-value": "Current value", - // TODO New key - Add a translation - "external-login-validation.review-account-info.table.header.current-value": "Current value", + "external-login-validation.review-account-info.table.header.current-value": "Valeur actuelle", // "external-login-validation.review-account-info.table.header.action": "Override", - // TODO New key - Add a translation - "external-login-validation.review-account-info.table.header.action": "Override", + "external-login-validation.review-account-info.table.header.action": "Substituer", // "external-login-validation.review-account-info.table.row.not-applicable": "N/A", - // TODO New key - Add a translation "external-login-validation.review-account-info.table.row.not-applicable": "N/A", // "on-label": "ON", - // TODO New key - Add a translation - "on-label": "ON", + "on-label": "Activer", // "off-label": "OFF", - // TODO New key - Add a translation - "off-label": "OFF", + "off-label": "Désactiver", // "review-account-info.merge-data.notification.success": "Your account information has been updated successfully", - // TODO New key - Add a translation - "review-account-info.merge-data.notification.success": "Your account information has been updated successfully", + "review-account-info.merge-data.notification.success": "Les informations de votre compte ont été mises à jour avec succès", // "review-account-info.merge-data.notification.error": "Something went wrong while updating your account information", - // TODO New key - Add a translation - "review-account-info.merge-data.notification.error": "Something went wrong while updating your account information", + "review-account-info.merge-data.notification.error": "Une erreur est survenue lors de la mise à jour de vos informations de compte", // "review-account-info.alert.error.content": "Something went wrong. Please try again later.", - // TODO New key - Add a translation - "review-account-info.alert.error.content": "Something went wrong. Please try again later.", + "review-account-info.alert.error.content": "Une erreur est survenue. Veuillez réessayer plus tard.", // "external-login-page.provide-email.notifications.error": "Something went wrong.Email address was omitted or the operation is not valid.", - // TODO New key - Add a translation - "external-login-page.provide-email.notifications.error": "Something went wrong.Email address was omitted or the operation is not valid.", + "external-login-page.provide-email.notifications.error": "Une erreur est survenue. L'adresse courriel a été omise ou l'opération n'est pas valide.", // "external-login.error.notification": "There was an error while processing your request. Please try again later.", - // TODO New key - Add a translation - "external-login.error.notification": "There was an error while processing your request. Please try again later.", + "external-login.error.notification": "Une erreur est survenue lors du traitement de votre demande. Veuillez réessayer plus tard.", // "external-login.connect-to-existing-account.label": "Connect to an existing user", - // TODO New key - Add a translation - "external-login.connect-to-existing-account.label": "Connect to an existing user", + "external-login.connect-to-existing-account.label": "Se connecter à un-e utilisateur-trice existant-e", // "external-login.modal.label.close": "Close", - // TODO New key - Add a translation - "external-login.modal.label.close": "Close", + "external-login.modal.label.close": "Fermer", // "external-login-page.provide-email.create-account.notifications.error.header": "Something went wrong", - // TODO New key - Add a translation - "external-login-page.provide-email.create-account.notifications.error.header": "Something went wrong", + "external-login-page.provide-email.create-account.notifications.error.header": "Une erreur est survenue", // "external-login-page.provide-email.create-account.notifications.error.content": "Please check again your email address and try again.", - // TODO New key - Add a translation - "external-login-page.provide-email.create-account.notifications.error.content": "Please check again your email address and try again.", + "external-login-page.provide-email.create-account.notifications.error.content": "Veuillez vérifier à nouveau votre adresse courriel et réessayer.", // "external-login-page.confirm-email.create-account.notifications.error.no-netId": "Something went wrong with this email account. Try again or use a different method to login.", - // TODO New key - Add a translation - "external-login-page.confirm-email.create-account.notifications.error.no-netId": "Something went wrong with this email account. Try again or use a different method to login.", + "external-login-page.confirm-email.create-account.notifications.error.no-netId": "Une erreur est survenue avec ce compte courriel. Veuillez réessayer ou utiliser une méthode différente pour vous connecter.", // "external-login-page.orcid-confirmation.firstname": "First name", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.firstname": "First name", + "external-login-page.orcid-confirmation.firstname": "Prénom", // "external-login-page.orcid-confirmation.firstname.label": "First name", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.firstname.label": "First name", + "external-login-page.orcid-confirmation.firstname.label": "Prénom", // "external-login-page.orcid-confirmation.lastname": "Last name", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.lastname": "Last name", + "external-login-page.orcid-confirmation.lastname": "Nom", // "external-login-page.orcid-confirmation.lastname.label": "Last name", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.lastname.label": "Last name", + "external-login-page.orcid-confirmation.lastname.label": "Nom", // "external-login-page.orcid-confirmation.netid": "Account Identifier", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.netid": "Account Identifier", + "external-login-page.orcid-confirmation.netid": "Identifiant du compte", // "external-login-page.orcid-confirmation.netid.placeholder": "xxxx-xxxx-xxxx-xxxx", - // TODO New key - Add a translation "external-login-page.orcid-confirmation.netid.placeholder": "xxxx-xxxx-xxxx-xxxx", // "external-login-page.orcid-confirmation.email": "Email", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.email": "Email", + "external-login-page.orcid-confirmation.email": "Courriel", // "external-login-page.orcid-confirmation.email.label": "Email", - // TODO New key - Add a translation - "external-login-page.orcid-confirmation.email.label": "Email", + "external-login-page.orcid-confirmation.email.label": "Courriel", // "search.filters.access_status.open.access": "Open access", "search.filters.access_status.open.access": "Accès libre", @@ -11526,12 +10949,9 @@ "embargo.listelement.badge": "Embargo jusqu'à {{ date }}", // "metadata-export-search.submit.error.limit-exceeded": "Only the first {{limit}} items will be exported", - // TODO New key - Add a translation - "metadata-export-search.submit.error.limit-exceeded": "Only the first {{limit}} items will be exported", + "metadata-export-search.submit.error.limit-exceeded": "Seuls les premiers {{limit}} items seront exportés", // "file-download-link.request-copy": "Request a copy of ", - // TODO New key - Add a translation - "file-download-link.request-copy": "Request a copy of ", - + "file-download-link.request-copy": "Demander une copie de ", } \ No newline at end of file From 8c4e8f38bc82dfa42636025257596f8387ebac35 Mon Sep 17 00:00:00 2001 From: Pierre Lasou Date: Tue, 22 Jul 2025 12:23:06 -0400 Subject: [PATCH 03/18] Update to correct errors and duplicates --- src/assets/i18n/fr.json5 | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5 index 1b795ddc7a..c373945333 100644 --- a/src/assets/i18n/fr.json5 +++ b/src/assets/i18n/fr.json5 @@ -1632,8 +1632,8 @@ // "pagination.page-number-bar": "Control bar for page navigation, relative to element with ID: ", "pagination.page-number-bar": "Barre de contrôle pour la page de navigation, relative à l'élément ayant l'identifiant : ", - // "browse.startsWith": ": "starting with {{ startsWith }}", - "browse.startsWith": ": "Commencant par {{ startsWith }}", + // "browse.startsWith": ": ", starting with {{ startsWith }}", + "browse.startsWith": ": ", commencant par {{ startsWith }}", // "browse.startsWith.choose_start": "(Choose start)", "browse.startsWith.choose_start": "(Choisir le début)", @@ -4316,7 +4316,7 @@ "item.page.volume-title": "Titre du volume", // "item.page.dcterms.spatial": "Geospatial point", - "item.page.dcterms.spatial": Point géospacial", + "item.page.dcterms.spatial": "Point géospacial", // "item.search.results.head": "Item Search Results", "item.search.results.head": "Résultats de la recherche d'Items", @@ -4579,10 +4579,6 @@ // "item.preview.dc.rights": "Rights", "item.preview.dc.rights": "Droits", - // "item.preview.dc.identifier.other": "Other Identifier", - // TODO Source message changed - Revise the translation - "item.preview.dc.identifier.other": "Autre identifiant :", - // "item.preview.dc.relation.issn": "ISSN", "item.preview.dc.relation.issn": "ISSN", @@ -4670,10 +4666,6 @@ // "item.preview.dc.identifier.openalex": "OpenAlex Identifier", "item.preview.dc.identifier.openalex": "Identifiant OpenAlex", - // "item.preview.dc.description": "Description", - // TODO Source message changed - Revise the translation - "item.preview.dc.description": "Description :", - // "item.select.confirm": "Confirm selected", "item.select.confirm": "Confirmer la sélection", @@ -6962,7 +6954,7 @@ "search.filters.applied.f.original_bundle_descriptions": "Description du fichier", // "search.filters.applied.f.has_geospatial_metadata": "Has geographical location", - "search.filters.applied.f.has_geospatial_metadata": A l'emplacement géographique", + "search.filters.applied.f.has_geospatial_metadata": "A l'emplacement géographique", // "search.filters.applied.f.itemtype": "Type", "search.filters.applied.f.itemtype": "Type", @@ -7001,10 +6993,9 @@ "search.filters.applied.operator.authority": "", // "search.filters.applied.operator.notauthority": " not authority", - "search.filters.applied.operator.contains": " contient", + "search.filters.applied.operator.notauthority": " sauf autorité", // "search.filters.applied.operator.contains": " contains", - // TODO Source message changed - Revise the translation "search.filters.applied.operator.contains": " contient", // "search.filters.applied.operator.notcontains": " not contains", @@ -7706,7 +7697,7 @@ "submission.import-external.source.sherpaPublisher": "Éditeurs SHERPA", // "submission.import-external.source.openaire": "OpenAIRE Search by Authors", - "submission.import-external.source.openaire": Recherche OpenAIRE par auteurs", + "submission.import-external.source.openaire": "Recherche OpenAIRE par auteurs", // "submission.import-external.source.openaireTitle": "OpenAIRE Search by Title", "submission.import-external.source.openaireTitle": "Recherche OpenAIRE par titre", @@ -9662,10 +9653,9 @@ "access-control-access-conditions": "Conditions d'accès", // "access-control-no-access-conditions-warning-message": "Currently, no access conditions are specified below. If executed, this will replace the current access conditions with the default access conditions inherited from the owning collection.", - "access-control-replace-all": "Remplacer les conditions d'accès", + "access-control-no-access-conditions-warning-message": "Aucune condition d'accès n'est définie pour le moment. Si exécutée, l'action remplacera les conditions d'accès atuelles par celles par défaut héritées de la collection parente.", // "access-control-replace-all": "Replace access conditions", - // TODO Source message changed - Revise the translation "access-control-replace-all": "Remplacer les conditions d'accès", // "access-control-add-to-existing": "Add to existing ones", From b6bf86254293f8492c4fe1345fd77ad7cef805e8 Mon Sep 17 00:00:00 2001 From: Jesiel Viana Date: Wed, 6 Aug 2025 17:37:56 -0300 Subject: [PATCH 04/18] add untranslated i18n keys for ROR API --- src/assets/i18n/en.json5 | 6 ++++++ src/assets/i18n/pt-PT.json5 | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 72b25db234..cec5547805 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -7207,4 +7207,10 @@ "metadata-export-search.submit.error.limit-exceeded": "Only the first {{limit}} items will be exported", "file-download-link.request-copy": "Request a copy of ", + + "item.preview.organization.url": "URL", + + "item.preview.organization.address.addressLocality": "City", + + "item.preview.organization.alternateName":"Alternative name", } diff --git a/src/assets/i18n/pt-PT.json5 b/src/assets/i18n/pt-PT.json5 index 9ad0690d57..5ac458fb3f 100644 --- a/src/assets/i18n/pt-PT.json5 +++ b/src/assets/i18n/pt-PT.json5 @@ -11046,5 +11046,10 @@ // TODO New key - Add a translation "file-download-link.request-copy": "Request a copy of ", + "item.preview.organization.url": "URL", + + "item.preview.organization.address.addressLocality": "Cidade", + + "item.preview.organization.alternateName":"Nome alternativo", } From 14de56279faf2573768393efb38e666101a17274 Mon Sep 17 00:00:00 2001 From: Jesiel Viana Date: Wed, 6 Aug 2025 17:40:57 -0300 Subject: [PATCH 05/18] add in pt-BR file and remove form pt-PT --- src/assets/i18n/pt-BR.json5 | 7 ++++++- src/assets/i18n/pt-PT.json5 | 5 ----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/assets/i18n/pt-BR.json5 b/src/assets/i18n/pt-BR.json5 index 3fe451efab..574427ea24 100644 --- a/src/assets/i18n/pt-BR.json5 +++ b/src/assets/i18n/pt-BR.json5 @@ -11139,5 +11139,10 @@ // TODO New key - Add a translation "file-download-link.request-copy": "Request a copy of ", + "item.preview.organization.url": "URL", -} \ No newline at end of file + "item.preview.organization.address.addressLocality": "Cidade", + + "item.preview.organization.alternateName":"Nome alternativo", + +} diff --git a/src/assets/i18n/pt-PT.json5 b/src/assets/i18n/pt-PT.json5 index 5ac458fb3f..9ad0690d57 100644 --- a/src/assets/i18n/pt-PT.json5 +++ b/src/assets/i18n/pt-PT.json5 @@ -11046,10 +11046,5 @@ // TODO New key - Add a translation "file-download-link.request-copy": "Request a copy of ", - "item.preview.organization.url": "URL", - - "item.preview.organization.address.addressLocality": "Cidade", - - "item.preview.organization.alternateName":"Nome alternativo", } From 22baef689a82ddb0e6308beb4d4aa9f535dc8ebf Mon Sep 17 00:00:00 2001 From: Jesiel Viana Date: Wed, 6 Aug 2025 17:55:49 -0300 Subject: [PATCH 06/18] fix code style --- src/assets/i18n/en.json5 | 2 +- src/assets/i18n/pt-BR.json5 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index cec5547805..c0b620d24d 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -7212,5 +7212,5 @@ "item.preview.organization.address.addressLocality": "City", - "item.preview.organization.alternateName":"Alternative name", + "item.preview.organization.alternateName": "Alternative name", } diff --git a/src/assets/i18n/pt-BR.json5 b/src/assets/i18n/pt-BR.json5 index 574427ea24..e8a01afcc6 100644 --- a/src/assets/i18n/pt-BR.json5 +++ b/src/assets/i18n/pt-BR.json5 @@ -11143,6 +11143,6 @@ "item.preview.organization.address.addressLocality": "Cidade", - "item.preview.organization.alternateName":"Nome alternativo", + "item.preview.organization.alternateName": "Nome alternativo", } From a877cbe2846205ca297c9507f8303ff5d266ee21 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sat, 9 Aug 2025 19:39:36 +0300 Subject: [PATCH 07/18] Fix references to DSDOC8x The latest release is DSDOC9x. --- .github/pull_request_template.md | 2 +- CONTRIBUTING.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 14bd09f5e3..a60a7a8591 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -25,7 +25,7 @@ However, reviewers may request that you complete any actions in this list if you - [ ] My PR **doesn't introduce circular dependencies** (verified via `npm run check-circ-deps`) - [ ] My PR **includes [TypeDoc](https://typedoc.org/) comments** for _all new (or modified) public methods and classes_. It also includes TypeDoc for large or complex private methods. - [ ] My PR **passes all specs/tests and includes new/updated specs or tests** based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide). -- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)** if it makes changes to the user interface. +- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)** if it makes changes to the user interface. - [ ] My PR **uses i18n (internationalization) keys** instead of hardcoded English text, to allow for translations. - [ ] My PR **includes details on how to test it**. I've provided clear instructions to reviewers on how to successfully test this fix or feature. - [ ] If my PR includes new libraries/dependencies (in `package.json`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6525750e4e..fcaa4871d5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ DSpace is a community built and supported project. We do not have a centralized ## Contribute new code via a Pull Request We accept [GitHub Pull Requests (PRs)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) at any time from anyone. -Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC8x/Release+Notes). +Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC9x/Release+Notes). Code Contribution Checklist - [ ] PRs _should_ be smaller in size (ideally less than 1,000 lines of code, not including comments & tests) @@ -18,7 +18,7 @@ Code Contribution Checklist - [ ] PRs **must** not introduce circular dependencies (verified via `yarn check-circ-deps`) - [ ] PRs **must** include [TypeDoc](https://typedoc.org/) comments for _all new (or modified) public methods and classes_. Large or complex private methods should also have TypeDoc. - [ ] PRs **must** pass all automated pecs/tests and includes new/updated specs or tests based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide). -- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility) +- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility) - [ ] PRs **must** use i18n (internationalization) keys instead of hardcoded English text, to allow for translations. - [ ] Details on how to test the PR **must** be provided. Reviewers must be aware of any steps they need to take to successfully test your fix or feature. - [ ] If a PR includes new libraries/dependencies (in `package.json`), then their software licenses **must** align with the [DSpace BSD License](https://github.com/DSpace/dspace-angular/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation. From b5fe301209748c82e898772fa1eb9ee17dfc0eea Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sun, 10 Aug 2025 12:03:47 +0300 Subject: [PATCH 08/18] README.md: update DSDOC references to DSDOC9x --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c5ad7fc7ed..878a31754f 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Downloads Documentation for each release may be viewed online or downloaded via our [Documentation Wiki](https://wiki.lyrasis.org/display/DSDOC/). The latest DSpace Installation instructions are available at: -https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace +https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace Quick start ----------- @@ -349,7 +349,7 @@ See our [DSpace Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code Documentation -------------- -Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC7x/ +Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC9x/ Some UI specific configuration documentation is also found in the [`./docs`](docs) folder of this codebase. From 3333ee4fbb1f4d8b1710f747b7d3b719a639929d Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Sun, 17 Aug 2025 12:01:52 +0300 Subject: [PATCH 09/18] .github/workflows/codescan.yml: use codeql-action v3 Version 2 was deprecated in January, 2024 after the release of v3. See: https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/ --- .github/workflows/codescan.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codescan.yml b/.github/workflows/codescan.yml index d96e786cc3..65cffdfcd9 100644 --- a/.github/workflows/codescan.yml +++ b/.github/workflows/codescan.yml @@ -40,14 +40,14 @@ jobs: # Initializes the CodeQL tools for scanning. # https://github.com/github/codeql-action - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: javascript # Autobuild attempts to build any compiled languages - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 # Perform GitHub Code Scanning. - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 \ No newline at end of file + uses: github/codeql-action/analyze@v3 From 643836addc76ecd04584e1af661ccd0f96465edc Mon Sep 17 00:00:00 2001 From: Alexandre Vryghem Date: Mon, 18 Aug 2025 18:37:48 +0200 Subject: [PATCH 10/18] Restricted map bounds --- src/app/shared/geospatial-map/geospatial-map.component.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/shared/geospatial-map/geospatial-map.component.ts b/src/app/shared/geospatial-map/geospatial-map.component.ts index 8f9cc76355..6da07258f6 100644 --- a/src/app/shared/geospatial-map/geospatial-map.component.ts +++ b/src/app/shared/geospatial-map/geospatial-map.component.ts @@ -150,13 +150,19 @@ export class GeospatialMapComponent implements AfterViewInit, OnInit, OnDestroy this.map = L.map(el, { center: this.DEFAULT_CENTRE_POINT, zoom: 11, + worldCopyJump: true, + maxBoundsViscosity: 1.0, + maxBounds: [ + [-85, -Infinity], + [85, Infinity], + ], }); const tileProviders = environment.geospatialMapViewer.tileProviders; for (let i = 0; i < tileProviders.length; i++) { // Add tiles to the map const tiles = L.tileLayer.provider(tileProviders[i], { maxZoom: 18, - minZoom: 3, + minZoom: 1, }); tiles.addTo(this.map); } From e4dfcda0090362995efece580cf2b24b4d731440 Mon Sep 17 00:00:00 2001 From: Pierre Lasou Date: Tue, 19 Aug 2025 12:57:30 -0400 Subject: [PATCH 11/18] Remove extra character Remove extra ": line 1636 --- src/assets/i18n/fr.json5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5 index c373945333..9ee57ed8d1 100644 --- a/src/assets/i18n/fr.json5 +++ b/src/assets/i18n/fr.json5 @@ -1632,8 +1632,8 @@ // "pagination.page-number-bar": "Control bar for page navigation, relative to element with ID: ", "pagination.page-number-bar": "Barre de contrôle pour la page de navigation, relative à l'élément ayant l'identifiant : ", - // "browse.startsWith": ": ", starting with {{ startsWith }}", - "browse.startsWith": ": ", commencant par {{ startsWith }}", + // "browse.startsWith": ", starting with {{ startsWith }}", + "browse.startsWith": ", commencant par {{ startsWith }}", // "browse.startsWith.choose_start": "(Choose start)", "browse.startsWith.choose_start": "(Choisir le début)", From d9d43ef9c1317d6c6f2e61dfe989d6274394b0e8 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Tue, 26 Aug 2025 09:37:39 +0300 Subject: [PATCH 12/18] README.md: replace links to http://www.dspace.org --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 878a31754f..391e6b7c37 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Overview DSpace open source software is a turnkey repository application used by more than 2,000 organizations and institutions worldwide to provide durable access to digital resources. -For more information, visit http://www.dspace.org/ +For more information, visit https://www.dspace.org/ DSpace consists of both a Java-based backend and an Angular-based frontend. @@ -552,7 +552,7 @@ Additional support options are at https://wiki.lyrasis.org/display/DSPACE/Suppor DSpace also has an active service provider network. If you'd rather hire a service provider to install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our -[Registered Service Providers](http://www.dspace.org/service-providers). +[Registered Service Providers](https://www.dspace.org/service-providers). Issue Tracker @@ -565,7 +565,7 @@ DSpace uses GitHub to track issues: License ------- DSpace source code is freely available under a standard [BSD 3-Clause license](https://opensource.org/licenses/BSD-3-Clause). -The full license is available in the [LICENSE](LICENSE) file or online at http://www.dspace.org/license/ +The full license is available in the [LICENSE](LICENSE) file or online at https://www.dspace.org/license/ DSpace uses third-party libraries which may be distributed under different licenses. Those licenses are listed in the [LICENSES_THIRD_PARTY](LICENSES_THIRD_PARTY) file. From 0bdb8ec7f2fe481b704aecb2ec8a49dfda6b8134 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Tue, 26 Aug 2025 09:37:54 +0300 Subject: [PATCH 13/18] src/app/footer: use https for dspace.org link --- src/app/footer/footer.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html index 297a300d95..b4461df18a 100644 --- a/src/app/footer/footer.component.html +++ b/src/app/footer/footer.component.html @@ -53,7 +53,7 @@

{{ 'footer.link.dspace' | translate}} + href="https://www.dspace.org/" role="link" tabindex="0">{{ 'footer.link.dspace' | translate}} {{ 'footer.copyright' | translate:{year: dateObj | date:'y'} }} {{ 'footer.link.lyrasis' | translate}} From 287347b764876bcff1eb4ded8b49c2871fe3e997 Mon Sep 17 00:00:00 2001 From: Alan Orth Date: Thu, 28 Aug 2025 06:25:33 +0300 Subject: [PATCH 14/18] README.md: fix link to service providers --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 391e6b7c37..789197d78b 100644 --- a/README.md +++ b/README.md @@ -552,7 +552,7 @@ Additional support options are at https://wiki.lyrasis.org/display/DSPACE/Suppor DSpace also has an active service provider network. If you'd rather hire a service provider to install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our -[Registered Service Providers](https://www.dspace.org/service-providers). +[Registered Service Providers](https://dspace.org/registered-service-providers/). Issue Tracker From f313b4a8fd335d84e067025a13aa11da8388a89a Mon Sep 17 00:00:00 2001 From: Kim Shepherd Date: Sat, 30 Aug 2025 17:06:41 +0200 Subject: [PATCH 15/18] Inspect event key characters, not keyCodes on tag keyUp --- .../models/tag/dynamic-tag.component.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts index 203f02d4af..ff035bf92c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts @@ -219,13 +219,15 @@ export class DsDynamicTagComponent extends DsDynamicVocabularyComponent implemen } /** - * Add a new tag with typed text when typing 'Enter' or ',' or ';' + * Add a new tag with typed text when typing 'Enter' or ',' + * Tests the key rather than keyCode as keyCodes can vary + * based on keyboard layout (and do not consider Shift mod) * @param event the keyUp event */ onKeyUp(event) { - if (event.keyCode === 13 || event.keyCode === 188) { + if (event.key === 'Enter' || event.key === ',') { event.preventDefault(); - // Key: 'Enter' or ',' or ';' + // Key: 'Enter' or ',' this.addTagsToChips(); event.stopPropagation(); } From 98fc76d867d480fc53dcd5f1de7c80af400a8cdc Mon Sep 17 00:00:00 2001 From: Kim Shepherd Date: Sat, 30 Aug 2025 17:27:20 +0200 Subject: [PATCH 16/18] Create dynamic tag test events with key chars, not keyCodes --- .../models/tag/dynamic-tag.component.spec.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts index e76d37b89b..40db8ce82f 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts @@ -45,10 +45,10 @@ import { FormFieldMetadataValueObject } from '../../../models/form-field-metadat import { DsDynamicTagComponent } from './dynamic-tag.component'; import { DynamicTagModel } from './dynamic-tag.model'; -function createKeyUpEvent(key: number) { +function createKeyUpEvent(key: string) { /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const event = { - keyCode: key, preventDefault: () => { + key: key, preventDefault: () => { }, stopPropagation: () => { }, }; @@ -278,8 +278,8 @@ describe('DsDynamicTagComponent test suite', () => { expect(tagComp.chips.getChipsItems()).toEqual(chips.getChipsItems()); }); - it('should add an item on ENTER or key press is \',\' or \';\'', fakeAsync(() => { - let event = createKeyUpEvent(13); + it('should add an item on ENTER or key press is \',\'', fakeAsync(() => { + let event = createKeyUpEvent('Enter'); tagComp.currentValue = 'test value'; tagFixture.detectChanges(); @@ -290,7 +290,7 @@ describe('DsDynamicTagComponent test suite', () => { expect(tagComp.model.value).toEqual(['test value']); expect(tagComp.currentValue).toBeNull(); - event = createKeyUpEvent(188); + event = createKeyUpEvent(','); tagComp.currentValue = 'test value'; tagFixture.detectChanges(); From bf24baf630dcb3467a4be725f2fb8797d3d8b754 Mon Sep 17 00:00:00 2001 From: Atmire-Kristof <34308852+Atmire-Kristof@users.noreply.github.com> Date: Fri, 5 Sep 2025 23:46:44 +0200 Subject: [PATCH 17/18] Clear url parameters for entity search tabs (#2734) * 110878: Entity search - clear params on tab switch * 110878: Properly clear browse-by values when navigating * 132230: Related entity tab switching: only keep query & scope, reset page to 1 --------- Co-authored-by: Nona Luypaert --- .../browse-by-metadata/browse-by-metadata.component.ts | 2 ++ .../tabbed-related-entities-search.component.spec.ts | 10 +++++++++- .../tabbed-related-entities-search.component.ts | 4 +++- .../browse-entry-list-element.component.html | 2 +- .../date/starts-with-date.component.spec.ts | 8 ++++---- .../starts-with/starts-with-abstract.component.ts | 3 +-- .../text/starts-with-text.component.spec.ts | 4 ++-- 7 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts b/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts index 6b66be8eaf..4cd615dcc4 100644 --- a/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts +++ b/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts @@ -248,6 +248,8 @@ export class BrowseByMetadataComponent implements OnInit, OnChanges, OnDestroy { if (typeof params.startsWith === 'string') { this.startsWith = params.startsWith.trim(); + } else { + this.startsWith = ''; } if (isNotEmpty(this.value)) { diff --git a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts index 9a00ea3e40..727b8489af 100644 --- a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts +++ b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts @@ -44,6 +44,12 @@ describe('TabbedRelatedEntitiesSearchComponent', () => { provide: ActivatedRoute, useValue: { queryParams: of({ tab: mockRelationType }), + snapshot: { + queryParams: { + scope: 'collection-uuid', + query: 'test', + }, + }, }, }, { provide: Router, useValue: router }, @@ -89,8 +95,10 @@ describe('TabbedRelatedEntitiesSearchComponent', () => { relativeTo: (comp as any).route, queryParams: { tab: event.nextId, + query: 'test', + scope: 'collection-uuid', + 'spc.page': 1, }, - queryParamsHandling: 'merge', }); }); }); diff --git a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts index f0a8228537..8c43f43915 100644 --- a/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts +++ b/src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts @@ -89,8 +89,10 @@ export class TabbedRelatedEntitiesSearchComponent implements OnInit { relativeTo: this.route, queryParams: { tab: event.nextId, + query: this.route.snapshot.queryParams.query, + scope: this.route.snapshot.queryParams.scope, + 'spc.page': 1, }, - queryParamsHandling: 'merge', }); } diff --git a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html index 524243f23d..20be3e5562 100644 --- a/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html +++ b/src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.html @@ -1,6 +1,6 @@

@if (linkType !== linkTypes.None) { - + {{object.value}} } diff --git a/src/app/shared/starts-with/date/starts-with-date.component.spec.ts b/src/app/shared/starts-with/date/starts-with-date.component.spec.ts index 6a48f0db22..b1db5586e9 100644 --- a/src/app/shared/starts-with/date/starts-with-date.component.spec.ts +++ b/src/app/shared/starts-with/date/starts-with-date.component.spec.ts @@ -100,7 +100,7 @@ describe('StartsWithDateComponent', () => { }); it('should add a startsWith query parameter', () => { - expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }); + expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' }); }); it('should automatically fill in the input field', () => { @@ -122,7 +122,7 @@ describe('StartsWithDateComponent', () => { }); it('should add a startsWith query parameter', () => { - expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }); + expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' }); }); it('should automatically fill in the input field', () => { @@ -146,7 +146,7 @@ describe('StartsWithDateComponent', () => { }); it('should add a startsWith query parameter', () => { - expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }); + expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' }); }); it('should automatically fill in the input field', () => { @@ -171,7 +171,7 @@ describe('StartsWithDateComponent', () => { }); it('should add a startsWith query parameter', () => { - expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }); + expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' }); }); }); diff --git a/src/app/shared/starts-with/starts-with-abstract.component.ts b/src/app/shared/starts-with/starts-with-abstract.component.ts index e2d5ca3e0f..98147175c0 100644 --- a/src/app/shared/starts-with/starts-with-abstract.component.ts +++ b/src/app/shared/starts-with/starts-with-abstract.component.ts @@ -92,11 +92,10 @@ export abstract class StartsWithAbstractComponent implements OnInit, OnDestroy { this.startsWith = undefined; } if (resetPage) { - this.paginationService.updateRoute(this.paginationId, { page: 1 }, { startsWith: this.startsWith }); + this.paginationService.updateRoute(this.paginationId, { page: 1 }, { startsWith: this.startsWith }, undefined, { queryParamsHandling: '' }); } else { void this.router.navigate([], { queryParams: Object.assign({ startsWith: this.startsWith }), - queryParamsHandling: 'merge', }); } } diff --git a/src/app/shared/starts-with/text/starts-with-text.component.spec.ts b/src/app/shared/starts-with/text/starts-with-text.component.spec.ts index c0c6996d96..a48a121786 100644 --- a/src/app/shared/starts-with/text/starts-with-text.component.spec.ts +++ b/src/app/shared/starts-with/text/starts-with-text.component.spec.ts @@ -74,8 +74,8 @@ describe('StartsWithTextComponent', () => { expect(comp.startsWith).toEqual(expectedValue); }); - it('should add a startsWith query parameter', () => { - expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }); + it('should add a startsWith query parameter and clear all others', () => { + expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' }); }); }); From 9eadcea48a74f760446abb7009cce0a1dca46771 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 8 Sep 2025 14:56:26 -0500 Subject: [PATCH 18/18] Update dependabot.yml. Remove security related settings as those automatically occur anyways. --- .github/dependabot.yml | 63 ------------------------------------------ 1 file changed, 63 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f259bbc17c..0268a79e6d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -28,15 +28,6 @@ updates: update-types: - "minor" - "patch" - # Group together all security updates for Angular. Only accept minor/patch types. - angular-security: - applies-to: security-updates - patterns: - - "@angular*" - - "@ngtools/webpack" - update-types: - - "minor" - - "patch" # Group together all minor/patch version updates for NgRx in a single PR ngrx: applies-to: version-updates @@ -45,14 +36,6 @@ updates: update-types: - "minor" - "patch" - # Group together all security updates for NgRx. Only accept minor/patch types. - ngrx-security: - applies-to: security-updates - patterns: - - "@ngrx*" - update-types: - - "minor" - - "patch" # Group together all patch version updates for eslint in a single PR eslint: applies-to: version-updates @@ -62,15 +45,6 @@ updates: update-types: - "minor" - "patch" - # Group together all security updates for eslint. - eslint-security: - applies-to: security-updates - patterns: - - "@typescript-eslint*" - - "eslint*" - update-types: - - "minor" - - "patch" # Group together any testing related version updates testing: applies-to: version-updates @@ -84,19 +58,6 @@ updates: update-types: - "minor" - "patch" - # Group together any testing related security updates - testing-security: - applies-to: security-updates - patterns: - - "@cypress*" - - "axe-*" - - "cypress*" - - "jasmine*" - - "karma*" - - "ng-mocks" - update-types: - - "minor" - - "patch" # Group together any postcss related version updates postcss: applies-to: version-updates @@ -105,14 +66,6 @@ updates: update-types: - "minor" - "patch" - # Group together any postcss related security updates - postcss-security: - applies-to: security-updates - patterns: - - "postcss*" - update-types: - - "minor" - - "patch" # Group together any sass related version updates sass: applies-to: version-updates @@ -121,14 +74,6 @@ updates: update-types: - "minor" - "patch" - # Group together any sass related security updates - sass-security: - applies-to: security-updates - patterns: - - "sass*" - update-types: - - "minor" - - "patch" # Group together any webpack related version updates webpack: applies-to: version-updates @@ -137,14 +82,6 @@ updates: update-types: - "minor" - "patch" - # Group together any webpack related seurity updates - webpack-security: - applies-to: security-updates - patterns: - - "webpack*" - update-types: - - "minor" - - "patch" ignore: # Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core - dependency-name: "zone.js"