From b642cab34049c8f786cc40881d78c8beb98296f9 Mon Sep 17 00:00:00 2001 From: Samuel Paccoud - FUN MOOC Date: Fri, 28 Aug 2020 20:25:37 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96(chore)=20bump=20version=20to=202.0?= =?UTF-8?q?.0-beta.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added - Add a language picker menu to Richie's header & footer, powered by a new React component. --- CHANGELOG.md | 5 +- setup.cfg | 2 +- src/frontend/js/translations/es-ES.json | 2 +- src/frontend/js/translations/es-ES.po | 83 +++- src/frontend/js/translations/fr-CA.json | 2 +- src/frontend/js/translations/fr-CA.po | 83 +++- src/frontend/js/translations/fr-FR.json | 2 +- src/frontend/js/translations/fr-FR.po | 83 +++- src/frontend/package.json | 2 +- src/richie/locale/es_ES/LC_MESSAGES/django.mo | Bin 14974 -> 15580 bytes src/richie/locale/es_ES/LC_MESSAGES/django.po | 348 +++++++-------- src/richie/locale/fr_CA/LC_MESSAGES/django.mo | Bin 24797 -> 25333 bytes src/richie/locale/fr_CA/LC_MESSAGES/django.po | 416 +++++++----------- src/richie/locale/fr_FR/LC_MESSAGES/django.mo | Bin 25302 -> 25886 bytes src/richie/locale/fr_FR/LC_MESSAGES/django.po | 396 +++++++---------- tests_e2e/package.json | 2 +- website/package.json | 2 +- 17 files changed, 729 insertions(+), 699 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f6922c139..1eb8f13cbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [2.0.0-beta.13] - 2020-08-27 + ### Added - Add a language picker menu to Richie's header & footer, powered by a new @@ -969,7 +971,8 @@ us: - finish integrating the missing pages and improve the sandbox environment; - test and polish the use of richie as a django app / node dependency. -[unreleased]: https://github.com/openfun/richie/compare/v2.0.0-beta.12...master +[unreleased]: https://github.com/openfun/richie/compare/v2.0.0-beta.13...master +[2.0.0-beta.13]: https://github.com/openfun/richie/compare/v2.0.0-beta.12...v2.0.0-beta.13 [2.0.0-beta.12]: https://github.com/openfun/richie/compare/v2.0.0-beta.11...v2.0.0-beta.12 [2.0.0-beta.11]: https://github.com/openfun/richie/compare/v2.0.0-beta.10...v2.0.0-beta.11 [2.0.0-beta.10]: https://github.com/openfun/richie/compare/v2.0.0-beta.9...v2.0.0-beta.10 diff --git a/setup.cfg b/setup.cfg index 5ac1b35e71..df8770e620 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ ;; [metadata] name = richie -version = 2.0.0-beta.12 +version = 2.0.0-beta.13 description = A FUN portal for Open edX long_description = file:README.md long_description_content_type = text/markdown diff --git a/src/frontend/js/translations/es-ES.json b/src/frontend/js/translations/es-ES.json index e46372c3a7..fb742f433b 100644 --- a/src/frontend/js/translations/es-ES.json +++ b/src/frontend/js/translations/es-ES.json @@ -1 +1 @@ -{"components.CourseGlimpse.cover":"Portada","components.CourseGlimpseList.courseCount":"Mostrando {start, number} a {end, number} de {courseCount, number} ¡ {courseCount, plural, one {curso} other {cursos}} que coinciden con su búsqueda","components.PaginateCourseSearch.currentlyReadingLastPageN":"Leyendo la última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actualmente leyendo la página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página siguiente {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginación","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.SearchSuggestField.searchFieldPlaceholder":"Buscar cursos, organizaciones, categorías","components.Search.errorMessage":"","components.Search.hideFiltersPane":"Ocultar panel de filtros","components.Search.showFiltersPane":"Mostrar panel de filtros","components.Search.spinnerText":"Cargando resultados de búsqueda...","components.SearchFilterGroupModal.closeModal":"Cerrar","components.SearchFilterGroupModal.error":"Se ha producido un error al buscar {filterName}.","components.SearchFilterGroupModal.modalTitle":"Añadir filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Más opciones","components.SearchFilterGroupModal.queryTooShort":"Escriba por lo menos 3 caracteres para iniciar la búsqueda.","components.SearchFiltersPane.clearFilters":"Retirar {activeFilterCount, number} activo {activeFilterCount, plural, one {filtro} other {filtros}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionales para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar más filtros para {filterValueName}","components.SearchInput.button":"Buscar","components.UserLogin.logIn":"Iniciar sesión","components.UserLogin.logOut":"Cerrar sesión","components.UserLogin.signup":"Regístrarse","components.UserLogin.spinnerText":"Cargando estado de inicio de sesión..."} \ No newline at end of file +{"components.CourseGlimpse.cover":"Portada","components.CourseGlimpseList.courseCount":"Mostrando {start, number} a {end, number} de {courseCount, number} ¡ {courseCount, plural, one {curso} other {cursos}} que coinciden con su búsqueda","components.CourseRunEnrollment.enroll":"","components.CourseRunEnrollment.enrolled":"","components.CourseRunEnrollment.enrollmentClosed":"","components.CourseRunEnrollment.enrollmentFailed":"","components.CourseRunEnrollment.goToCourse":"","components.CourseRunEnrollment.loadingInitial":"","components.CourseRunEnrollmentButton.loadingInitial":"","components.CourseRunEnrollment.loginToEnroll":"","components.CourseRunEnrollmentButton.loginToEnroll":"","components.CloseIcon.closeLabel":"Cerrar","components.SearchFilterGroupModal.closeModal":"Cerrar","components.LanguageSelector.currentlySelected":"","components.LanguageSelector.languages":"","components.LanguageSelector.selectLanguage":"","components.LanguageSelector.switchToLanguage":"","components.PaginateCourseSearch.currentlyReadingLastPageN":"Leyendo la última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actualmente leyendo la página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página siguiente {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginación","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.SearchSuggestField.searchFieldPlaceholder":"Buscar cursos, organizaciones, categorías","components.Search.errorMessage":"","components.Search.hideFiltersPane":"Ocultar panel de filtros","components.Search.showFiltersPane":"Mostrar panel de filtros","components.Search.spinnerText":"Cargando resultados de búsqueda...","components.SearchFilterGroup.SearchFilterGroupSuggestField.placeholder":"","components.SearchFilterGroupModal.error":"Se ha producido un error al buscar {filterName}.","components.SearchFilterGroupModal.modalTitle":"Añadir filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Más opciones","components.SearchFilterGroupModal.queryTooShort":"Escriba por lo menos 3 caracteres para iniciar la búsqueda.","components.SearchFiltersPane.clearFilters":"Retirar {activeFilterCount, number} activo {activeFilterCount, plural, one {filtro} other {filtros}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionales para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar más filtros para {filterValueName}","components.SearchInput.button":"Buscar","components.UserLogin.logIn":"Iniciar sesión","components.UserLogin.logOut":"Cerrar sesión","components.UserLogin.signup":"Regístrarse","components.UserLogin.spinnerText":"Cargando estado de inicio de sesión...","settings.filters.availability.title":"","settings.filters.availability.values.coming_soon":"","settings.filters.availability.values.current":"","settings.filters.availability.values.open":"","settings.filters.language.title":"","settings.filters.language.en":"","settings.filters.language.fr":"","settings.filters.new.title":"","settings.filters.new.new":"","common.categoriesHumanName":"","common.coursesHumanName":"","common.organizationsHumanName":"","common.personsHumanName":""} diff --git a/src/frontend/js/translations/es-ES.po b/src/frontend/js/translations/es-ES.po index b4354e0526..9690513216 100644 --- a/src/frontend/js/translations/es-ES.po +++ b/src/frontend/js/translations/es-ES.po @@ -1,18 +1,27 @@ msgid "" msgstr "" -"POT-Creation-Date: 2020-01-22T09:13:35.666Z\n" +"POT-Creation-Date: 2020-08-28T18:05:44.793Z\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "MIME-Version: 1.0\n" "X-Generator: react-intl-po\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: richie\n" +"X-Crowdin-Project-ID: 308578\n" "X-Crowdin-Language: es-ES\n" "X-Crowdin-File: frontend.pot\n" +"X-Crowdin-File-ID: 36\n" "Project-Id-Version: richie\n" "Language-Team: Spanish\n" "Language: es_ES\n" -"PO-Revision-Date: 2020-04-17 14:29\n" +"PO-Revision-Date: 2020-08-28 22:08\n" + +#. [components.LanguageSelector.currentlySelected] - Accessible hint to mark the currently selected language in the language selector +#. defaultMessage is: +#. (currently selected) +#: i18n/js/components/LanguageSelector/index.json +msgid "(currently selected)" +msgstr "" #. [components.SearchFilterGroupModal.modalTitle] - Title for the modal to add more filter values in the search filters modal. #. defaultMessage is: @@ -56,6 +65,20 @@ msgstr "Leyendo la última página {page}" msgid "Currently reading page {page}" msgstr "Actualmente leyendo la página {page}" +#. [components.CourseRunEnrollment.enroll] - CTA for users who can enroll in the course run or could enroll if they logged in. +#. defaultMessage is: +#. Enroll now +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enroll now" +msgstr "" + +#. [components.CourseRunEnrollment.enrollmentClosed] - Help text replacing the CTA on a course run when enrollment is closed. +#. defaultMessage is: +#. Enrollment in this course run is closed at the moment +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enrollment in this course run is closed at the moment" +msgstr "" + #. [components.SearchFiltersPane.title] - Title for the search filters pane in course search. #. defaultMessage is: #. Filter courses @@ -63,6 +86,13 @@ msgstr "Actualmente leyendo la página {page}" msgid "Filter courses" msgstr "Filtrar cursos" +#. [components.CourseRunEnrollment.goToCourse] - CTA for users who are already enrolled in a course run. +#. defaultMessage is: +#. Go to course +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Go to course" +msgstr "" + #. [components.SearchFilterValueParent.ariaHideChildren] - Accessibility message for the button to hide children of the current filter #. defaultMessage is: #. Hide additional filters for {filterValueName} @@ -77,6 +107,13 @@ msgstr "Ocultar filtros adicionales para {filterValueName}" msgid "Hide filters pane" msgstr "Ocultar panel de filtros" +#. [components.LanguageSelector.languages] - Default text for the language selector button when the current language cannot be identified +#. defaultMessage is: +#. Languages +#: i18n/js/components/LanguageSelector/index.json +msgid "Languages" +msgstr "" + #. [components.PaginateCourseSearch.lastPageN] - Accessibility helper for pagination, added on the last page link. #. defaultMessage is: #. Last page {page} @@ -84,6 +121,13 @@ msgstr "Ocultar panel de filtros" msgid "Last page {page}" msgstr "Última página {page}" +#. [components.CourseRunEnrollment.loadingInitial] - Accessible text for the initial loading spinner on the course run enrollment button. +#. defaultMessage is: +#. Loading enrollment information... +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Loading enrollment information..." +msgstr "" + #. [components.UserLogin.spinnerText] - Accessibility text for the spinner in the login area. #. defaultMessage is: #. Loading login status... @@ -169,6 +213,13 @@ msgstr "Buscar cursos" msgid "Search for courses, organizations, categories" msgstr "Buscar cursos, organizaciones, categorías" +#. [components.LanguageSelector.selectLanguage] - Accessible label for the language selector button +#. defaultMessage is: +#. Select a language: +#: i18n/js/components/LanguageSelector/index.json +msgid "Select a language:" +msgstr "" + #. [components.Search.showFiltersPane] - Accessibility text for the button/icon that toggles *on* the filters pane on mobile #. defaultMessage is: #. Show filters pane @@ -197,6 +248,13 @@ msgstr "Mostrando {start, number} a {end, number} de {courseCount, number} ¡ {c msgid "Sign up" msgstr "Regístrarse" +#. [components.CourseRunEnrollment.loginToEnroll] - Helper text below the disabled enrolle button for non logged in users +#. defaultMessage is: +#. Sign up or log in to enroll +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Sign up or log in to enroll" +msgstr "" + #. [components.Search.errorMessage] - Error message for Search view when the request to load courses fails #. defaultMessage is: #. Something's wrong! Courses could not be loaded. @@ -204,6 +262,13 @@ msgstr "Regístrarse" msgid "Something's wrong! Courses could not be loaded." msgstr "" +#. [components.LanguageSelector.switchToLanguage] - Accessible link title for the language switching links in language selector +#. defaultMessage is: +#. Switch to {language} +#: i18n/js/components/LanguageSelector/index.json +msgid "Switch to {language}" +msgstr "" + #. [components.SearchFilterGroupModal.error] - Error message when the search for more filter value fails in the search filters modal. #. defaultMessage is: #. There was an error while searching for {filterName}. @@ -218,3 +283,17 @@ msgstr "Se ha producido un error al buscar {filterName}." msgid "Type at least 3 characters to start searching." msgstr "Escriba por lo menos 3 caracteres para iniciar la búsqueda." +#. [components.CourseRunEnrollment.enrolled] - Help text for users who see the "Go to course" CTA on course run enrollment +#. defaultMessage is: +#. You are enrolled in this course run +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "You are enrolled in this course run" +msgstr "" + +#. [components.CourseRunEnrollment.enrollmentFailed] - Help text below the "Enroll now" CTA when an enrollment attempt has already failed. +#. defaultMessage is: +#. Your enrollment request failed. +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Your enrollment request failed." +msgstr "" + diff --git a/src/frontend/js/translations/fr-CA.json b/src/frontend/js/translations/fr-CA.json index e85f0a0914..d68be52902 100644 --- a/src/frontend/js/translations/fr-CA.json +++ b/src/frontend/js/translations/fr-CA.json @@ -1 +1 @@ -{"components.CourseGlimpse.cover":"Couverture","components.CourseGlimpseList.courseCount":"Affichage de {start, number} à {end, number} de {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.closeModal":"Fermer","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchInput.button":"Recherche","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion..."} \ No newline at end of file +{"components.CourseGlimpse.cover":"Couverture","components.CourseGlimpseList.courseCount":"Affichage de {start, number} à {end, number} de {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseRunEnrollment.enroll":"S’inscrire maintenant","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à ce cours","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à cette session de cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.goToCourse":"Aller au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des informations d'inscription...","components.CourseRunEnrollmentButton.loadingInitial":"Chargement des informations d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Inscrivez-vous ou connectez-vous pour vous inscrire","components.CourseRunEnrollmentButton.loginToEnroll":"Inscrivez-vous ou connectez-vous pour vous inscrire","components.CloseIcon.closeLabel":"Fermer","components.SearchFilterGroupModal.closeModal":"Fermer","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue:","components.LanguageSelector.switchToLanguage":"Basculer vers {language}","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.SearchFilterGroup.SearchFilterGroupSuggestField.placeholder":"","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchInput.button":"Recherche","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","settings.filters.availability.title":"","settings.filters.availability.values.coming_soon":"","settings.filters.availability.values.current":"","settings.filters.availability.values.open":"","settings.filters.language.title":"","settings.filters.language.en":"","settings.filters.language.fr":"","settings.filters.new.title":"","settings.filters.new.new":"","common.categoriesHumanName":"","common.coursesHumanName":"","common.organizationsHumanName":"","common.personsHumanName":""} diff --git a/src/frontend/js/translations/fr-CA.po b/src/frontend/js/translations/fr-CA.po index c9d9644e68..6adcee51d3 100644 --- a/src/frontend/js/translations/fr-CA.po +++ b/src/frontend/js/translations/fr-CA.po @@ -1,18 +1,27 @@ msgid "" msgstr "" -"POT-Creation-Date: 2020-01-22T09:13:35.666Z\n" +"POT-Creation-Date: 2020-08-28T18:05:44.793Z\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "MIME-Version: 1.0\n" "X-Generator: react-intl-po\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Crowdin-Project: richie\n" +"X-Crowdin-Project-ID: 308578\n" "X-Crowdin-Language: fr-CA\n" "X-Crowdin-File: frontend.pot\n" +"X-Crowdin-File-ID: 36\n" "Project-Id-Version: richie\n" "Language-Team: French, Canada\n" "Language: fr_CA\n" -"PO-Revision-Date: 2020-04-17 14:29\n" +"PO-Revision-Date: 2020-08-28 22:08\n" + +#. [components.LanguageSelector.currentlySelected] - Accessible hint to mark the currently selected language in the language selector +#. defaultMessage is: +#. (currently selected) +#: i18n/js/components/LanguageSelector/index.json +msgid "(currently selected)" +msgstr "(actuellement sélectionné)" #. [components.SearchFilterGroupModal.modalTitle] - Title for the modal to add more filter values in the search filters modal. #. defaultMessage is: @@ -56,6 +65,20 @@ msgstr "Actuellement sur la dernière page: {page}" msgid "Currently reading page {page}" msgstr "Actuellement sur la page {page}" +#. [components.CourseRunEnrollment.enroll] - CTA for users who can enroll in the course run or could enroll if they logged in. +#. defaultMessage is: +#. Enroll now +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enroll now" +msgstr "S’inscrire maintenant" + +#. [components.CourseRunEnrollment.enrollmentClosed] - Help text replacing the CTA on a course run when enrollment is closed. +#. defaultMessage is: +#. Enrollment in this course run is closed at the moment +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enrollment in this course run is closed at the moment" +msgstr "L'inscription à cette session de cours est fermée pour le moment" + #. [components.SearchFiltersPane.title] - Title for the search filters pane in course search. #. defaultMessage is: #. Filter courses @@ -63,6 +86,13 @@ msgstr "Actuellement sur la page {page}" msgid "Filter courses" msgstr "Filtrer les cours" +#. [components.CourseRunEnrollment.goToCourse] - CTA for users who are already enrolled in a course run. +#. defaultMessage is: +#. Go to course +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Go to course" +msgstr "Aller au cours" + #. [components.SearchFilterValueParent.ariaHideChildren] - Accessibility message for the button to hide children of the current filter #. defaultMessage is: #. Hide additional filters for {filterValueName} @@ -77,6 +107,13 @@ msgstr "Cacher les filtres supplémentaires pour {filterValueName}" msgid "Hide filters pane" msgstr "Cacher le menu des filtres" +#. [components.LanguageSelector.languages] - Default text for the language selector button when the current language cannot be identified +#. defaultMessage is: +#. Languages +#: i18n/js/components/LanguageSelector/index.json +msgid "Languages" +msgstr "Langues" + #. [components.PaginateCourseSearch.lastPageN] - Accessibility helper for pagination, added on the last page link. #. defaultMessage is: #. Last page {page} @@ -84,6 +121,13 @@ msgstr "Cacher le menu des filtres" msgid "Last page {page}" msgstr "Dernière page: {page}" +#. [components.CourseRunEnrollment.loadingInitial] - Accessible text for the initial loading spinner on the course run enrollment button. +#. defaultMessage is: +#. Loading enrollment information... +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Loading enrollment information..." +msgstr "Chargement des informations d'inscription..." + #. [components.UserLogin.spinnerText] - Accessibility text for the spinner in the login area. #. defaultMessage is: #. Loading login status... @@ -169,6 +213,13 @@ msgstr "Recherche de cours" msgid "Search for courses, organizations, categories" msgstr "Recherche des cours, des organisations, des catégories" +#. [components.LanguageSelector.selectLanguage] - Accessible label for the language selector button +#. defaultMessage is: +#. Select a language: +#: i18n/js/components/LanguageSelector/index.json +msgid "Select a language:" +msgstr "Sélectionnez une langue:" + #. [components.Search.showFiltersPane] - Accessibility text for the button/icon that toggles *on* the filters pane on mobile #. defaultMessage is: #. Show filters pane @@ -197,6 +248,13 @@ msgstr "Affichage de {start, number} à {end, number} de {courseCount, number} { msgid "Sign up" msgstr "Inscription" +#. [components.CourseRunEnrollment.loginToEnroll] - Helper text below the disabled enrolle button for non logged in users +#. defaultMessage is: +#. Sign up or log in to enroll +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Sign up or log in to enroll" +msgstr "Inscrivez-vous ou connectez-vous pour vous inscrire" + #. [components.Search.errorMessage] - Error message for Search view when the request to load courses fails #. defaultMessage is: #. Something's wrong! Courses could not be loaded. @@ -204,6 +262,13 @@ msgstr "Inscription" msgid "Something's wrong! Courses could not be loaded." msgstr "Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés." +#. [components.LanguageSelector.switchToLanguage] - Accessible link title for the language switching links in language selector +#. defaultMessage is: +#. Switch to {language} +#: i18n/js/components/LanguageSelector/index.json +msgid "Switch to {language}" +msgstr "Basculer vers {language}" + #. [components.SearchFilterGroupModal.error] - Error message when the search for more filter value fails in the search filters modal. #. defaultMessage is: #. There was an error while searching for {filterName}. @@ -218,3 +283,17 @@ msgstr "La recherche de filtres pour {filterName} a rencontré une erreur." msgid "Type at least 3 characters to start searching." msgstr "Tapez 3 caractères ou plus pour commencer à chercher." +#. [components.CourseRunEnrollment.enrolled] - Help text for users who see the "Go to course" CTA on course run enrollment +#. defaultMessage is: +#. You are enrolled in this course run +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "You are enrolled in this course run" +msgstr "Vous êtes inscrit à ce cours" + +#. [components.CourseRunEnrollment.enrollmentFailed] - Help text below the "Enroll now" CTA when an enrollment attempt has already failed. +#. defaultMessage is: +#. Your enrollment request failed. +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Your enrollment request failed." +msgstr "Votre demande d'inscription a échoué." + diff --git a/src/frontend/js/translations/fr-FR.json b/src/frontend/js/translations/fr-FR.json index 22ba200915..c648197ac6 100644 --- a/src/frontend/js/translations/fr-FR.json +++ b/src/frontend/js/translations/fr-FR.json @@ -1 +1 @@ -{"components.CourseGlimpse.cover":"Couverture","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.closeModal":"Fermer","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchInput.button":"Chercher","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion..."} \ No newline at end of file +{"components.CourseGlimpse.cover":"Couverture","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseRunEnrollment.enroll":"S’inscrire maintenant","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à cette session","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à ce cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.goToCourse":"Accéder au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollmentButton.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Créez un compte ou connectez-vous pour vous inscrire","components.CourseRunEnrollmentButton.loginToEnroll":"Créez un compte ou connectez-vous pour vous inscrire","components.CloseIcon.closeLabel":"Fermer","components.SearchFilterGroupModal.closeModal":"Fermer","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue:","components.LanguageSelector.switchToLanguage":"Voir en {language}","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.SearchFilterGroup.SearchFilterGroupSuggestField.placeholder":"","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchInput.button":"Chercher","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","settings.filters.availability.title":"","settings.filters.availability.values.coming_soon":"","settings.filters.availability.values.current":"","settings.filters.availability.values.open":"","settings.filters.language.title":"","settings.filters.language.en":"","settings.filters.language.fr":"","settings.filters.new.title":"","settings.filters.new.new":"","common.categoriesHumanName":"","common.coursesHumanName":"","common.organizationsHumanName":"","common.personsHumanName":""} diff --git a/src/frontend/js/translations/fr-FR.po b/src/frontend/js/translations/fr-FR.po index fc3c40ba28..d4744d7b11 100644 --- a/src/frontend/js/translations/fr-FR.po +++ b/src/frontend/js/translations/fr-FR.po @@ -1,18 +1,27 @@ msgid "" msgstr "" -"POT-Creation-Date: 2020-01-22T09:13:35.666Z\n" +"POT-Creation-Date: 2020-08-28T18:05:44.793Z\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "MIME-Version: 1.0\n" "X-Generator: react-intl-po\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Crowdin-Project: richie\n" +"X-Crowdin-Project-ID: 308578\n" "X-Crowdin-Language: fr\n" "X-Crowdin-File: frontend.pot\n" +"X-Crowdin-File-ID: 36\n" "Project-Id-Version: richie\n" "Language-Team: French\n" "Language: fr_FR\n" -"PO-Revision-Date: 2020-04-17 14:24\n" +"PO-Revision-Date: 2020-08-28 22:08\n" + +#. [components.LanguageSelector.currentlySelected] - Accessible hint to mark the currently selected language in the language selector +#. defaultMessage is: +#. (currently selected) +#: i18n/js/components/LanguageSelector/index.json +msgid "(currently selected)" +msgstr "(actuellement sélectionné)" #. [components.SearchFilterGroupModal.modalTitle] - Title for the modal to add more filter values in the search filters modal. #. defaultMessage is: @@ -56,6 +65,20 @@ msgstr "Actuellement sur la dernière page: {page}" msgid "Currently reading page {page}" msgstr "Actuellement sur la page {page}" +#. [components.CourseRunEnrollment.enroll] - CTA for users who can enroll in the course run or could enroll if they logged in. +#. defaultMessage is: +#. Enroll now +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enroll now" +msgstr "S’inscrire maintenant" + +#. [components.CourseRunEnrollment.enrollmentClosed] - Help text replacing the CTA on a course run when enrollment is closed. +#. defaultMessage is: +#. Enrollment in this course run is closed at the moment +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Enrollment in this course run is closed at the moment" +msgstr "L'inscription à ce cours est fermée pour le moment" + #. [components.SearchFiltersPane.title] - Title for the search filters pane in course search. #. defaultMessage is: #. Filter courses @@ -63,6 +86,13 @@ msgstr "Actuellement sur la page {page}" msgid "Filter courses" msgstr "Filtrer les cours" +#. [components.CourseRunEnrollment.goToCourse] - CTA for users who are already enrolled in a course run. +#. defaultMessage is: +#. Go to course +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Go to course" +msgstr "Accéder au cours" + #. [components.SearchFilterValueParent.ariaHideChildren] - Accessibility message for the button to hide children of the current filter #. defaultMessage is: #. Hide additional filters for {filterValueName} @@ -77,6 +107,13 @@ msgstr "Cacher les filtres supplémentaires pour {filterValueName}" msgid "Hide filters pane" msgstr "Cacher le menu des filtres" +#. [components.LanguageSelector.languages] - Default text for the language selector button when the current language cannot be identified +#. defaultMessage is: +#. Languages +#: i18n/js/components/LanguageSelector/index.json +msgid "Languages" +msgstr "Langues" + #. [components.PaginateCourseSearch.lastPageN] - Accessibility helper for pagination, added on the last page link. #. defaultMessage is: #. Last page {page} @@ -84,6 +121,13 @@ msgstr "Cacher le menu des filtres" msgid "Last page {page}" msgstr "Dernière page: {page}" +#. [components.CourseRunEnrollment.loadingInitial] - Accessible text for the initial loading spinner on the course run enrollment button. +#. defaultMessage is: +#. Loading enrollment information... +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Loading enrollment information..." +msgstr "Chargement des critères d'inscription..." + #. [components.UserLogin.spinnerText] - Accessibility text for the spinner in the login area. #. defaultMessage is: #. Loading login status... @@ -169,6 +213,13 @@ msgstr "Recherche de cours" msgid "Search for courses, organizations, categories" msgstr "Recherche des cours, des organisations, des catégories" +#. [components.LanguageSelector.selectLanguage] - Accessible label for the language selector button +#. defaultMessage is: +#. Select a language: +#: i18n/js/components/LanguageSelector/index.json +msgid "Select a language:" +msgstr "Sélectionnez une langue:" + #. [components.Search.showFiltersPane] - Accessibility text for the button/icon that toggles *on* the filters pane on mobile #. defaultMessage is: #. Show filters pane @@ -197,6 +248,13 @@ msgstr "Résultats {start, number} à {end, number} sur {courseCount, number} {c msgid "Sign up" msgstr "Inscription" +#. [components.CourseRunEnrollment.loginToEnroll] - Helper text below the disabled enrolle button for non logged in users +#. defaultMessage is: +#. Sign up or log in to enroll +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Sign up or log in to enroll" +msgstr "Créez un compte ou connectez-vous pour vous inscrire" + #. [components.Search.errorMessage] - Error message for Search view when the request to load courses fails #. defaultMessage is: #. Something's wrong! Courses could not be loaded. @@ -204,6 +262,13 @@ msgstr "Inscription" msgid "Something's wrong! Courses could not be loaded." msgstr "Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés." +#. [components.LanguageSelector.switchToLanguage] - Accessible link title for the language switching links in language selector +#. defaultMessage is: +#. Switch to {language} +#: i18n/js/components/LanguageSelector/index.json +msgid "Switch to {language}" +msgstr "Voir en {language}" + #. [components.SearchFilterGroupModal.error] - Error message when the search for more filter value fails in the search filters modal. #. defaultMessage is: #. There was an error while searching for {filterName}. @@ -218,3 +283,17 @@ msgstr "La recherche de filtres pour {filterName} a rencontré une erreur." msgid "Type at least 3 characters to start searching." msgstr "Tapez 3 caractères ou plus pour commencer à chercher." +#. [components.CourseRunEnrollment.enrolled] - Help text for users who see the "Go to course" CTA on course run enrollment +#. defaultMessage is: +#. You are enrolled in this course run +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "You are enrolled in this course run" +msgstr "Vous êtes inscrit à cette session" + +#. [components.CourseRunEnrollment.enrollmentFailed] - Help text below the "Enroll now" CTA when an enrollment attempt has already failed. +#. defaultMessage is: +#. Your enrollment request failed. +#: i18n/js/components/CourseRunEnrollment/index.json +msgid "Your enrollment request failed." +msgstr "Votre demande d'inscription a échoué." + diff --git a/src/frontend/package.json b/src/frontend/package.json index c5cb62a1c0..23936afc1b 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -1,6 +1,6 @@ { "name": "richie-education", - "version": "2.0.0-beta.12", + "version": "2.0.0-beta.13", "description": "A CMS for Open Education", "main": "sandbox/manage.py", "scripts": { diff --git a/src/richie/locale/es_ES/LC_MESSAGES/django.mo b/src/richie/locale/es_ES/LC_MESSAGES/django.mo index 5bd3400570733dd136791a16a1862080d70e43c3..7cb7ca7084c781c8f8b99f19ba92505b0de13796 100644 GIT binary patch delta 5439 zcmaLZ33OD|0mktgNWzk^BoGLY$QVKhTS&qZq(W473=$R#q8Nu{0%Mj5GZP>P4$y*1 zOUo9}T4X7^3)HZR%Boc;U@FE+5d~}!JofaIS~;hM_W#Yh>EZN%@9@p<-Z$^vcegj; zR`7gP=t6vCwc)r-l1QIM#`KObCa<~98k5+{m?&(A9kCV9-mp9Sb@oS92?^$Ov7(b4~$PRrWf|YXe_{3EVlIkHl#iW z)%RzyDK5ok_@Z?S#!%ml?RdU9Oo2h0bEt+dVSBuax-hbhV@vEqJqgv|SbM$zb$lLx^89%=3f^q=7b)w0@cHH$n2Om zk$>hSADXf&s0ZG%#vCgRLd!lBlKdJ)*Q4bh~>i7iI086a1k;yZmMHDm@>rqp*%humV zHBg6ooxVafbRD%cP5ICoc13k06SX<}qplxmorId1Y4-an)IgRX?T5^23Yw}-xEMb~ zHIUCMppg`yMmF8n%P^PvOzU3M+w)IUN0MC5NK-M5dKNx{lTdqRD`w$29IW?0_FiYI z^HFOx7t?VWYS$k?-FVg3lXykcu{_j>A4M%)u{~dbn$arM48CCNYfuB(it6ZV7|rv| zZVK8&2T^Nz8g=7mwtfY*c7I3p{6FZztWJ*OtO4sPWPh4H$o4U{$Svlt);OkH1MGvL zh7_hyP|w_`wJAn*#E*LLJnItF`@9AtajmUyM6K~Q)X3gKE#Xm GwesYA`wx2V1I zeX4!`Z*f8mN3)RnA{HaD6>6#zQ60G#wL}@H2R>x$6HwPrN8MkBn!zAyAPZ3)TZ+2B z8r8w=otb~#xStbRvv*K4atd|67Nf8Z)!=#SHPlSqz(WySo95hiyo<9WAE1`tDr%2J zG2d(-(*_4&e;k6dLKH?*cpJN6)2_}9eKCsqFyw_Wd8ivpP;0pZo8T$yr>M2Qh`b2q z7V7?cXjCIjMa@iaY>ERg{QeK6ppiU<{G~OesNaDFs1dJ0jbt-6!6T@KPog?jiyGnI ztP$Ov%^Z(fqRy!Ab5I=^f$HEGWb#7BN5RF3YGe}3UexRM1?s~19>(y8&17Q+jzTuF zsX}Jgti>374}XNUs5NfZ)9x8;N<9NLfcxzE!Pr*se?A5M)=$S{xBwZ98OqbNW);{N zSD^OD%cu^#ip}v1Ho^eXhW)B5T%|TQ{M^PO* zVe6Ms9r(uj4}6gNO;m%qna*Y{LXF&unz4DPJyVTZ(zB?gyoTynbQbfk5hhb;hPkLU z9c}BSs2k^?M!F1J;yTpk*@fD4Cs9lFwLRaM^^2q430q)a)PRO!EIx@EP)RoPueA$u zLOq&~>iHVfgLk4H{2uDTXHgCQ8RPLgWSf}Ay`4SK2le0wP}hw^J!mTG!6m5IdNyjN z=k;d(^?*g3;6E*96{_JkuoWIb&Cn;d{yl06WB8AtI@kqu{Xo=%^N~N0W-79~&3x3- zZb5bAb<_a&qV7K(qM!$TWl!9|*3_H#b$Z+h)xk_m!(6P!VtfAIsMj&3pYxzN)GklN zd`v<8&;*d51hXGC@=K_Whptgj&u-!rjLzW|!6M|Jd4&%(REG@Sbm{Nh_&BOwjstNc z>iRD+0~2XP9T|>Vim_HV>UErf3^ZisQczEpJ15L0R1XiJ8aRUC9~{)w*P=G-x2T5y zh1wf2100i3o3bZr=0@4`k6E8a?S*Hsk>3C3DQE_kp>BA|x((H_eW*=y!g>bPz**Fq zUqmh8bySBM@hhYbw?*BTZ0jkQKs_Dxyg?YR_kTDAT{s!_+g^Zba3N~*tVYeqTGSt> z&8P=#x8LtXHMkcwGl#G}p29@@+SViZ)loZ1)>I5>1U)F|H5`O$XcX#qU_7cLe$;~( zqh@4@t*=FOa09C0ZK&&aq1roc{Rktd>v+x~{Q0KVU%UMUQf9xeHYw}l`UlNlu4o_oW()cP@=BO7hK4x_dH6DS-d^XwPDM!jmOq$Bw~Sxt5m9UqXM zM6cmWl1cvmsNqBxvc!Hd4K*{HiQcmR9a{e#WH`|-W~q#qJVo>yuVW3-ADm@G%cFaK zLB1gE$S^XNJVCVHeaMfAj*||Cw=#TaS#=bUa-z0O1ELMXGMSO&5i*gyOS%#5>gB{o z_L29=VWLf_V=!U!o4u-V@J5FB!zcIOM z)gk=(IG=+^68SKEhCeEJhK#fI*?5WklAI@_Nhz5{GRW`9cA_Jo@qa{N1DUKd9NOVJ zPLVd@5`TcK^)$4FUtu9xMW&LUk$$B9=t|*9l4noocjNZskKy^}%(J97d6{^~^W;%7 zf>e;75*=?7{XzO%6^>^}4>E>ilMW=GyhPk&59vkzL~=+n=}dHdNW%ykN^>5ot^O z|UhfB^MlH-(rLmnn?krkwh==hTSLPJ(^Xy~eX?sVN7^aV_w&o!gc<8oK{J>^9n O|FI2$nv(vl8vGZsorv)O delta 4824 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 diff --git a/src/richie/locale/fr_CA/LC_MESSAGES/django.po b/src/richie/locale/fr_CA/LC_MESSAGES/django.po index 6eaf604664..9fbc577010 100644 --- a/src/richie/locale/fr_CA/LC_MESSAGES/django.po +++ b/src/richie/locale/fr_CA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-20 19:27+0200\n" -"PO-Revision-Date: 2020-08-17 15:06\n" +"POT-Creation-Date: 2020-08-28 18:07+0000\n" +"PO-Revision-Date: 2020-08-28 22:08\n" "Last-Translator: \n" "Language-Team: French, Canada\n" "Language: fr_CA\n" @@ -48,8 +48,7 @@ msgstr "Définir un effort" #: apps/core/fields/effort.py:244 msgid "An effort should be a triplet: number, time unit and reference unit." -msgstr "" -"Un effort doit être un triplet: numéro / unité de temps / unité de référence." +msgstr "Un effort doit être un triplet: numéro / unité de temps / unité de référence." #: apps/core/fields/effort.py:257 msgid "An effort should be a round number of time units." @@ -61,9 +60,7 @@ msgstr "Un effort doit être positif." #: apps/core/fields/effort.py:286 msgid "The effort time unit should be shorter than the reference unit." -msgstr "" -"L'unité de temps d'effort doit être plus courte que l'unité de temps de " -"référence." +msgstr "L'unité de temps d'effort doit être plus courte que l'unité de temps de référence." #: apps/core/fields/multiselect.py:27 msgid "{:s} and {:s}" @@ -91,12 +88,8 @@ msgstr[0] "La valeur %(value)s n'est pas un choix valide." msgstr[1] "Les valeurs %(value)s ne sont pas des choix valides." #: apps/core/fields/multiselect.py:133 -msgid "" -"Storing {:d} choices could require storing a CharField of up to {:d} " -"characters. Please reduce 'max_choices' or increase 'max_length'." -msgstr "" -"L'enregistrement de {:d} choix nécessite l'enregistrement d'un CharField de " -"{:d} caractères. Veuillez réduire 'max_choices' ou augmenter 'max_length'." +msgid "Storing {:d} choices could require storing a CharField of up to {:d} characters. Please reduce 'max_choices' or increase 'max_length'." +msgstr "L'enregistrement de {:d} choix nécessite l'enregistrement d'un CharField de {:d} caractères. Veuillez réduire 'max_choices' ou augmenter 'max_length'." #: apps/core/templates/djangocms_video/default/video_player.html:22 msgid "Your browser doesn't support this video format." @@ -107,39 +100,25 @@ msgstr "Votre navigateur ne supporte pas ce format de vidéo." msgid "You are here:" msgstr "Vous êtes ici:" -#: apps/core/templates/menu/language_menu.html:5 -msgid "Language:" -msgstr "Langue:" - -#: apps/core/templates/menu/language_menu.html:11 -#, python-format -msgid "%(code)s, currently in %(name)s" -msgstr "%(code)s, actuellement en %(name)s" - -#: apps/core/templates/menu/language_menu.html:18 -#, python-format -msgid "%(code)s, switch to %(name)s" -msgstr "%(code)s, basculer vers %(name)s" - #: apps/core/templates/richie/base.html:95 #: apps/courses/templates/courses/cms/course_detail.html:130 msgid "Contact us" msgstr "Contactez-nous" -#: apps/core/templates/richie/base.html:121 +#: apps/core/templates/richie/base.html:123 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:32 msgid "Learn more" msgstr "En savoir plus" -#: apps/core/templates/richie/base.html:131 +#: apps/core/templates/richie/base.html:133 msgid "Life-changing learning!" msgstr "Un apprentissage renversant!" -#: apps/core/templates/richie/base.html:143 +#: apps/core/templates/richie/base.html:145 msgid "All Rights Reserved." msgstr "Tous droits réservés." -#: apps/core/templates/richie/base.html:147 +#: apps/core/templates/richie/base.html:149 msgid "Powered by" msgstr "Propulsé par" @@ -205,7 +184,7 @@ msgstr "Partager sur Twitter" #: apps/core/templates/social-networks/blogpost-badges.html:30 #: apps/core/templates/social-networks/course-badges.html:30 msgid "Share on Linkedin" -msgstr "" +msgstr "Partager sur Linkedin" #: apps/core/templates/social-networks/blogpost-badges.html:40 #: apps/core/templates/social-networks/course-badges.html:40 @@ -236,7 +215,7 @@ msgstr "Twitter" #: apps/core/templates/social-networks/footer-badges.html:27 #: apps/core/templates/social-networks/footer-badges.html:30 msgid "Linkedin" -msgstr "" +msgstr "Linkedin" #: apps/courses/admin.py:77 msgid "Course could not be found." @@ -250,17 +229,29 @@ msgstr "Voir le groupe d'utilisateurs" msgid "See filer folder" msgstr "Voir le dossier du classeur" +#: apps/courses/api.py:92 +msgid "Course run is not open for enrollments." +msgstr "La session de cours n'est pas ouverte pour les inscriptions." + +#: apps/courses/api.py:101 +msgid "Enrollment failed on the LMS." +msgstr "L'inscription a échoué sur le LMS." + +#: apps/courses/api.py:122 +msgid "The \"course_run\" parameter is mandatory." +msgstr "Le paramètre \"course_run\" est obligatoire." + #: apps/courses/cms_plugins.py:35 msgid "Organization" -msgstr "" +msgstr "Institution" #: apps/courses/cms_plugins.py:60 msgid "Organization by Category" -msgstr "" +msgstr "Institution par catégorie" #: apps/courses/cms_plugins.py:89 msgid "Category" -msgstr "" +msgstr "Catégorie" #: apps/courses/cms_plugins.py:115 #: apps/courses/templates/courses/cms/fragment_course_run.html:8 @@ -281,7 +272,7 @@ msgstr "Art." #: apps/courses/cms_plugins.py:208 msgid "Program" -msgstr "" +msgstr "Parcours" #: apps/courses/cms_toolbars.py:49 msgid "{!s} settings" @@ -292,12 +283,8 @@ msgid "Snapshot this page..." msgstr "Prise d'un instantanée de cette page..." #: apps/courses/cms_toolbars.py:109 -msgid "" -"This will place a copy of this page as its child and move all its courseruns " -"as children of its new copy." -msgstr "" -"Ceci copie la page vers une page enfant et les sessions de cours actuelles " -"deviennent des enfants de cette copie." +msgid "This will place a copy of this page as its child and move all its courseruns as children of its new copy." +msgstr "Ceci copie la page vers une page enfant et les sessions de cours actuelles deviennent des enfants de cette copie." #: apps/courses/cms_wizards.py:58 msgid "New page" @@ -332,14 +319,8 @@ msgid "Slug of the page in current language" msgstr "Chemin de la page dans la langue actuelle" #: apps/courses/cms_wizards.py:119 -msgid "" -"This slug is too long. The length of the path built by prepending the slug " -"of the parent page would be {:d} characters long and it should be less than " -"255" -msgstr "" -"Ce chemin est trop long. Le lien construit en faisant précéder ce chemin par " -"le lien de la page parente serait trop long de {:d} caractères et devrait " -"être de moins de 255 caractères" +msgid "This slug is too long. The length of the path built by prepending the slug of the parent page would be {:d} characters long and it should be less than 255" +msgstr "Ce chemin est trop long. Le lien construit en faisant précéder ce chemin par le lien de la page parente serait trop long de {:d} caractères et devrait être de moins de 255 caractères" #: apps/courses/cms_wizards.py:132 msgid "This slug is already in use" @@ -347,11 +328,8 @@ msgstr "Ce chemin est déjà utilisé" #: apps/courses/cms_wizards.py:150 #, python-brace-format -msgid "" -"You must first create a parent page and set its `reverse_id` to `{reverse}`." -msgstr "" -"Vous devez d’abord créer une page parente dont le 'reverse_id' est la valeur " -"'{reverse} '." +msgid "You must first create a parent page and set its `reverse_id` to `{reverse}`." +msgstr "Vous devez d’abord créer une page parente dont le 'reverse_id' est la valeur '{reverse} '." #: apps/courses/cms_wizards.py:261 msgid "New course page" @@ -366,13 +344,8 @@ msgid "Snapshot the course" msgstr "Capture instantanée de ce cours" #: apps/courses/cms_wizards.py:279 -msgid "" -"Tick this box if you want to snapshot the current version of the course and " -"link the new course run to a new version of the course." -msgstr "" -"Cocher cette case si vous voulez faire une capture instantanée de la version " -"actuelle du cours et attacher la nouvelle session de cours à une nouvelle " -"version du cours." +msgid "Tick this box if you want to snapshot the current version of the course and link the new course run to a new version of the course." +msgstr "Cocher cette case si vous voulez faire une capture instantanée de la version actuelle du cours et attacher la nouvelle session de cours à une nouvelle version du cours." #: apps/courses/cms_wizards.py:396 msgid "New course run page" @@ -504,14 +477,11 @@ msgstr "mois" #: apps/courses/helpers.py:33 msgid "You can't snapshot a snapshot." -msgstr "" -"Vous ne pouvez pas faire une capture instantanée d'une capture instantanée." +msgstr "Vous ne pouvez pas faire une capture instantanée d'une capture instantanée." #: apps/courses/helpers.py:46 msgid "You don't have sufficient permissions to snapshot this page." -msgstr "" -"Vous n'avez pas les permissions suffisantes pour faire une capture " -"instantanée de cette page." +msgstr "Vous n'avez pas les permissions suffisantes pour faire une capture instantanée de cette page." #: apps/courses/helpers.py:62 msgid "Snapshot of {:s}" @@ -522,13 +492,13 @@ msgid "blog post" msgstr "message de blog" #: apps/courses/models/blog.py:94 apps/courses/models/category.py:214 -#: apps/courses/models/course.py:577 apps/courses/models/organization.py:236 +#: apps/courses/models/course.py:579 apps/courses/models/organization.py:236 #: apps/courses/models/organization.py:265 msgid "variant" msgstr "variante" #: apps/courses/models/blog.py:97 apps/courses/models/category.py:217 -#: apps/courses/models/course.py:580 apps/courses/models/organization.py:239 +#: apps/courses/models/course.py:582 apps/courses/models/organization.py:239 #: apps/courses/models/organization.py:268 msgid "Optional glimpse variant for a custom look." msgstr "Variante de vue optionnelle pour une apparence personnalisé." @@ -581,68 +551,68 @@ msgstr "toujours ouvert" msgid "course" msgstr "cours" -#: apps/courses/models/course.py:452 -#: apps/courses/templates/courses/cms/course_run_detail.html:131 +#: apps/courses/models/course.py:453 +#: apps/courses/templates/courses/cms/course_run_detail.html:138 msgid "Resource link" msgstr "Lien de la ressource" -#: apps/courses/models/course.py:453 +#: apps/courses/models/course.py:455 msgid "course start" msgstr "début du cours" -#: apps/courses/models/course.py:454 +#: apps/courses/models/course.py:456 msgid "course end" msgstr "fin du cours" -#: apps/courses/models/course.py:456 +#: apps/courses/models/course.py:458 msgid "enrollment start" msgstr "début des inscriptions" -#: apps/courses/models/course.py:458 +#: apps/courses/models/course.py:460 msgid "enrollment end" msgstr "fin des inscriptions" -#: apps/courses/models/course.py:466 +#: apps/courses/models/course.py:468 msgid "The list of languages in which the course content is available." msgstr "Les langues dans lesquelles le contenu du cours est disponible." -#: apps/courses/models/course.py:473 +#: apps/courses/models/course.py:475 msgid "course run" msgstr "session de cours" -#: apps/courses/models/course.py:587 +#: apps/courses/models/course.py:589 msgid "course plugin" msgstr "plugin de cours" -#: apps/courses/models/course.py:600 plugins/large_banner/models.py:38 +#: apps/courses/models/course.py:602 plugins/large_banner/models.py:38 msgid "logo" msgstr "logo" -#: apps/courses/models/course.py:602 +#: apps/courses/models/course.py:604 msgid "url" msgstr "url" -#: apps/courses/models/course.py:605 apps/courses/models/course.py:629 +#: apps/courses/models/course.py:607 apps/courses/models/course.py:631 msgid "name" msgstr "nom" -#: apps/courses/models/course.py:607 apps/courses/models/course.py:630 +#: apps/courses/models/course.py:609 apps/courses/models/course.py:632 msgid "content" msgstr "contenu" -#: apps/courses/models/course.py:612 +#: apps/courses/models/course.py:614 msgid "licence" msgstr "license" -#: apps/courses/models/course.py:635 +#: apps/courses/models/course.py:637 msgid "Licence translation" msgstr "Traduction de la licence" -#: apps/courses/models/course.py:650 +#: apps/courses/models/course.py:652 msgid "description" msgstr "description" -#: apps/courses/models/course.py:654 +#: apps/courses/models/course.py:656 msgid "licence plugin" msgstr "plugin de licence" @@ -683,12 +653,8 @@ msgid "role" msgstr "rôle" #: apps/courses/models/role.py:22 -msgid "" -"A role describes all the permissions that should be granted to the user " -"group." -msgstr "" -"Un rôle décrit toutes les permissions qui doivent être accordées au groupe " -"d'utilisateurs." +msgid "A role describes all the permissions that should be granted to the user group." +msgstr "Un rôle décrit toutes les permissions qui doivent être accordées au groupe d'utilisateurs." #: apps/courses/models/role.py:29 msgid "page" @@ -722,84 +688,84 @@ msgstr "rôle de page" msgid "{:s} | {:s}" msgstr "{:s} | {:s}" -#: apps/courses/settings/__init__.py:32 +#: apps/courses/settings/__init__.py:35 msgid "Course page" msgstr "Page de cours" -#: apps/courses/settings/__init__.py:33 +#: apps/courses/settings/__init__.py:36 msgid "Course run page" msgstr "Page de session de cours" -#: apps/courses/settings/__init__.py:34 +#: apps/courses/settings/__init__.py:37 msgid "Organization list" msgstr "Liste des institutions" -#: apps/courses/settings/__init__.py:35 +#: apps/courses/settings/__init__.py:38 msgid "Organization page" msgstr "Page d'institution" -#: apps/courses/settings/__init__.py:36 +#: apps/courses/settings/__init__.py:39 msgid "Category list" msgstr "Liste des catégories" -#: apps/courses/settings/__init__.py:37 +#: apps/courses/settings/__init__.py:40 msgid "Category page" msgstr "Page de catégorie" -#: apps/courses/settings/__init__.py:38 +#: apps/courses/settings/__init__.py:41 msgid "Blog post list" msgstr "Liste des articles" -#: apps/courses/settings/__init__.py:39 +#: apps/courses/settings/__init__.py:42 msgid "Blog post page" msgstr "Page d'article" -#: apps/courses/settings/__init__.py:40 +#: apps/courses/settings/__init__.py:43 msgid "Person page" msgstr "Page de personne" -#: apps/courses/settings/__init__.py:41 +#: apps/courses/settings/__init__.py:44 msgid "Person list" msgstr "Liste des personnes" -#: apps/courses/settings/__init__.py:42 +#: apps/courses/settings/__init__.py:45 msgid "Program page" msgstr "Page de parcours" -#: apps/courses/settings/__init__.py:43 +#: apps/courses/settings/__init__.py:46 msgid "Program list" msgstr "Liste des parcours" -#: apps/courses/settings/__init__.py:44 +#: apps/courses/settings/__init__.py:47 msgid "Search" msgstr "Recherche" -#: apps/courses/settings/__init__.py:45 +#: apps/courses/settings/__init__.py:48 msgid "List of child pages" msgstr "Liste des pages enfants" -#: apps/courses/settings/__init__.py:46 +#: apps/courses/settings/__init__.py:49 msgid "Homepage" msgstr "Page d'accueil" -#: apps/courses/settings/__init__.py:47 +#: apps/courses/settings/__init__.py:50 msgid "Single column" msgstr "Colonne unique" -#: apps/courses/settings/__init__.py:54 +#: apps/courses/settings/__init__.py:57 msgid "Footer" msgstr "Pied de page" -#: apps/courses/settings/__init__.py:59 +#: apps/courses/settings/__init__.py:62 msgid "Static headline" msgstr "Titre statique" -#: apps/courses/settings/__init__.py:66 apps/courses/settings/__init__.py:87 +#: apps/courses/settings/__init__.py:69 apps/courses/settings/__init__.py:90 msgid "Main content" msgstr "Contenu principal" -#: apps/courses/settings/__init__.py:115 apps/courses/settings/__init__.py:269 -#: apps/courses/settings/__init__.py:289 +#: apps/courses/settings/__init__.py:118 apps/courses/settings/__init__.py:272 +#: apps/courses/settings/__init__.py:292 #: apps/courses/templates/courses/cms/blogpost_detail.html:96 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:41 @@ -810,136 +776,130 @@ msgstr "Contenu principal" msgid "Cover" msgstr "Couverture" -#: apps/courses/settings/__init__.py:120 +#: apps/courses/settings/__init__.py:123 msgid "Catch phrase" msgstr "Slogan" -#: apps/courses/settings/__init__.py:125 +#: apps/courses/settings/__init__.py:128 msgid "Teaser" msgstr "Accroche" -#: apps/courses/settings/__init__.py:130 +#: apps/courses/settings/__init__.py:133 msgid "About the course" msgstr "À propos du cours" -#: apps/courses/settings/__init__.py:134 +#: apps/courses/settings/__init__.py:137 msgid "What you will learn" msgstr "Ce que vous apprendrez" -#: apps/courses/settings/__init__.py:138 +#: apps/courses/settings/__init__.py:141 msgid "Format" msgstr "Format" -#: apps/courses/settings/__init__.py:142 +#: apps/courses/settings/__init__.py:145 msgid "Prerequisites" msgstr "Prérequis" -#: apps/courses/settings/__init__.py:146 +#: apps/courses/settings/__init__.py:149 msgid "Team" msgstr "Équipe" -#: apps/courses/settings/__init__.py:150 +#: apps/courses/settings/__init__.py:153 msgid "Plan" msgstr "Plan" -#: apps/courses/settings/__init__.py:155 +#: apps/courses/settings/__init__.py:158 msgid "Complementary information" msgstr "Informations complémentaires" -#: apps/courses/settings/__init__.py:167 +#: apps/courses/settings/__init__.py:170 #: apps/courses/templates/courses/cms/course_detail.html:380 -#: apps/courses/templates/courses/cms/course_run_detail.html:267 +#: apps/courses/templates/courses/cms/course_run_detail.html:274 #: apps/courses/templates/courses/cms/fragment_course_relations.html:47 msgid "License for the course content" msgstr "Licence pour le contenu du cours" -#: apps/courses/settings/__init__.py:172 +#: apps/courses/settings/__init__.py:175 #: apps/courses/templates/courses/cms/course_detail.html:389 -#: apps/courses/templates/courses/cms/course_run_detail.html:274 +#: apps/courses/templates/courses/cms/course_run_detail.html:281 #: apps/courses/templates/courses/cms/fragment_course_relations.html:56 msgid "License for the content created by course participants" msgstr "Licence pour le contenu créé par les participants du cours" -#: apps/courses/settings/__init__.py:177 apps/courses/settings/__init__.py:205 -#: apps/courses/settings/__init__.py:236 apps/courses/settings/__init__.py:265 +#: apps/courses/settings/__init__.py:180 apps/courses/settings/__init__.py:208 +#: apps/courses/settings/__init__.py:239 apps/courses/settings/__init__.py:268 msgid "Categories" msgstr "Catégories" -#: apps/courses/settings/__init__.py:181 apps/courses/settings/__init__.py:225 +#: apps/courses/settings/__init__.py:184 apps/courses/settings/__init__.py:228 msgid "Icon" msgstr "Icône" -#: apps/courses/settings/__init__.py:186 apps/courses/settings/__init__.py:255 +#: apps/courses/settings/__init__.py:189 apps/courses/settings/__init__.py:258 #: apps/courses/templates/courses/cms/fragment_course_relations.html:27 -#: apps/courses/templates/courses/cms/person_detail.html:89 +#: apps/courses/templates/courses/cms/person_detail.html:91 #: apps/search/defaults.py:104 msgid "Organizations" msgstr "Institutions" -#: apps/courses/settings/__init__.py:190 +#: apps/courses/settings/__init__.py:193 msgid "Assessment and Certification" msgstr "Évaluation et Attestation" -#: apps/courses/settings/__init__.py:195 apps/courses/settings/__init__.py:215 +#: apps/courses/settings/__init__.py:198 apps/courses/settings/__init__.py:218 #: apps/courses/templates/courses/cms/category_detail.html:16 -#: apps/courses/templates/courses/cms/organization_detail.html:17 msgid "Banner" msgstr "Bannière" -#: apps/courses/settings/__init__.py:200 apps/courses/settings/__init__.py:220 +#: apps/courses/settings/__init__.py:203 apps/courses/settings/__init__.py:223 #: apps/courses/templates/courses/cms/category_detail.html:34 #: apps/courses/templates/courses/cms/fragment_category_glimpse.html:40 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:10 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:43 -#: apps/courses/templates/courses/cms/organization_detail.html:37 msgid "Logo" msgstr "Logo" -#: apps/courses/settings/__init__.py:209 apps/courses/settings/__init__.py:230 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:31 +#: apps/courses/settings/__init__.py:212 apps/courses/settings/__init__.py:233 +#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:33 msgid "Description" msgstr "Description" -#: apps/courses/settings/__init__.py:240 -#: apps/courses/templates/courses/cms/fragment_person_glimpse.html:10 -#: apps/courses/templates/courses/cms/person_detail.html:48 +#: apps/courses/settings/__init__.py:243 msgid "Portrait" msgstr "Portrait" -#: apps/courses/settings/__init__.py:245 +#: apps/courses/settings/__init__.py:248 msgid "Bio" msgstr "Bio" -#: apps/courses/settings/__init__.py:250 +#: apps/courses/settings/__init__.py:253 msgid "Main Content" -msgstr "" +msgstr "Contenu principal" -#: apps/courses/settings/__init__.py:260 +#: apps/courses/settings/__init__.py:263 msgid "Author" msgstr "Auteur" -#: apps/courses/settings/__init__.py:274 apps/courses/settings/__init__.py:294 +#: apps/courses/settings/__init__.py:277 apps/courses/settings/__init__.py:297 msgid "Excerpt" msgstr "Extrait" -#: apps/courses/settings/__init__.py:279 apps/courses/settings/__init__.py:299 +#: apps/courses/settings/__init__.py:282 apps/courses/settings/__init__.py:302 msgid "Body" msgstr "Corps" -#: apps/courses/settings/__init__.py:283 +#: apps/courses/settings/__init__.py:286 msgid "Headline" msgstr "Titre" -#: apps/courses/settings/__init__.py:303 -#: apps/courses/templates/courses/cms/person_detail.html:106 +#: apps/courses/settings/__init__.py:306 +#: apps/courses/templates/courses/cms/person_detail.html:108 msgid "Courses" msgstr "Cours" -#: apps/courses/settings/__init__.py:385 +#: apps/courses/settings/__init__.py:388 msgid "Button caesura" msgstr "Bouton caesura" -#: apps/courses/settings/__init__.py:387 +#: apps/courses/settings/__init__.py:390 msgid "Full width" msgstr "Pleine largeur" @@ -990,22 +950,18 @@ msgid "Sub categories" msgstr "Sous-catégories" #: apps/courses/templates/courses/cms/category_detail.html:99 -#: apps/courses/templates/courses/cms/organization_detail.html:84 +#: apps/courses/templates/courses/cms/organization_detail.html:88 #: apps/courses/templates/courses/cms/program_detail.html:61 msgid "Related courses" msgstr "Cours offerts" #: apps/courses/templates/courses/cms/category_detail.html:110 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(category_title)s\n" +msgid "\n" +" See all courses related to %(category_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(category_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(category_title)s\n" " " #: apps/courses/templates/courses/cms/category_detail.html:116 @@ -1021,7 +977,7 @@ msgid "Related blogposts" msgstr "Billets de blog liés" #: apps/courses/templates/courses/cms/category_detail.html:175 -#: apps/courses/templates/courses/cms/organization_detail.html:112 +#: apps/courses/templates/courses/cms/organization_detail.html:116 msgid "Related persons" msgstr "Personnes liées" @@ -1030,7 +986,7 @@ msgid "No categories" msgstr "Pas de catégories" #: apps/courses/templates/courses/cms/course_detail.html:40 -#: apps/courses/templates/courses/cms/organization_detail.html:65 +#: apps/courses/templates/courses/cms/organization_detail.html:69 #: apps/courses/templates/courses/cms/person_detail.html:29 msgid "No associated categories" msgstr "Aucune catégorie associée" @@ -1055,12 +1011,10 @@ msgstr "Effort :" #: apps/courses/templates/courses/cms/course_detail.html:154 #, python-format -msgid "" -"\n" +msgid "\n" " Archived on %(creation_date)s\n" " " -msgstr "" -"\n" +msgstr "\n" " Archivé le %(creation_date)s\n" " " @@ -1081,24 +1035,24 @@ msgid "course cover image" msgstr "image de couverture du cours" #: apps/courses/templates/courses/cms/course_detail.html:193 -#: apps/courses/templates/courses/cms/course_run_detail.html:158 +#: apps/courses/templates/courses/cms/course_run_detail.html:165 msgctxt "course_detail__title" msgid "What you will learn" msgstr "Ce que vous apprendrez" #: apps/courses/templates/courses/cms/course_detail.html:194 -#: apps/courses/templates/courses/cms/course_run_detail.html:159 +#: apps/courses/templates/courses/cms/course_run_detail.html:166 msgid "At the end of this course, you will be able to:" msgstr "À la fin de ce cours, vous pourrez :" #: apps/courses/templates/courses/cms/course_detail.html:203 -#: apps/courses/templates/courses/cms/course_run_detail.html:168 +#: apps/courses/templates/courses/cms/course_run_detail.html:175 msgctxt "course_detail__title" msgid "Description" msgstr "Description" #: apps/courses/templates/courses/cms/course_detail.html:212 -#: apps/courses/templates/courses/cms/course_run_detail.html:177 +#: apps/courses/templates/courses/cms/course_run_detail.html:184 msgctxt "course_detail__title" msgid "Format" msgstr "Format" @@ -1108,7 +1062,7 @@ msgid "How is the course structured?" msgstr "Quelle est la structure du cours ?" #: apps/courses/templates/courses/cms/course_detail.html:223 -#: apps/courses/templates/courses/cms/course_run_detail.html:186 +#: apps/courses/templates/courses/cms/course_run_detail.html:193 msgctxt "course_detail__title" msgid "Prerequisites" msgstr "Prérequis" @@ -1118,7 +1072,7 @@ msgid "What are the prerequisites to follow this course?" msgstr "Quels sont les prérequis pour suivre ce cours ?" #: apps/courses/templates/courses/cms/course_detail.html:234 -#: apps/courses/templates/courses/cms/course_run_detail.html:195 +#: apps/courses/templates/courses/cms/course_run_detail.html:202 msgctxt "course_detail__title" msgid "Assessment and certification" msgstr "Évaluation et attestation" @@ -1128,7 +1082,7 @@ msgid "How is progress evaluated and/or certified?" msgstr "Comment les étudiants sont ils évalués ou attestés ?" #: apps/courses/templates/courses/cms/course_detail.html:249 -#: apps/courses/templates/courses/cms/course_run_detail.html:206 +#: apps/courses/templates/courses/cms/course_run_detail.html:213 msgctxt "course_detail__title" msgid "Course plan" msgstr "Plan de cours" @@ -1167,10 +1121,10 @@ msgid "Archived" msgstr "Archivées" #: apps/courses/templates/courses/cms/course_detail.html:333 -#: apps/courses/templates/courses/cms/course_run_detail.html:225 +#: apps/courses/templates/courses/cms/course_run_detail.html:232 msgctxt "course_detail__title" msgid "Course team" -msgstr "Équipe pédagogique" +msgstr "Équipe du cours" #: apps/courses/templates/courses/cms/course_detail.html:338 #: apps/courses/templates/courses/cms/fragment_course_relations.html:13 @@ -1178,7 +1132,7 @@ msgid "Who are the teachers in the course team?" msgstr "Qui sont les enseignants de l’équipe pédagogique ?" #: apps/courses/templates/courses/cms/course_detail.html:352 -#: apps/courses/templates/courses/cms/course_run_detail.html:242 +#: apps/courses/templates/courses/cms/course_run_detail.html:249 msgctxt "course_detail__title" msgid "Organizations" msgstr "Institutions" @@ -1189,7 +1143,7 @@ msgid "What are the organizations publishing this course?" msgstr "Quelles sont les institutions publiant ce cours?" #: apps/courses/templates/courses/cms/course_detail.html:377 -#: apps/courses/templates/courses/cms/course_run_detail.html:264 +#: apps/courses/templates/courses/cms/course_run_detail.html:271 msgctxt "course_detail__title" msgid "License" msgstr "Licence" @@ -1202,8 +1156,7 @@ msgstr "Quelle est la licence pour le contenu du cours ?" #: apps/courses/templates/courses/cms/course_detail.html:392 #: apps/courses/templates/courses/cms/fragment_course_relations.html:59 msgid "What is the license for the content created by course participants?" -msgstr "" -"Quelle est la licence pour le contenu créé par les participants du cours ?" +msgstr "Quelle est la licence pour le contenu créé par les participants du cours ?" #: apps/courses/templates/courses/cms/course_run_detail.html:99 msgid "Enrollment starts" @@ -1263,25 +1216,21 @@ msgstr "Institution principale" msgid "main organization logo" msgstr "logo de l'organisation principale" -#: apps/courses/templates/courses/cms/organization_detail.html:30 +#: apps/courses/templates/courses/cms/organization_detail.html:32 msgid "organization banner" msgstr "bannière d'institution" -#: apps/courses/templates/courses/cms/organization_detail.html:49 +#: apps/courses/templates/courses/cms/organization_detail.html:53 msgid "organization logo" msgstr "logo de l'institution" -#: apps/courses/templates/courses/cms/organization_detail.html:94 +#: apps/courses/templates/courses/cms/organization_detail.html:98 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(organization_title)s\n" +msgid "\n" +" See all courses related to %(organization_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(organization_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(organization_title)s\n" " " #: apps/courses/templates/courses/cms/organization_list.html:19 @@ -1292,29 +1241,25 @@ msgstr "Pas encore d'institution" msgid "Enter your bio here..." msgstr "Saisissez ici votre bio..." -#: apps/courses/templates/courses/cms/person_detail.html:61 +#: apps/courses/templates/courses/cms/person_detail.html:63 #, python-format msgid "%(title)s avatar" msgstr "avatar de %(title)s" -#: apps/courses/templates/courses/cms/person_detail.html:92 +#: apps/courses/templates/courses/cms/person_detail.html:94 msgid "No associated organizations" msgstr "Aucune institution associée" -#: apps/courses/templates/courses/cms/person_detail.html:116 +#: apps/courses/templates/courses/cms/person_detail.html:118 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(person_title)s\n" +msgid "\n" +" See all courses related to %(person_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(person_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(person_title)s\n" " " -#: apps/courses/templates/courses/cms/person_detail.html:134 +#: apps/courses/templates/courses/cms/person_detail.html:136 msgid "Blogposts" msgstr "Messages de blog" @@ -1404,7 +1349,7 @@ msgstr "Rangée complète" #: plugins/glimpse/defaults.py:22 msgid "Quote" -msgstr "" +msgstr "Citation" #: plugins/glimpse/models.py:22 plugins/nesteditem/models.py:20 msgid "Variant" @@ -1444,12 +1389,8 @@ msgid "HTML Sitemap" msgstr "Plan de site HTML" #: plugins/html_sitemap/cms_plugins.py:72 -msgid "" -"Press save to create a site map. You will then be able to add a child plugin " -"for each subtree in your sitemap." -msgstr "" -"Appuyez sur «Enregistrer» pour créer un plan de site. Vous pourrez ensuite " -"ajouter un plugin enfant pour chaque sous-arbre de votre plan de site." +msgid "Press save to create a site map. You will then be able to add a child plugin for each subtree in your sitemap." +msgstr "Appuyez sur «Enregistrer» pour créer un plan de site. Vous pourrez ensuite ajouter un plugin enfant pour chaque sous-arbre de votre plan de site." #: plugins/html_sitemap/cms_plugins.py:82 msgid "HTML sitemap page" @@ -1460,46 +1401,32 @@ msgid "root page" msgstr "page racine" #: plugins/html_sitemap/models.py:27 -msgid "" -"This page will be at the root of your sitemap (or its children if the " -"\"include root page\" flag is unticked)." -msgstr "" -"Cette page sera à la racine de votre plan de site (ou de ses enfants si " -"«inclure la page racine» n'a pas été sélectionné)." +msgid "This page will be at the root of your sitemap (or its children if the \"include root page\" flag is unticked)." +msgstr "Cette page sera à la racine de votre plan de site (ou de ses enfants si «inclure la page racine» n'a pas été sélectionné)." #: plugins/html_sitemap/models.py:34 msgid "max depth" msgstr "profondeur maximale" #: plugins/html_sitemap/models.py:36 -msgid "" -"Limit the level of nesting that your sitemap will contain below this page. " -"An empty field or 0 equals to no limit." -msgstr "" -"Limitez la profondeur de votre plan de site sous cette page. Un champ vide " -"ou égal à 0 correspond à une profondeur illimitée." +msgid "Limit the level of nesting that your sitemap will contain below this page. An empty field or 0 equals to no limit." +msgstr "Limitez la profondeur de votre plan de site sous cette page. Un champ vide ou égal à 0 correspond à une profondeur illimitée." #: plugins/html_sitemap/models.py:44 msgid "in navigation" msgstr "dans le menu" #: plugins/html_sitemap/models.py:46 -msgid "" -"Tick to exclude from sitemap the pages that are excluded from navigation." -msgstr "" -"Sélectionner pour exclure du plan de site les pages qui sont exclues du menu." +msgid "Tick to exclude from sitemap the pages that are excluded from navigation." +msgstr "Sélectionner pour exclure du plan de site les pages qui sont exclues du menu." #: plugins/html_sitemap/models.py:51 msgid "include root page" msgstr "inclure la page racine" #: plugins/html_sitemap/models.py:53 -msgid "" -"Tick to include the root page and its descendants. Untick to include only " -"its descendants." -msgstr "" -"Sélectionner pour inclure la page racine et ses descendants. Ne pas " -"sélectionner pour n'inclure que les descendants de la page racine." +msgid "Tick to include the root page and its descendants. Untick to include only its descendants." +msgstr "Sélectionner pour inclure la page racine et ses descendants. Ne pas sélectionner pour n'inclure que les descendants de la page racine." #: plugins/html_sitemap/models.py:60 msgid "HTML Sitemaps" @@ -1591,7 +1518,7 @@ msgstr "Schéma sénaire" #: plugins/section/defaults.py:18 msgid "Septenary scheme" -msgstr "" +msgstr "Schéma septénaire" #: plugins/section/defaults.py:19 msgid "Item tiles" @@ -1615,15 +1542,8 @@ msgstr "corps" #: plugins/simple_text_ckeditor/validators.py:16 #, python-format -msgid "" -"Ensure this text has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this text has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assurez-vous que ce texte a au maximum %(limit_value)d caractère (il a " -"%(show_value)d)." -msgstr[1] "" -"Assurez-vous que ce texte a au maximum %(limit_value)d caractères (il a " -"%(show_value)d)." +msgid "Ensure this text has at most %(limit_value)d character (it has %(show_value)d)." +msgid_plural "Ensure this text has at most %(limit_value)d characters (it has %(show_value)d)." +msgstr[0] "Assurez-vous que ce texte a au maximum %(limit_value)d caractère (il a %(show_value)d)." +msgstr[1] "Assurez-vous que ce texte a au maximum %(limit_value)d caractères (il a %(show_value)d)." + diff --git a/src/richie/locale/fr_FR/LC_MESSAGES/django.mo b/src/richie/locale/fr_FR/LC_MESSAGES/django.mo index 72d60ffb94a944d001fe826504de727ece4ada33..cac9f7fbf4c3d8c75196959992da9b18a57c39a4 100644 GIT binary patch delta 8160 zcmaLb3w+P@9>?+T7&e>R3>#biyST+>gqho1HgX@5%iR99fB9#IT_~l0?$k-OA%x1A zGR{dF$x1>}N`)dhxpWZ~(oLe{yx#xc*CXdV>iiyk{?E_%`}_UA*Wd5|pN{MeShGLC zcOoosso@wGU`!N7g&1>Ed0o{Svpm|ELR^8O2{2rpq{{0%j*m{?<4Vi&Aze8%LGgi=xHuP|mdR;0WLtK*~ARj2`N#6a9?>&tEV z9aKB-V^utk8o(K>h8L~BBV#ckaRmLF1d>QhLESh6tKb-{jCWyuoP_L-S!i8?H7GxW zZSX}@M_<|VKcd>Xj@qIs?1NUa8mhf`^hJ=Ql4xm$Bim^Tu{kb5oqq$h)W@(9UO@gc z;S|_LlY;7K1nNFFY6~Al4R{S|rqwZhSg!Na&YAW2BQod&C79m)}?0VLY`j;M+B#vshJX50Enw(LW#)IueCTDPEHi$fTQHJE-S z3`ccbAJtJTYCtV97&}b*aM$ykqRYd`~$c6{belGapYVhAoq z?b%9H1M5-GNI9y*{TPBLP+RZ~YG9^?b6qg%d?ac>jZiDn8a1(W)I&WQ8|eL?MxuwS z2-R^Zs>5xzybsmD$JVo`fn2rLNN|=q4mIFJ)PTC89^T%l>vNH@n%Ss_@dXUk`+tx` zBRYX<;IcJ1(HT$!YcmYyd@@$WZm0(P+48-prJaLXfrqWjP9Zm7H&nKMp|ww z_Sg&F#%k0b##}s&TA>VHk?MFis=;X(iVs>JK}}#e>bec6hj=^c3umW2|0&j>{9Q}d zUwe4XR)q1SsN+~`5~`str~&jxJ*3%K5$B+0ya3hCVyuZJr~z(8b+p6QA3(Kt0@cs? zB-Xzs$yIwIw3Rc12G#`B`Bc=BW}t2yh3eoQ)E?)du6q)-*XvOOdJT2oA=E%l;C#G* z8c3m!M_*eo7d4|tQG4?QYG%vq`PHZfp2Jjp+4>76Qf_yfvoapcp*$BG;3Zs%)%bz% z;(DBeVQqOZ(YK6bB*`h%S7t}P3^X%0YHz*R7^fk>BW5)Yz+I^8YVuMu1`~ly%Jjt^ zI1}}7?!wx59-Cr7duIi2MRwh1+LNe(38=k&3iVA`j{Wd5a-m5}aaO7TwbV0F57%PU zTd@SS6YCY!*3|FFudd$zb|m^j7-F4T zIf}LLbJWB16KZ8DvV0m)xHSf~Qi-T`+Sqam`g9_dL^Dc9H8=#d0v=SulTbH4fOT;e zYRQ+QR%k8i`chPTn{E9z)P1j`wqOrxVDF)xiDRAEe|31?R$NCH<=UO?NKqZ7pgQV- z8fYKX3JgbeoP}y|B5J@sRL6@^_ZOp9ZZ+x|C`GO8_Rg%o8rVUFZrF>O!G2UnA6ieK z8u$*&1Ng%Or&BKDUAzyQcQqy-*I_q|8P zqDbapBCbU(^+D89eu7%UudyOtLUr&n>RG79sP)jrqXy6xbzetY?t^MC1GR#~P#tF> zudC1Gl4xdgu{l18{)YuM;`dMueuLVoD_98wdOAy61@%zfirTVdjKFkTKL)ku6H$M} z-jBNfajZ)JW*Lc#if6Gg?#38Ahb=Iqm$Mb^QA;`=<8dX{$DOGAK1EF+;CAQ!1k{WN zqP92_HPIqlzYc@+{%=--<@UrL)JQ)-E%lf98eT(f(e~cXfX|`^5ZuREnRwL9TcA2l z#~>VJ&yPe6a6Ia*TZ}%<nY>)hB0wIu_v3XVoCu?HJs zA*zF=s2M+R%jM{Q|55iH>&yD9;xrX%@B;D`V1CC~?9k8owHu8Z&}!7)m7r#}0Yk71 zHGrL{hCi?#MLnD+Q4{zc)lX1==em0RS%2NokP2PU#GXh+4Wt*ka4zb{X&uhOH&O3# z&jHRrMxq9mg=)u(fjA4b67#Lg?fDJJ@0!`|BS|H>ifW+aKUCR= z4RDh!zl(ZUKga4AnBfexHddqD8Y8hQ*2IyhEt!aF&-WmSi)1OP;g?ab-68ZZ8HQ30 z8sv0P2h~74YGBEzj{2e+9D#axr(jK-hq`_lYRgKkFCp#w%&R0?fy0=HwFf&Lbw>?k z5NZaKQNQntum(Pj>Ua~@!X2m%KfokBg;lW@Uw_()DAa&sP}jA^V7>o6NpxWb>cULa zNXOZ-7u8WN>beK82p6DUzxsFB22uC*#4sFa>&Ihl%K4}XEI?hi8sq5SJZDerN6qXM zhU53BkyaY&tVmr{eIr}$fLfv6*a+`NJX_9Lbjn#%4Ny-5$V&l%qyDe~PU`4d8v$jE~sz7nnf#Tg<}9(ar#8ViM)~ z*b28{e>`W)$^52k<-IXFk_t4;e6BiiYd!|c0GQjesn+u7?_)ZVs5UC;;hRt!b0z(`aB<1q>+pjKoa zY63;5EnI8MWvH3%LGAfT)Rvt``th0TB>D~yAMfnB3)N8*RD&&114%_S)CV=7yHEp} zh`N6&Y9cdHPxn&PL`rS_>$d&~s@-qU|NsAfBT+*EY@mK*s-Vi%Q8Nq2x)_5RSbNkA zx}pX$7#rd+RL9d%?L30Iz6f>QO6${Dk#Y(8fB)B$Xs0TH-)rI?I|i=w`*kB>YGw-CDt z9Ty$^pJ{x)M7&M3=GxEwwfwbMgkW7)F7waQ|1Q>Z1ugpiQ{`h$=Y7*ap*aA>}mOi@{g}`x4(0=ZVJD z{R>|p+L7OQ{*;-Ih;GCt6*xNiFK}{w-bOi)sA%i;hHN96=p;u5@iLK2yhSu8MiQ%u zrrh%c#^dWahR`ui`>*46oQlIyuUNFL*L!u1ayR@N4kFePHxB(q6cgVO`jXO7K(z5^ z{4IbF5I@@T4XTjLCVU5NO(Wc4bD;~nsfeMXoxN}X`BUU&#Ban*Lf?qDQa^|oNF-9$5kS5aTM@4jEs2KI z%|#sziGBXen0KsE);sn7ccpNM*h9QWoFS$VI_lDpj%pZ7tS4`eN&Z^r-~Ki=&ybAe zTqeo^?7wF$&JTUV2On#~*FRZZudtvHS8Hs69SE^bcz zPTmHq5;{WhVf>KjOJ2p+7wM!u8ck30mTP9H!gl4I=U<_IyM|(*aB}sjwi5Ne!eF^f08G+z~#=(c4c|;3cPoDv)l#V$+_lF@95!g z#x*6!{r@k>E6mNmxdq=Jo!TY}Jnl(1U-8EUX`cM7Jnxjh9z@T{d6V1)e|~d6Z(eC7%jJ!Ri&ag}mk85h7$2DzoVZO_qljE7; Ta!;9(=gG~^^OQx8+g{;67Kqih delta 7561 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 diff --git a/src/richie/locale/fr_FR/LC_MESSAGES/django.po b/src/richie/locale/fr_FR/LC_MESSAGES/django.po index ff64cbcb0b..72991aa672 100644 --- a/src/richie/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/richie/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-20 19:27+0200\n" -"PO-Revision-Date: 2020-08-17 14:23\n" +"POT-Creation-Date: 2020-08-28 18:07+0000\n" +"PO-Revision-Date: 2020-08-28 22:08\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -48,8 +48,7 @@ msgstr "Définir un effort" #: apps/core/fields/effort.py:244 msgid "An effort should be a triplet: number, time unit and reference unit." -msgstr "" -"Un effort doit être un triplet: numéro / unité de temps / unité de référence." +msgstr "Un effort doit être un triplet: numéro / unité de temps / unité de référence." #: apps/core/fields/effort.py:257 msgid "An effort should be a round number of time units." @@ -61,9 +60,7 @@ msgstr "Un effort doit être positif." #: apps/core/fields/effort.py:286 msgid "The effort time unit should be shorter than the reference unit." -msgstr "" -"L'unité de temps d'effort doit être plus courte que l'unité de temps de " -"référence." +msgstr "L'unité de temps d'effort doit être plus courte que l'unité de temps de référence." #: apps/core/fields/multiselect.py:27 msgid "{:s} and {:s}" @@ -91,12 +88,8 @@ msgstr[0] "La valeur %(value)s n'est pas un choix valide." msgstr[1] "Les valeurs %(value)s ne sont pas des choix valides." #: apps/core/fields/multiselect.py:133 -msgid "" -"Storing {:d} choices could require storing a CharField of up to {:d} " -"characters. Please reduce 'max_choices' or increase 'max_length'." -msgstr "" -"L'enregistrement de {:d} choix nécessite l'enregistrement d'un CharField de " -"{:d} caractères. Veuillez réduire 'max_choices' ou augmenter 'max_length'." +msgid "Storing {:d} choices could require storing a CharField of up to {:d} characters. Please reduce 'max_choices' or increase 'max_length'." +msgstr "L'enregistrement de {:d} choix nécessite l'enregistrement d'un CharField de {:d} caractères. Veuillez réduire 'max_choices' ou augmenter 'max_length'." #: apps/core/templates/djangocms_video/default/video_player.html:22 msgid "Your browser doesn't support this video format." @@ -107,39 +100,25 @@ msgstr "Votre navigateur ne supporte pas ce format de vidéo." msgid "You are here:" msgstr "Vous êtes ici:" -#: apps/core/templates/menu/language_menu.html:5 -msgid "Language:" -msgstr "Langue:" - -#: apps/core/templates/menu/language_menu.html:11 -#, python-format -msgid "%(code)s, currently in %(name)s" -msgstr "%(code)s, actuellement en %(name)s" - -#: apps/core/templates/menu/language_menu.html:18 -#, python-format -msgid "%(code)s, switch to %(name)s" -msgstr "%(code)s, basculer vers %(name)s" - #: apps/core/templates/richie/base.html:95 #: apps/courses/templates/courses/cms/course_detail.html:130 msgid "Contact us" msgstr "Nous contacter" -#: apps/core/templates/richie/base.html:121 +#: apps/core/templates/richie/base.html:123 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:32 msgid "Learn more" msgstr "En savoir plus" -#: apps/core/templates/richie/base.html:131 +#: apps/core/templates/richie/base.html:133 msgid "Life-changing learning!" msgstr "Apprendre pour changer de vie!" -#: apps/core/templates/richie/base.html:143 +#: apps/core/templates/richie/base.html:145 msgid "All Rights Reserved." msgstr "Tous droits réservés." -#: apps/core/templates/richie/base.html:147 +#: apps/core/templates/richie/base.html:149 msgid "Powered by" msgstr "Propulsé par" @@ -250,6 +229,18 @@ msgstr "Voir le groupe d'utilisateurs" msgid "See filer folder" msgstr "Voir le dossier du classeur" +#: apps/courses/api.py:92 +msgid "Course run is not open for enrollments." +msgstr "La session de cours n'est pas ouverte aux inscriptions." + +#: apps/courses/api.py:101 +msgid "Enrollment failed on the LMS." +msgstr "L'inscription a échoué sur le LMS." + +#: apps/courses/api.py:122 +msgid "The \"course_run\" parameter is mandatory." +msgstr "Le paramètre \"course_run\" est obligatoire." + #: apps/courses/cms_plugins.py:35 msgid "Organization" msgstr "Établissement" @@ -292,12 +283,8 @@ msgid "Snapshot this page..." msgstr "Capture instantanée de cette page..." #: apps/courses/cms_toolbars.py:109 -msgid "" -"This will place a copy of this page as its child and move all its courseruns " -"as children of its new copy." -msgstr "" -"Ceci copie la page vers une page enfant et les sessions de cours actuelles " -"deviennent des enfants de cette copie." +msgid "This will place a copy of this page as its child and move all its courseruns as children of its new copy." +msgstr "Ceci copie la page vers une page enfant et les sessions de cours actuelles deviennent des enfants de cette copie." #: apps/courses/cms_wizards.py:58 msgid "New page" @@ -332,14 +319,8 @@ msgid "Slug of the page in current language" msgstr "Chemin de la page dans la langue actuelle" #: apps/courses/cms_wizards.py:119 -msgid "" -"This slug is too long. The length of the path built by prepending the slug " -"of the parent page would be {:d} characters long and it should be less than " -"255" -msgstr "" -"Ce chemin est trop long. Le lien construit en faisant précéder ce chemin par " -"le lien de la page parente serait trop long de {:d} caractères et devrait " -"être de moins de 255 caractères" +msgid "This slug is too long. The length of the path built by prepending the slug of the parent page would be {:d} characters long and it should be less than 255" +msgstr "Ce chemin est trop long. Le lien construit en faisant précéder ce chemin par le lien de la page parente serait trop long de {:d} caractères et devrait être de moins de 255 caractères" #: apps/courses/cms_wizards.py:132 msgid "This slug is already in use" @@ -347,11 +328,8 @@ msgstr "Ce chemin est déjà utilisé" #: apps/courses/cms_wizards.py:150 #, python-brace-format -msgid "" -"You must first create a parent page and set its `reverse_id` to `{reverse}`." -msgstr "" -"Vous devez d’abord créer une page parente dont le 'reverse_id' est la valeur " -"'{reverse} '." +msgid "You must first create a parent page and set its `reverse_id` to `{reverse}`." +msgstr "Vous devez d’abord créer une page parente dont le 'reverse_id' est la valeur '{reverse} '." #: apps/courses/cms_wizards.py:261 msgid "New course page" @@ -366,13 +344,8 @@ msgid "Snapshot the course" msgstr "Capture instantanée de ce cours" #: apps/courses/cms_wizards.py:279 -msgid "" -"Tick this box if you want to snapshot the current version of the course and " -"link the new course run to a new version of the course." -msgstr "" -"Cocher cette case si vous voulez faire une capture instantanée de la version " -"actuelle du cours et attacher la nouvelle session de cours à une nouvelle " -"version du cours." +msgid "Tick this box if you want to snapshot the current version of the course and link the new course run to a new version of the course." +msgstr "Cocher cette case si vous voulez faire une capture instantanée de la version actuelle du cours et attacher la nouvelle session de cours à une nouvelle version du cours." #: apps/courses/cms_wizards.py:396 msgid "New course run page" @@ -504,14 +477,11 @@ msgstr "mois" #: apps/courses/helpers.py:33 msgid "You can't snapshot a snapshot." -msgstr "" -"Vous ne pouvez pas faire une capture instantanée d'une capture instantanée." +msgstr "Vous ne pouvez pas faire une capture instantanée d'une capture instantanée." #: apps/courses/helpers.py:46 msgid "You don't have sufficient permissions to snapshot this page." -msgstr "" -"Vous n'avez pas les permissions suffisantes pour faire une capture " -"instantanée de cette page." +msgstr "Vous n'avez pas les permissions suffisantes pour faire une capture instantanée de cette page." #: apps/courses/helpers.py:62 msgid "Snapshot of {:s}" @@ -522,13 +492,13 @@ msgid "blog post" msgstr "billet de blog" #: apps/courses/models/blog.py:94 apps/courses/models/category.py:214 -#: apps/courses/models/course.py:577 apps/courses/models/organization.py:236 +#: apps/courses/models/course.py:579 apps/courses/models/organization.py:236 #: apps/courses/models/organization.py:265 msgid "variant" msgstr "variante" #: apps/courses/models/blog.py:97 apps/courses/models/category.py:217 -#: apps/courses/models/course.py:580 apps/courses/models/organization.py:239 +#: apps/courses/models/course.py:582 apps/courses/models/organization.py:239 #: apps/courses/models/organization.py:268 msgid "Optional glimpse variant for a custom look." msgstr "Variante d'aperçu optionnelle pour un affichage personnalisé." @@ -581,68 +551,68 @@ msgstr "toujours ouvert" msgid "course" msgstr "cours" -#: apps/courses/models/course.py:452 -#: apps/courses/templates/courses/cms/course_run_detail.html:131 +#: apps/courses/models/course.py:453 +#: apps/courses/templates/courses/cms/course_run_detail.html:138 msgid "Resource link" msgstr "Lien de la ressource" -#: apps/courses/models/course.py:453 +#: apps/courses/models/course.py:455 msgid "course start" msgstr "début du cours" -#: apps/courses/models/course.py:454 +#: apps/courses/models/course.py:456 msgid "course end" msgstr "fin du cours" -#: apps/courses/models/course.py:456 +#: apps/courses/models/course.py:458 msgid "enrollment start" msgstr "début des inscriptions" -#: apps/courses/models/course.py:458 +#: apps/courses/models/course.py:460 msgid "enrollment end" msgstr "fin des inscriptions" -#: apps/courses/models/course.py:466 +#: apps/courses/models/course.py:468 msgid "The list of languages in which the course content is available." msgstr "Les langues dans lesquelles le contenu du cours est disponible." -#: apps/courses/models/course.py:473 +#: apps/courses/models/course.py:475 msgid "course run" msgstr "session de cours" -#: apps/courses/models/course.py:587 +#: apps/courses/models/course.py:589 msgid "course plugin" msgstr "plugin de cours" -#: apps/courses/models/course.py:600 plugins/large_banner/models.py:38 +#: apps/courses/models/course.py:602 plugins/large_banner/models.py:38 msgid "logo" msgstr "logo" -#: apps/courses/models/course.py:602 +#: apps/courses/models/course.py:604 msgid "url" msgstr "url" -#: apps/courses/models/course.py:605 apps/courses/models/course.py:629 +#: apps/courses/models/course.py:607 apps/courses/models/course.py:631 msgid "name" msgstr "nom" -#: apps/courses/models/course.py:607 apps/courses/models/course.py:630 +#: apps/courses/models/course.py:609 apps/courses/models/course.py:632 msgid "content" msgstr "contenu" -#: apps/courses/models/course.py:612 +#: apps/courses/models/course.py:614 msgid "licence" msgstr "license" -#: apps/courses/models/course.py:635 +#: apps/courses/models/course.py:637 msgid "Licence translation" msgstr "Traduction des Licences" -#: apps/courses/models/course.py:650 +#: apps/courses/models/course.py:652 msgid "description" msgstr "description" -#: apps/courses/models/course.py:654 +#: apps/courses/models/course.py:656 msgid "licence plugin" msgstr "plugin de licence" @@ -683,12 +653,8 @@ msgid "role" msgstr "rôle" #: apps/courses/models/role.py:22 -msgid "" -"A role describes all the permissions that should be granted to the user " -"group." -msgstr "" -"Un rôle décrit toutes les permissions qui doivent être accordées au groupe " -"d'utilisateurs." +msgid "A role describes all the permissions that should be granted to the user group." +msgstr "Un rôle décrit toutes les permissions qui doivent être accordées au groupe d'utilisateurs." #: apps/courses/models/role.py:29 msgid "page" @@ -722,84 +688,84 @@ msgstr "rôle de page" msgid "{:s} | {:s}" msgstr "{:s} | {:s}" -#: apps/courses/settings/__init__.py:32 +#: apps/courses/settings/__init__.py:35 msgid "Course page" msgstr "Page de cours" -#: apps/courses/settings/__init__.py:33 +#: apps/courses/settings/__init__.py:36 msgid "Course run page" msgstr "Page de session de cours" -#: apps/courses/settings/__init__.py:34 +#: apps/courses/settings/__init__.py:37 msgid "Organization list" msgstr "Liste des établissements" -#: apps/courses/settings/__init__.py:35 +#: apps/courses/settings/__init__.py:38 msgid "Organization page" msgstr "Page d'établissement" -#: apps/courses/settings/__init__.py:36 +#: apps/courses/settings/__init__.py:39 msgid "Category list" msgstr "Liste des Catégories" -#: apps/courses/settings/__init__.py:37 +#: apps/courses/settings/__init__.py:40 msgid "Category page" msgstr "Page de catégorie" -#: apps/courses/settings/__init__.py:38 +#: apps/courses/settings/__init__.py:41 msgid "Blog post list" msgstr "Liste de billet de blog" -#: apps/courses/settings/__init__.py:39 +#: apps/courses/settings/__init__.py:42 msgid "Blog post page" msgstr "Page de billet de blog" -#: apps/courses/settings/__init__.py:40 +#: apps/courses/settings/__init__.py:43 msgid "Person page" msgstr "Page de personne" -#: apps/courses/settings/__init__.py:41 +#: apps/courses/settings/__init__.py:44 msgid "Person list" msgstr "Liste des personnes" -#: apps/courses/settings/__init__.py:42 +#: apps/courses/settings/__init__.py:45 msgid "Program page" msgstr "Page de parcours" -#: apps/courses/settings/__init__.py:43 +#: apps/courses/settings/__init__.py:46 msgid "Program list" msgstr "Liste des parcours" -#: apps/courses/settings/__init__.py:44 +#: apps/courses/settings/__init__.py:47 msgid "Search" msgstr "Recherche" -#: apps/courses/settings/__init__.py:45 +#: apps/courses/settings/__init__.py:48 msgid "List of child pages" msgstr "Liste des pages enfants" -#: apps/courses/settings/__init__.py:46 +#: apps/courses/settings/__init__.py:49 msgid "Homepage" msgstr "Page d'accueil" -#: apps/courses/settings/__init__.py:47 +#: apps/courses/settings/__init__.py:50 msgid "Single column" msgstr "Colonne unique" -#: apps/courses/settings/__init__.py:54 +#: apps/courses/settings/__init__.py:57 msgid "Footer" msgstr "Pied de page" -#: apps/courses/settings/__init__.py:59 +#: apps/courses/settings/__init__.py:62 msgid "Static headline" msgstr "Entête statique" -#: apps/courses/settings/__init__.py:66 apps/courses/settings/__init__.py:87 +#: apps/courses/settings/__init__.py:69 apps/courses/settings/__init__.py:90 msgid "Main content" msgstr "Contenu principal" -#: apps/courses/settings/__init__.py:115 apps/courses/settings/__init__.py:269 -#: apps/courses/settings/__init__.py:289 +#: apps/courses/settings/__init__.py:118 apps/courses/settings/__init__.py:272 +#: apps/courses/settings/__init__.py:292 #: apps/courses/templates/courses/cms/blogpost_detail.html:96 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:41 @@ -810,136 +776,130 @@ msgstr "Contenu principal" msgid "Cover" msgstr "Couverture" -#: apps/courses/settings/__init__.py:120 +#: apps/courses/settings/__init__.py:123 msgid "Catch phrase" msgstr "Slogan" -#: apps/courses/settings/__init__.py:125 +#: apps/courses/settings/__init__.py:128 msgid "Teaser" msgstr "Accroche" -#: apps/courses/settings/__init__.py:130 +#: apps/courses/settings/__init__.py:133 msgid "About the course" msgstr "À propos du cours" -#: apps/courses/settings/__init__.py:134 +#: apps/courses/settings/__init__.py:137 msgid "What you will learn" msgstr "Ce que vous allez apprendre" -#: apps/courses/settings/__init__.py:138 +#: apps/courses/settings/__init__.py:141 msgid "Format" msgstr "Format" -#: apps/courses/settings/__init__.py:142 +#: apps/courses/settings/__init__.py:145 msgid "Prerequisites" msgstr "Prérequis" -#: apps/courses/settings/__init__.py:146 +#: apps/courses/settings/__init__.py:149 msgid "Team" msgstr "Équipe" -#: apps/courses/settings/__init__.py:150 +#: apps/courses/settings/__init__.py:153 msgid "Plan" msgstr "Plan" -#: apps/courses/settings/__init__.py:155 +#: apps/courses/settings/__init__.py:158 msgid "Complementary information" msgstr "Informations complémentaires" -#: apps/courses/settings/__init__.py:167 +#: apps/courses/settings/__init__.py:170 #: apps/courses/templates/courses/cms/course_detail.html:380 -#: apps/courses/templates/courses/cms/course_run_detail.html:267 +#: apps/courses/templates/courses/cms/course_run_detail.html:274 #: apps/courses/templates/courses/cms/fragment_course_relations.html:47 msgid "License for the course content" msgstr "Licence pour le contenu du cours" -#: apps/courses/settings/__init__.py:172 +#: apps/courses/settings/__init__.py:175 #: apps/courses/templates/courses/cms/course_detail.html:389 -#: apps/courses/templates/courses/cms/course_run_detail.html:274 +#: apps/courses/templates/courses/cms/course_run_detail.html:281 #: apps/courses/templates/courses/cms/fragment_course_relations.html:56 msgid "License for the content created by course participants" msgstr "Licence pour le contenu créé par les participants du cours" -#: apps/courses/settings/__init__.py:177 apps/courses/settings/__init__.py:205 -#: apps/courses/settings/__init__.py:236 apps/courses/settings/__init__.py:265 +#: apps/courses/settings/__init__.py:180 apps/courses/settings/__init__.py:208 +#: apps/courses/settings/__init__.py:239 apps/courses/settings/__init__.py:268 msgid "Categories" msgstr "Catégories" -#: apps/courses/settings/__init__.py:181 apps/courses/settings/__init__.py:225 +#: apps/courses/settings/__init__.py:184 apps/courses/settings/__init__.py:228 msgid "Icon" msgstr "Icône" -#: apps/courses/settings/__init__.py:186 apps/courses/settings/__init__.py:255 +#: apps/courses/settings/__init__.py:189 apps/courses/settings/__init__.py:258 #: apps/courses/templates/courses/cms/fragment_course_relations.html:27 -#: apps/courses/templates/courses/cms/person_detail.html:89 +#: apps/courses/templates/courses/cms/person_detail.html:91 #: apps/search/defaults.py:104 msgid "Organizations" msgstr "Établissements" -#: apps/courses/settings/__init__.py:190 +#: apps/courses/settings/__init__.py:193 msgid "Assessment and Certification" msgstr "Évaluation et certification" -#: apps/courses/settings/__init__.py:195 apps/courses/settings/__init__.py:215 +#: apps/courses/settings/__init__.py:198 apps/courses/settings/__init__.py:218 #: apps/courses/templates/courses/cms/category_detail.html:16 -#: apps/courses/templates/courses/cms/organization_detail.html:17 msgid "Banner" msgstr "Bannière" -#: apps/courses/settings/__init__.py:200 apps/courses/settings/__init__.py:220 +#: apps/courses/settings/__init__.py:203 apps/courses/settings/__init__.py:223 #: apps/courses/templates/courses/cms/category_detail.html:34 #: apps/courses/templates/courses/cms/fragment_category_glimpse.html:40 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:10 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:43 -#: apps/courses/templates/courses/cms/organization_detail.html:37 msgid "Logo" msgstr "Logo" -#: apps/courses/settings/__init__.py:209 apps/courses/settings/__init__.py:230 -#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:31 +#: apps/courses/settings/__init__.py:212 apps/courses/settings/__init__.py:233 +#: apps/courses/templates/courses/cms/fragment_organization_glimpse.html:33 msgid "Description" msgstr "Description" -#: apps/courses/settings/__init__.py:240 -#: apps/courses/templates/courses/cms/fragment_person_glimpse.html:10 -#: apps/courses/templates/courses/cms/person_detail.html:48 +#: apps/courses/settings/__init__.py:243 msgid "Portrait" msgstr "Portrait" -#: apps/courses/settings/__init__.py:245 +#: apps/courses/settings/__init__.py:248 msgid "Bio" msgstr "Bio" -#: apps/courses/settings/__init__.py:250 +#: apps/courses/settings/__init__.py:253 msgid "Main Content" msgstr "Contenu principal" -#: apps/courses/settings/__init__.py:260 +#: apps/courses/settings/__init__.py:263 msgid "Author" msgstr "Auteur" -#: apps/courses/settings/__init__.py:274 apps/courses/settings/__init__.py:294 +#: apps/courses/settings/__init__.py:277 apps/courses/settings/__init__.py:297 msgid "Excerpt" msgstr "Extrait" -#: apps/courses/settings/__init__.py:279 apps/courses/settings/__init__.py:299 +#: apps/courses/settings/__init__.py:282 apps/courses/settings/__init__.py:302 msgid "Body" msgstr "Corps" -#: apps/courses/settings/__init__.py:283 +#: apps/courses/settings/__init__.py:286 msgid "Headline" msgstr "Entête" -#: apps/courses/settings/__init__.py:303 -#: apps/courses/templates/courses/cms/person_detail.html:106 +#: apps/courses/settings/__init__.py:306 +#: apps/courses/templates/courses/cms/person_detail.html:108 msgid "Courses" msgstr "Cours" -#: apps/courses/settings/__init__.py:385 +#: apps/courses/settings/__init__.py:388 msgid "Button caesura" msgstr "Bouton caesura" -#: apps/courses/settings/__init__.py:387 +#: apps/courses/settings/__init__.py:390 msgid "Full width" msgstr "Pleine largeur" @@ -990,22 +950,18 @@ msgid "Sub categories" msgstr "Sous-catégories" #: apps/courses/templates/courses/cms/category_detail.html:99 -#: apps/courses/templates/courses/cms/organization_detail.html:84 +#: apps/courses/templates/courses/cms/organization_detail.html:88 #: apps/courses/templates/courses/cms/program_detail.html:61 msgid "Related courses" msgstr "Cours associés" #: apps/courses/templates/courses/cms/category_detail.html:110 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(category_title)s\n" +msgid "\n" +" See all courses related to %(category_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(category_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(category_title)s\n" " " #: apps/courses/templates/courses/cms/category_detail.html:116 @@ -1021,7 +977,7 @@ msgid "Related blogposts" msgstr "Billets de blog liés" #: apps/courses/templates/courses/cms/category_detail.html:175 -#: apps/courses/templates/courses/cms/organization_detail.html:112 +#: apps/courses/templates/courses/cms/organization_detail.html:116 msgid "Related persons" msgstr "Personnes liées" @@ -1030,7 +986,7 @@ msgid "No categories" msgstr "Pas de catégories" #: apps/courses/templates/courses/cms/course_detail.html:40 -#: apps/courses/templates/courses/cms/organization_detail.html:65 +#: apps/courses/templates/courses/cms/organization_detail.html:69 #: apps/courses/templates/courses/cms/person_detail.html:29 msgid "No associated categories" msgstr "Aucune catégorie associée" @@ -1055,12 +1011,10 @@ msgstr "Effort :" #: apps/courses/templates/courses/cms/course_detail.html:154 #, python-format -msgid "" -"\n" +msgid "\n" " Archived on %(creation_date)s\n" " " -msgstr "" -"\n" +msgstr "\n" " Archivé le %(creation_date)s\n" " " @@ -1081,24 +1035,24 @@ msgid "course cover image" msgstr "image de couverture du cours" #: apps/courses/templates/courses/cms/course_detail.html:193 -#: apps/courses/templates/courses/cms/course_run_detail.html:158 +#: apps/courses/templates/courses/cms/course_run_detail.html:165 msgctxt "course_detail__title" msgid "What you will learn" msgstr "Ce que vous allez apprendre" #: apps/courses/templates/courses/cms/course_detail.html:194 -#: apps/courses/templates/courses/cms/course_run_detail.html:159 +#: apps/courses/templates/courses/cms/course_run_detail.html:166 msgid "At the end of this course, you will be able to:" msgstr "À la fin de ce cours, vous serez capable de :" #: apps/courses/templates/courses/cms/course_detail.html:203 -#: apps/courses/templates/courses/cms/course_run_detail.html:168 +#: apps/courses/templates/courses/cms/course_run_detail.html:175 msgctxt "course_detail__title" msgid "Description" msgstr "Description" #: apps/courses/templates/courses/cms/course_detail.html:212 -#: apps/courses/templates/courses/cms/course_run_detail.html:177 +#: apps/courses/templates/courses/cms/course_run_detail.html:184 msgctxt "course_detail__title" msgid "Format" msgstr "Format" @@ -1108,7 +1062,7 @@ msgid "How is the course structured?" msgstr "Quelle est la structure du cours ?" #: apps/courses/templates/courses/cms/course_detail.html:223 -#: apps/courses/templates/courses/cms/course_run_detail.html:186 +#: apps/courses/templates/courses/cms/course_run_detail.html:193 msgctxt "course_detail__title" msgid "Prerequisites" msgstr "Prérequis" @@ -1118,7 +1072,7 @@ msgid "What are the prerequisites to follow this course?" msgstr "Quels sont les prérequis pour suivre ce cours ?" #: apps/courses/templates/courses/cms/course_detail.html:234 -#: apps/courses/templates/courses/cms/course_run_detail.html:195 +#: apps/courses/templates/courses/cms/course_run_detail.html:202 msgctxt "course_detail__title" msgid "Assessment and certification" msgstr "Evaluation et Certification" @@ -1128,7 +1082,7 @@ msgid "How is progress evaluated and/or certified?" msgstr "Comment les étudiants sont ils évalués et/ou certifiés ?" #: apps/courses/templates/courses/cms/course_detail.html:249 -#: apps/courses/templates/courses/cms/course_run_detail.html:206 +#: apps/courses/templates/courses/cms/course_run_detail.html:213 msgctxt "course_detail__title" msgid "Course plan" msgstr "Plan de cours" @@ -1167,7 +1121,7 @@ msgid "Archived" msgstr "Archivées" #: apps/courses/templates/courses/cms/course_detail.html:333 -#: apps/courses/templates/courses/cms/course_run_detail.html:225 +#: apps/courses/templates/courses/cms/course_run_detail.html:232 msgctxt "course_detail__title" msgid "Course team" msgstr "Équipe pédagogique" @@ -1178,7 +1132,7 @@ msgid "Who are the teachers in the course team?" msgstr "Qui sont les enseignants de l’équipe pédagogique ?" #: apps/courses/templates/courses/cms/course_detail.html:352 -#: apps/courses/templates/courses/cms/course_run_detail.html:242 +#: apps/courses/templates/courses/cms/course_run_detail.html:249 msgctxt "course_detail__title" msgid "Organizations" msgstr "Établissements" @@ -1189,7 +1143,7 @@ msgid "What are the organizations publishing this course?" msgstr "Qui sont les établissements publiant ce cours ?" #: apps/courses/templates/courses/cms/course_detail.html:377 -#: apps/courses/templates/courses/cms/course_run_detail.html:264 +#: apps/courses/templates/courses/cms/course_run_detail.html:271 msgctxt "course_detail__title" msgid "License" msgstr "Licence" @@ -1202,8 +1156,7 @@ msgstr "Quelle est la licence pour le contenu du cours ?" #: apps/courses/templates/courses/cms/course_detail.html:392 #: apps/courses/templates/courses/cms/fragment_course_relations.html:59 msgid "What is the license for the content created by course participants?" -msgstr "" -"Quelle est la licence pour le contenu créé par les participants du cours ?" +msgstr "Quelle est la licence pour le contenu créé par les participants du cours ?" #: apps/courses/templates/courses/cms/course_run_detail.html:99 msgid "Enrollment starts" @@ -1263,25 +1216,21 @@ msgstr "Etablissement principal" msgid "main organization logo" msgstr "logo d'établissement principal" -#: apps/courses/templates/courses/cms/organization_detail.html:30 +#: apps/courses/templates/courses/cms/organization_detail.html:32 msgid "organization banner" msgstr "bannière d'établissement" -#: apps/courses/templates/courses/cms/organization_detail.html:49 +#: apps/courses/templates/courses/cms/organization_detail.html:53 msgid "organization logo" msgstr "logo d'établissement" -#: apps/courses/templates/courses/cms/organization_detail.html:94 +#: apps/courses/templates/courses/cms/organization_detail.html:98 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(organization_title)s\n" +msgid "\n" +" See all courses related to %(organization_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(organization_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(organization_title)s\n" " " #: apps/courses/templates/courses/cms/organization_list.html:19 @@ -1292,29 +1241,25 @@ msgstr "Pas d'établissement" msgid "Enter your bio here..." msgstr "Saisissez ici votre bio..." -#: apps/courses/templates/courses/cms/person_detail.html:61 +#: apps/courses/templates/courses/cms/person_detail.html:63 #, python-format msgid "%(title)s avatar" msgstr "avatar de %(title)s" -#: apps/courses/templates/courses/cms/person_detail.html:92 +#: apps/courses/templates/courses/cms/person_detail.html:94 msgid "No associated organizations" msgstr "Aucun établissement associé" -#: apps/courses/templates/courses/cms/person_detail.html:116 +#: apps/courses/templates/courses/cms/person_detail.html:118 #, python-format -msgid "" -"\n" -" See all courses related to " -"%(person_title)s\n" +msgid "\n" +" See all courses related to %(person_title)s\n" " " -msgstr "" -"\n" -" Voir tous les cours liés à " -"%(person_title)s\n" +msgstr "\n" +" Voir tous les cours liés à %(person_title)s\n" " " -#: apps/courses/templates/courses/cms/person_detail.html:134 +#: apps/courses/templates/courses/cms/person_detail.html:136 msgid "Blogposts" msgstr "Articles de blog" @@ -1444,12 +1389,8 @@ msgid "HTML Sitemap" msgstr "Plan de site HTML" #: plugins/html_sitemap/cms_plugins.py:72 -msgid "" -"Press save to create a site map. You will then be able to add a child plugin " -"for each subtree in your sitemap." -msgstr "" -"Appuyez sur \"Enregistrer\" pour créer un plan de site. Vous pourrez ensuite " -"ajouter un plugin enfant pour chaque sous-arbre de votre plan de site." +msgid "Press save to create a site map. You will then be able to add a child plugin for each subtree in your sitemap." +msgstr "Appuyez sur \"Enregistrer\" pour créer un plan de site. Vous pourrez ensuite ajouter un plugin enfant pour chaque sous-arbre de votre plan de site." #: plugins/html_sitemap/cms_plugins.py:82 msgid "HTML sitemap page" @@ -1460,46 +1401,32 @@ msgid "root page" msgstr "page racine" #: plugins/html_sitemap/models.py:27 -msgid "" -"This page will be at the root of your sitemap (or its children if the " -"\"include root page\" flag is unticked)." -msgstr "" -"Cette page sera à la racine de votre plan de site (ou ses enfants au lieu " -"d'elle si la case \"inclure la page racine\" n'est pas sélectionnée)." +msgid "This page will be at the root of your sitemap (or its children if the \"include root page\" flag is unticked)." +msgstr "Cette page sera à la racine de votre plan de site (ou ses enfants au lieu d'elle si la case \"inclure la page racine\" n'est pas sélectionnée)." #: plugins/html_sitemap/models.py:34 msgid "max depth" msgstr "profondeur maximale" #: plugins/html_sitemap/models.py:36 -msgid "" -"Limit the level of nesting that your sitemap will contain below this page. " -"An empty field or 0 equals to no limit." -msgstr "" -"Limitez la profondeur de votre plan de site sous cette page. Un champ vide " -"ou égal à 0 correspond à une profondeur illimitée." +msgid "Limit the level of nesting that your sitemap will contain below this page. An empty field or 0 equals to no limit." +msgstr "Limitez la profondeur de votre plan de site sous cette page. Un champ vide ou égal à 0 correspond à une profondeur illimitée." #: plugins/html_sitemap/models.py:44 msgid "in navigation" msgstr "dans le menu" #: plugins/html_sitemap/models.py:46 -msgid "" -"Tick to exclude from sitemap the pages that are excluded from navigation." -msgstr "" -"Sélectionner pour exclure du plan de site les pages qui sont exclues du menu." +msgid "Tick to exclude from sitemap the pages that are excluded from navigation." +msgstr "Sélectionner pour exclure du plan de site les pages qui sont exclues du menu." #: plugins/html_sitemap/models.py:51 msgid "include root page" msgstr "inclure la page racine" #: plugins/html_sitemap/models.py:53 -msgid "" -"Tick to include the root page and its descendants. Untick to include only " -"its descendants." -msgstr "" -"Sélectionner pour inclure la page racine et ses descendants. Ne pas " -"sélectionner pour n'inclure que les descendants de la page racine." +msgid "Tick to include the root page and its descendants. Untick to include only its descendants." +msgstr "Sélectionner pour inclure la page racine et ses descendants. Ne pas sélectionner pour n'inclure que les descendants de la page racine." #: plugins/html_sitemap/models.py:60 msgid "HTML Sitemaps" @@ -1615,15 +1542,8 @@ msgstr "corps" #: plugins/simple_text_ckeditor/validators.py:16 #, python-format -msgid "" -"Ensure this text has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this text has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assurez-vous que ce texte a au maximum %(limit_value)d caractères (il en a " -"%(show_value)d)." -msgstr[1] "" -"Assurez-vous que ce texte fait au maximum %(limit_value)d caractères (il en " -"a %(show_value)d)." +msgid "Ensure this text has at most %(limit_value)d character (it has %(show_value)d)." +msgid_plural "Ensure this text has at most %(limit_value)d characters (it has %(show_value)d)." +msgstr[0] "Assurez-vous que ce texte a au maximum %(limit_value)d caractères (il en a %(show_value)d)." +msgstr[1] "Assurez-vous que ce texte fait au maximum %(limit_value)d caractères (il en a %(show_value)d)." + diff --git a/tests_e2e/package.json b/tests_e2e/package.json index 48bb6d9712..e28a091573 100644 --- a/tests_e2e/package.json +++ b/tests_e2e/package.json @@ -1,6 +1,6 @@ { "name": "richie-tests-e2e", - "version": "2.0.0-beta.12", + "version": "2.0.0-beta.13", "description": "End-to-end tests for the Richie project", "repository": "https://github.com/openfun/richie", "author": "Open FUN (France Université Numérique)", diff --git a/website/package.json b/website/package.json index 04bfa83c8c..d7136ad75b 100644 --- a/website/package.json +++ b/website/package.json @@ -1,6 +1,6 @@ { "name": "richie-education-docs", - "version": "2.0.0-beta.12", + "version": "2.0.0-beta.13", "description": "Documentation website for the Richie project", "scripts": { "build": "docusaurus-build",