richie-education 2.24.0 → 2.25.0-b2.dev101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -0
- package/.nvmrc +1 -1
- package/.prettierignore +2 -0
- package/.storybook/preview-body.html +1 -1
- package/.storybook/preview.tsx +5 -2
- package/cunningham.cjs +52 -43
- package/i18n/locales/ar-SA.json +500 -100
- package/i18n/locales/es-ES.json +500 -100
- package/i18n/locales/fa-IR.json +500 -100
- package/i18n/locales/fr-CA.json +564 -164
- package/i18n/locales/fr-FR.json +517 -117
- package/i18n/locales/ko-KR.json +500 -100
- package/i18n/locales/pt-PT.json +526 -126
- package/i18n/locales/ru-RU.json +500 -100
- package/i18n/locales/vi-VN.json +1734 -0
- package/jest/setup.ts +11 -1
- package/js/api/enrollment.ts +1 -1
- package/js/api/joanie.spec.ts +63 -2
- package/js/api/joanie.ts +218 -141
- package/js/api/lms/dummy.spec.ts +9 -1
- package/js/api/lms/dummy.ts +63 -10
- package/js/api/lms/joanie.spec.ts +49 -31
- package/js/api/lms/joanie.ts +53 -35
- package/js/api/lms/openedx-hawthorn.spec.ts +27 -11
- package/js/api/lms/openedx-hawthorn.ts +7 -6
- package/js/components/AddressesManagement/AddressForm/index.spec.tsx +157 -0
- package/js/components/AddressesManagement/AddressForm/index.stories.tsx +36 -0
- package/js/components/AddressesManagement/AddressForm/index.tsx +163 -0
- package/js/components/AddressesManagement/{validationSchema.ts → AddressForm/validationSchema.ts} +1 -23
- package/js/components/AddressesManagement/_styles.scss +1 -1
- package/js/components/AddressesManagement/index.spec.tsx +171 -202
- package/js/components/AddressesManagement/index.stories.tsx +29 -0
- package/js/components/AddressesManagement/index.tsx +11 -3
- package/js/components/Badge/index.spec.tsx +17 -0
- package/js/components/Badge/index.stories.tsx +22 -0
- package/js/components/Badge/index.tsx +18 -0
- package/js/components/Banner/index.tsx +6 -1
- package/js/components/ContractFrame/AbstractContractFrame.spec.tsx +332 -0
- package/js/components/ContractFrame/AbstractContractFrame.tsx +289 -0
- package/js/components/ContractFrame/LearnerContractFrame.spec.tsx +125 -0
- package/js/components/ContractFrame/LearnerContractFrame.tsx +42 -0
- package/js/components/ContractFrame/OrganizationContractFrame.spec.tsx +167 -0
- package/js/components/ContractFrame/OrganizationContractFrame.tsx +70 -0
- package/js/components/ContractFrame/_styles.scss +62 -0
- package/js/components/ContractFrame/iframe-manager.js +158 -0
- package/js/components/ContractFrame/index.ts +5 -0
- package/js/components/ContractStatus/index.spec.tsx +120 -0
- package/js/components/ContractStatus/index.tsx +67 -0
- package/js/components/CourseGlimpse/CourseGlimpseFooter.tsx +7 -7
- package/js/components/CourseGlimpse/index.tsx +5 -1
- package/js/components/CourseGlimpse/utils.ts +24 -16
- package/js/components/CourseGlimpseList/index.spec.tsx +1 -1
- package/js/components/CourseGlimpseList/index.tsx +1 -1
- package/js/components/CourseGlimpseList/utils.ts +3 -2
- package/js/components/DjangoCMSTemplate/index.spec.tsx +2 -2
- package/js/components/DownloadCertificateButton/index.tsx +58 -0
- package/js/components/DownloadContractButton/index.spec.tsx +155 -0
- package/js/components/DownloadContractButton/index.tsx +48 -0
- package/js/components/Form/CountrySelectField.tsx +28 -16
- package/js/components/Form/Input/index.spec.tsx +76 -0
- package/js/components/Form/Input/index.tsx +47 -0
- package/js/components/Form/Select/index.spec.tsx +99 -0
- package/js/components/Form/Select/index.tsx +43 -0
- package/js/components/{AddressesManagement → Form}/ValidationErrors.ts +10 -5
- package/js/components/Form/index.ts +5 -1
- package/js/components/Form/messages.ts +14 -0
- package/js/components/Form/test-utils.ts +19 -0
- package/js/components/Form/utils.spec.ts +72 -0
- package/js/components/Form/utils.ts +37 -0
- package/js/components/Icon/index.stories.tsx +2 -1
- package/js/components/Modal/_styles.scss +0 -8
- package/js/components/Modal/index.spec.tsx +0 -6
- package/js/components/Modal/index.tsx +23 -17
- package/js/components/PaymentButton/_styles.scss +26 -0
- package/js/{widgets/CourseProductItem → components/PaymentButton}/components/PaymentInterfaces/Dummy.tsx +1 -1
- package/js/{widgets/CourseProductItem → components/PaymentButton}/components/PaymentInterfaces/PayplugLightbox.tsx +30 -7
- package/js/{widgets/CourseProductItem → components/PaymentButton}/components/PaymentInterfaces/__mocks__/index.tsx +1 -1
- package/js/{widgets/CourseProductItem → components/PaymentButton}/components/PaymentInterfaces/index.spec.tsx +5 -3
- package/js/{widgets/CourseProductItem → components/PaymentButton}/components/PaymentInterfaces/index.tsx +7 -5
- package/js/components/PaymentButton/hooks/useTerms.tsx +74 -0
- package/js/components/PaymentButton/index.spec.tsx +1038 -0
- package/js/{widgets/CourseProductItem/components → components}/PaymentButton/index.tsx +94 -41
- package/js/components/PurchaseButton/index.spec.tsx +377 -0
- package/js/components/PurchaseButton/index.stories.tsx +15 -0
- package/js/{widgets/CourseProductItem/components → components}/PurchaseButton/index.tsx +72 -23
- package/js/components/PurchaseButton/styles.scss +7 -0
- package/js/components/RegisteredAddress/_styles.scss +1 -3
- package/js/components/RegisteredAddress/index.spec.tsx +1 -1
- package/js/components/RegisteredAddress/index.stories.tsx +40 -0
- package/js/components/RegisteredAddress/index.tsx +17 -19
- package/js/components/SaleTunnel/_styles.scss +11 -0
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/RegisteredCreditCard/index.tsx +4 -10
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepPayment/_styles.scss +7 -0
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepPayment/index.spec.tsx +85 -61
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepPayment/index.tsx +55 -57
- package/js/components/SaleTunnel/components/SaleTunnelStepResume/_styles.scss +63 -0
- package/js/components/SaleTunnel/components/SaleTunnelStepResume/index.spec.tsx +80 -0
- package/js/components/SaleTunnel/components/SaleTunnelStepResume/index.tsx +88 -0
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepValidation/CourseRunsList.tsx +6 -2
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepValidation/_styles.scss +5 -0
- package/js/components/SaleTunnel/components/SaleTunnelStepValidation/index.spec.tsx +170 -0
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepValidation/index.tsx +41 -10
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/StepBreadcrumb/index.spec.tsx +1 -1
- package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/StepBreadcrumb/index.tsx +1 -1
- package/js/components/SaleTunnel/context.tsx +44 -0
- package/js/{widgets/CourseProductItem/components → components}/SaleTunnel/index.spec.tsx +27 -22
- package/js/{widgets/CourseProductItem/components → components}/SaleTunnel/index.tsx +96 -24
- package/js/components/SignContractButton/index.omniscientOrders.spec.tsx +135 -0
- package/js/components/SignContractButton/index.spec.tsx +213 -0
- package/js/components/SignContractButton/index.tsx +97 -0
- package/js/components/SuccessIcon/_styles.scss +66 -0
- package/js/components/SuccessIcon/index.tsx +10 -0
- package/js/components/TeacherDashboardCourseList/_styles.scss +0 -1
- package/js/components/TeacherDashboardCourseList/index.spec.tsx +9 -9
- package/js/components/TeacherDashboardCourseList/index.tsx +25 -31
- package/js/contexts/JoanieApiContext/index.spec.tsx +1 -1
- package/js/contexts/SessionContext/BaseSessionProvider.tsx +12 -22
- package/js/contexts/SessionContext/JoanieSessionProvider.spec.tsx +14 -0
- package/js/contexts/SessionContext/JoanieSessionProvider.tsx +33 -34
- package/js/contexts/SessionContext/index.spec.tsx +6 -7
- package/js/hooks/useBreadcrumbsPlaceholders.tsx +1 -1
- package/js/hooks/useContractAbilities/index.spec.ts +27 -0
- package/js/hooks/useContractAbilities/index.ts +8 -0
- package/js/hooks/useContractArchive/index.download.spec.tsx +126 -0
- package/js/hooks/useContractArchive/index.spec.tsx +91 -0
- package/js/hooks/useContractArchive/index.ts +64 -0
- package/js/hooks/useContracts/index.tsx +68 -0
- package/js/hooks/useCourseProductRelation/index.ts +8 -5
- package/js/hooks/useCourseProductUnion/index.spec.tsx +14 -10
- package/js/hooks/useCourseProductUnion/index.ts +6 -2
- package/js/hooks/useCourseProducts.ts +45 -0
- package/js/hooks/useCourseSearchParams/computeNewFilterValue.ts +3 -3
- package/js/hooks/useCourses/index.spec.tsx +2 -2
- package/js/hooks/useCourses/index.ts +4 -4
- package/js/hooks/useCreditCards/index.spec.tsx +4 -4
- package/js/hooks/useDashboardAddressForm.tsx +85 -87
- package/js/hooks/useDownloadCertificate/index.spec.tsx +19 -6
- package/js/hooks/useDownloadCertificate/index.tsx +2 -20
- package/js/hooks/useEnrollments.ts +1 -1
- package/js/hooks/useJoanieUserAbilities/index.not.isJoanieEnabled.spec.tsx +17 -0
- package/js/hooks/useJoanieUserAbilities/index.spec.tsx +68 -0
- package/js/hooks/useJoanieUserAbilities/index.tsx +11 -0
- package/js/hooks/useJoanieUserProfile.tsx +34 -0
- package/js/hooks/useOrders.ts +69 -26
- package/js/hooks/useOrganizations/index.ts +1 -1
- package/js/hooks/useProductOrder/index.spec.tsx +113 -0
- package/js/hooks/useProductOrder/index.tsx +33 -0
- package/js/hooks/useQueryKeyInvalidateListener.tsx +16 -0
- package/js/hooks/useResources/index.spec.tsx +30 -29
- package/js/hooks/useResources/index.tsx +11 -4
- package/js/hooks/useResources/useResourcesOmniscient.ts +2 -2
- package/js/hooks/useResources/useResourcesRoot.ts +21 -17
- package/js/hooks/useTeacherPendingContractsCount/index.ts +34 -0
- package/js/hooks/useUnionResource/index.spec.tsx +5 -2
- package/js/hooks/useUnionResource/index.ts +20 -3
- package/js/hooks/useUnionResource/utils/fetchEntity.ts +5 -4
- package/js/index.tsx +2 -2
- package/js/pages/DashboardAddressesManagement/DashboardAddressBox.tsx +1 -1
- package/js/pages/DashboardAddressesManagement/DashboardCreateAddress.spec.tsx +79 -72
- package/js/pages/DashboardAddressesManagement/DashboardCreateAddress.tsx +4 -4
- package/js/pages/DashboardAddressesManagement/DashboardEditAddress.spec.tsx +32 -23
- package/js/pages/DashboardAddressesManagement/DashboardEditAddress.tsx +6 -6
- package/js/pages/DashboardAddressesManagement/DashboardEditAddressLoader.tsx +2 -2
- package/js/pages/DashboardAddressesManagement/index.spec.tsx +4 -3
- package/js/pages/DashboardAddressesManagement/index.tsx +5 -5
- package/js/pages/DashboardCertificates/index.spec.tsx +3 -2
- package/js/pages/DashboardCertificates/index.tsx +2 -1
- package/js/pages/DashboardContracts/_styles.scss +8 -0
- package/js/pages/DashboardContracts/index.spec.tsx +147 -0
- package/js/pages/DashboardContracts/index.tsx +76 -0
- package/js/pages/DashboardCourses/index.spec.tsx +81 -61
- package/js/pages/DashboardCourses/index.tsx +15 -12
- package/js/pages/DashboardCourses/useOrdersEnrollments.tsx +34 -8
- package/js/pages/DashboardCreditCardsManagement/DashboardCreditCardBox.tsx +1 -1
- package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCard.spec.tsx +7 -6
- package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCard.tsx +43 -45
- package/js/pages/DashboardCreditCardsManagement/DashboardEditCreditCardLoader.tsx +2 -2
- package/js/pages/DashboardCreditCardsManagement/index.spec.tsx +13 -12
- package/js/pages/DashboardCreditCardsManagement/index.tsx +3 -3
- package/js/pages/DashboardOrderLayout/_styles.scss +5 -0
- package/js/pages/DashboardOrderLayout/index.spec.tsx +8 -8
- package/js/pages/DashboardOrderLayout/index.tsx +11 -6
- package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardContracts/index.spec.tsx +358 -0
- package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardContracts/index.tsx +129 -0
- package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardCourseContractsLayout/index.tsx +26 -0
- package/js/pages/TeacherDashboardContractsLayout/TeacherDashboardOrganizationContractsLayout/index.tsx +26 -0
- package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.spec.tsx +136 -0
- package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.timer.spec.tsx +144 -0
- package/js/pages/TeacherDashboardContractsLayout/components/BulkDownloadContractButton/index.tsx +73 -0
- package/js/pages/TeacherDashboardContractsLayout/components/ContractActionsBar/index.spec.tsx +185 -0
- package/js/pages/TeacherDashboardContractsLayout/components/ContractActionsBar/index.tsx +47 -0
- package/js/pages/TeacherDashboardContractsLayout/components/ContractFiltersBar/index.spec.tsx +179 -0
- package/js/pages/TeacherDashboardContractsLayout/components/ContractFiltersBar/index.tsx +86 -0
- package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.spec.tsx +109 -0
- package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.tsx +60 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.spec.tsx +124 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useCheckContractArchiveExists/index.tsx +73 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDefaultOrganizationId/index.spec.tsx +134 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDefaultOrganizationId/index.tsx +28 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/contractArchiveLocalStorage.spec.ts +85 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/contractArchiveLocalStorage.ts +50 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.spec.tsx +266 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useDownloadContractArchive/index.tsx +153 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useHasContractToDownload/index.spec.tsx +100 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useHasContractToDownload/index.tsx +27 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractFilters/index.spec.tsx +193 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractFilters/index.tsx +44 -0
- package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractsToSign.tsx +32 -0
- package/js/pages/TeacherDashboardContractsLayout/index.ts +2 -0
- package/js/pages/TeacherDashboardContractsLayout/styles.scss +15 -0
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/CourseRunListCell/index.spec.tsx +1 -1
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/_styles.scss +1 -2
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/index.spec.tsx +2 -2
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/utils.spec.tsx +1 -1
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/utils.tsx +11 -10
- package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/index.tsx +9 -8
- package/js/pages/{TeacherCoursesDashboardLoader → TeacherDashboardCoursesLoader}/index.spec.tsx +17 -17
- package/js/pages/{TeacherCoursesDashboardLoader → TeacherDashboardCoursesLoader}/index.tsx +7 -7
- package/js/pages/{TeacherOrganizationCourseDashboardLoader → TeacherDashboardOrganizationCourseLoader}/index.tsx +5 -5
- package/js/pages/{TeacherTrainingDashboard/TeacherTrainingDashboardLoader.tsx → TeacherDashboardTraining/TeacherDashboardTrainingLoader.tsx} +10 -9
- package/js/pages/{TeacherTrainingDashboard → TeacherDashboardTraining}/index.spec.tsx +76 -6
- package/js/pages/{TeacherTrainingDashboard → TeacherDashboardTraining}/index.tsx +6 -6
- package/js/settings.dev.dist.ts +3 -0
- package/js/settings.ts +29 -1
- package/js/translations/ar-SA.json +1 -1
- package/js/translations/es-ES.json +1 -1
- package/js/translations/fa-IR.json +1 -1
- package/js/translations/fr-CA.json +1 -1
- package/js/translations/fr-FR.json +1 -1
- package/js/translations/ko-KR.json +1 -1
- package/js/translations/pt-PT.json +1 -1
- package/js/translations/ru-RU.json +1 -1
- package/js/translations/vi-VN.json +1 -0
- package/js/types/Joanie.ts +263 -80
- package/js/types/Suggestion.ts +2 -2
- package/js/types/User.ts +19 -1
- package/js/types/commonDataProps.ts +3 -0
- package/js/types/index.ts +1 -1
- package/js/utils/AbilitiesHelper/contractAbilities.spec.ts +35 -0
- package/js/utils/AbilitiesHelper/contractAbilities.ts +14 -0
- package/js/utils/AbilitiesHelper/index.ts +71 -0
- package/js/utils/AbilitiesHelper/joanieUserProfileAbilities.spec.ts +55 -0
- package/js/utils/AbilitiesHelper/joanieUserProfileAbilities.ts +16 -0
- package/js/utils/AbilitiesHelper/types.ts +36 -0
- package/js/utils/ContractHelper/index.spec.ts +73 -0
- package/js/utils/ContractHelper/index.ts +72 -0
- package/js/utils/CourseRuns/index.spec.tsx +20 -1
- package/js/utils/CourseRuns/index.ts +14 -2
- package/js/utils/CoursesHelper/index.spec.ts +45 -55
- package/js/utils/CoursesHelper/index.ts +6 -7
- package/js/utils/CreditCardHelper/index.spec.tsx +26 -22
- package/js/utils/CreditCardHelper/index.tsx +19 -6
- package/js/utils/ObjectHelper/index.spec.ts +18 -10
- package/js/utils/ObjectHelper/index.ts +9 -0
- package/js/utils/OrderHelper/index.ts +32 -0
- package/js/utils/ProductHelper/index.ts +5 -1
- package/js/utils/StringHelper/index.spec.tsx +11 -0
- package/js/utils/StringHelper/index.ts +8 -0
- package/js/utils/UserHelper/index.spec.ts +18 -0
- package/js/utils/UserHelper/index.ts +8 -0
- package/js/utils/download.ts +43 -0
- package/js/utils/errors/HttpError.ts +10 -0
- package/js/utils/indirection/window.ts +1 -1
- package/js/utils/react-query/createQueryClient.ts +12 -21
- package/js/utils/react-query/useLocalizedQueryKey.ts +1 -1
- package/js/utils/react-query/useSessionMutation/index.spec.tsx +8 -8
- package/js/utils/react-query/useSessionMutation/index.ts +6 -11
- package/js/utils/react-query/useSessionQuery/index.spec.tsx +36 -8
- package/js/utils/react-query/useSessionQuery/index.ts +14 -21
- package/js/utils/search/getSuggestionsSection/index.spec.ts +4 -3
- package/js/utils/search/getSuggestionsSection/index.ts +4 -1
- package/js/utils/search/index.tsx +8 -3
- package/js/utils/test/createTestQueryClient.ts +7 -7
- package/js/utils/test/expectBanner.ts +16 -3
- package/js/utils/test/factories/factories.ts +4 -4
- package/js/utils/test/factories/joanie.spec.ts +7 -0
- package/js/utils/test/factories/joanie.ts +214 -63
- package/js/utils/test/factories/reactQuery.ts +1 -1
- package/js/utils/test/factories/richie.ts +4 -2
- package/js/utils/test/mockCourseProductWithOrder.ts +28 -0
- package/js/utils/test/mockPaginatedResponse.ts +1 -1
- package/js/utils/test/render.tsx +72 -0
- package/js/utils/test/wrappers/IntlWrapper.tsx +23 -0
- package/js/utils/test/wrappers/JoanieAppWrapper.tsx +42 -0
- package/js/utils/test/wrappers/PresentationalAppWrapper.tsx +18 -0
- package/js/utils/test/wrappers/ReactQueryWrapper.tsx +16 -0
- package/js/utils/test/wrappers/RouterWrapper.tsx +29 -0
- package/js/utils/test/wrappers/types.ts +26 -0
- package/js/widgets/Dashboard/components/DashboardAvatar/_styles.scss +17 -5
- package/js/widgets/Dashboard/components/DashboardAvatar/index.spec.tsx +9 -2
- package/js/widgets/Dashboard/components/DashboardAvatar/index.tsx +16 -5
- package/js/widgets/Dashboard/components/DashboardBox/index.stories.tsx +1 -1
- package/js/widgets/Dashboard/components/DashboardBreadcrumbs/_styles.scss +1 -0
- package/js/widgets/Dashboard/components/DashboardBreadcrumbs/index.tsx +7 -4
- package/js/widgets/Dashboard/components/DashboardCard/index.spec.tsx +1 -1
- package/js/widgets/Dashboard/components/DashboardCard/index.stories.tsx +3 -3
- package/js/widgets/Dashboard/components/DashboardCard/index.tsx +2 -2
- package/js/widgets/Dashboard/components/DashboardItem/Certificate/index.spec.tsx +49 -9
- package/js/widgets/Dashboard/components/DashboardItem/Certificate/index.tsx +27 -73
- package/js/widgets/Dashboard/components/DashboardItem/CertificateStatus/index.spec.tsx +65 -0
- package/js/widgets/Dashboard/components/DashboardItem/CertificateStatus/index.tsx +59 -0
- package/js/widgets/Dashboard/components/DashboardItem/Contract/_styles.scss +29 -0
- package/js/widgets/Dashboard/components/DashboardItem/Contract/index.spec.tsx +197 -0
- package/js/widgets/Dashboard/components/DashboardItem/Contract/index.stories.tsx +34 -0
- package/js/widgets/Dashboard/components/DashboardItem/Contract/index.tsx +53 -0
- package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/hooks/useCourseRunPeriodMessage.ts +76 -0
- package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/index.spec.tsx +158 -0
- package/js/widgets/Dashboard/components/DashboardItem/{DashboardItemCourseEnrolling.stories.tsx → CourseEnrolling/index.stories.tsx} +6 -6
- package/js/widgets/Dashboard/components/DashboardItem/{DashboardItemCourseEnrolling.tsx → CourseEnrolling/index.tsx} +141 -84
- package/js/widgets/Dashboard/components/DashboardItem/Enrollment/DashboardItemEnrollment.spec.tsx +40 -37
- package/js/widgets/Dashboard/components/DashboardItem/Enrollment/DashboardItemEnrollment.tsx +29 -11
- package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.spec.tsx +248 -0
- package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.tsx +89 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrder.spec.tsx +188 -117
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrder.tsx +124 -78
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.spec.tsx +299 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.useUnionResource.cache.spec.tsx +286 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderReadonly.stories.tsx +9 -5
- package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderWritable.stories.tsx +10 -6
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateMessage/index.spec.tsx +121 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateMessage/index.tsx +98 -0
- package/js/widgets/Dashboard/components/DashboardItem/Order/_styles.scss +43 -0
- package/js/widgets/Dashboard/components/DashboardItem/_styles.scss +34 -37
- package/js/widgets/Dashboard/components/DashboardItem/index.spec.tsx +74 -4
- package/js/widgets/Dashboard/components/DashboardItem/index.stories.tsx +18 -0
- package/js/widgets/Dashboard/components/DashboardItem/index.tsx +91 -26
- package/js/widgets/Dashboard/components/DashboardItem/stories.mock.ts +4 -8
- package/js/widgets/Dashboard/components/DashboardLayout/_styles.scss +14 -5
- package/js/widgets/Dashboard/components/DashboardLayout/index.tsx +10 -3
- package/js/widgets/Dashboard/components/DashboardListAvatar/_styles.scss +8 -0
- package/js/widgets/Dashboard/components/DashboardListAvatar/index.tsx +11 -0
- package/js/widgets/Dashboard/components/DashboardOrderLoader/_styles.scss +5 -0
- package/js/widgets/Dashboard/components/DashboardOrderLoader/index.tsx +50 -14
- package/js/widgets/Dashboard/components/DashboardSidebar/_styles.scss +37 -24
- package/js/widgets/Dashboard/components/DashboardSidebar/components/ContractNavLink/index.spec.tsx +244 -0
- package/js/widgets/Dashboard/components/DashboardSidebar/components/ContractNavLink/index.tsx +49 -0
- package/js/widgets/Dashboard/components/DashboardSidebar/components/MenuNavLink/index.spec.tsx +40 -0
- package/js/widgets/Dashboard/components/DashboardSidebar/components/MenuNavLink/index.tsx +28 -0
- package/js/widgets/Dashboard/components/DashboardSidebar/components/NavigationSelect.tsx +58 -0
- package/js/widgets/Dashboard/components/DashboardSidebar/index.stories.tsx +11 -1
- package/js/widgets/Dashboard/components/DashboardSidebar/index.tsx +18 -69
- package/js/widgets/Dashboard/components/DashboardSidebar/utils.ts +6 -0
- package/js/widgets/Dashboard/components/FilterOrganization/index.tsx +58 -0
- package/js/widgets/Dashboard/components/FiltersBar/index.tsx +9 -0
- package/js/widgets/Dashboard/components/LearnerDashboardSidebar/index.tsx +4 -2
- package/js/widgets/Dashboard/components/NavigateWithParams/index.spec.tsx +31 -40
- package/js/widgets/Dashboard/components/RouterButton/index.tsx +2 -1
- package/js/widgets/Dashboard/components/Signature/DummyContractPlaceholder.tsx +25 -0
- package/js/widgets/Dashboard/components/Signature/SignatureDummy.tsx +58 -0
- package/js/widgets/Dashboard/components/Signature/SignatureLexPersona.tsx +72 -0
- package/js/widgets/Dashboard/components/TeacherDashboardCourseSidebar/index.spec.tsx +215 -0
- package/js/widgets/Dashboard/components/{TeacherCourseDashboardSidebar → TeacherDashboardCourseSidebar}/index.tsx +75 -31
- package/js/widgets/Dashboard/components/TeacherDashboardCourseSidebar/utils.ts +23 -0
- package/js/widgets/Dashboard/components/TeacherDashboardOrganizationSidebar/index.spec.tsx +154 -0
- package/js/widgets/Dashboard/components/TeacherDashboardOrganizationSidebar/index.stories.tsx +42 -0
- package/js/widgets/Dashboard/components/{TeacherOrganizationDashboardSidebar → TeacherDashboardOrganizationSidebar}/index.tsx +40 -29
- package/js/widgets/Dashboard/components/{TeacherProfileDashboardSidebar → TeacherDashboardProfileSidebar}/components/OrganizationLinks/_styles.scss +27 -10
- package/js/widgets/Dashboard/components/TeacherDashboardProfileSidebar/components/OrganizationLinks/index.spec.tsx +49 -0
- package/js/widgets/Dashboard/components/{TeacherProfileDashboardSidebar → TeacherDashboardProfileSidebar}/components/OrganizationLinks/index.tsx +18 -7
- package/js/widgets/Dashboard/components/{TeacherProfileDashboardSidebar → TeacherDashboardProfileSidebar}/index.spec.tsx +13 -39
- package/js/widgets/Dashboard/components/{TeacherProfileDashboardSidebar → TeacherDashboardProfileSidebar}/index.stories.tsx +5 -5
- package/js/widgets/Dashboard/components/{TeacherProfileDashboardSidebar → TeacherDashboardProfileSidebar}/index.tsx +4 -3
- package/js/widgets/Dashboard/hooks/useEnroll/index.ts +8 -8
- package/js/widgets/Dashboard/index.spec.tsx +22 -12
- package/js/widgets/Dashboard/utils/learnerRouteMessages.tsx +12 -1
- package/js/widgets/Dashboard/utils/learnerRoutes.tsx +6 -0
- package/js/widgets/Dashboard/utils/teacherRouteMessages.tsx +60 -4
- package/js/widgets/Dashboard/utils/teacherRoutes.tsx +87 -13
- package/js/widgets/LtiConsumer/index.spec.tsx +44 -33
- package/js/widgets/LtiConsumer/index.tsx +11 -15
- package/js/widgets/Search/components/SearchFilterGroup/index.spec.tsx +0 -5
- package/js/widgets/Search/components/SearchFilterGroupModal/_styles.scss +0 -9
- package/js/widgets/Search/components/SearchFilterGroupModal/index.spec.tsx +0 -5
- package/js/widgets/Search/components/SearchFilterGroupModal/index.tsx +86 -60
- package/js/widgets/Search/components/SearchFilterValueParent/index.stories.tsx +51 -0
- package/js/widgets/Search/components/SearchFilterValueParent/index.tsx +7 -7
- package/js/widgets/Search/components/SearchFiltersPane/_styles.scss +2 -16
- package/js/widgets/Search/components/SearchFiltersPane/index.tsx +9 -6
- package/js/widgets/Search/hooks/useCourseSearch/index.ts +13 -7
- package/js/widgets/Search/index.spec.tsx +3 -2
- package/js/widgets/Search/utils/getResourceList/index.spec.ts +12 -5
- package/js/widgets/Search/utils/getResourceList/index.ts +6 -2
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/CourseProductItemFooter/index.tsx +74 -0
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/_styles.scss +11 -14
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCertificateItem/_styles.scss +1 -1
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCertificateItem/index.spec.tsx +13 -2
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCertificateItem/index.stories.tsx +33 -0
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCertificateItem/index.tsx +5 -8
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/CourseRunList.tsx +1 -1
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/EnrollableCourseRunList.tsx +16 -8
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/EnrolledCourseRun.tsx +5 -3
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/_styles.scss +1 -0
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/index.spec.tsx +100 -35
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseRunItem/index.spec.tsx +7 -4
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseRunItem/index.stories.tsx +36 -0
- package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseRunItem/index.tsx +5 -3
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/ProductSignatureHeader/index.tsx +40 -0
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.spec.tsx +898 -0
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.stories.tsx +83 -0
- package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.tsx +253 -0
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/CourseRunUnenrollmentButton/index.tsx +3 -2
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/_styles.scss +0 -25
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/index.joanie.spec.tsx +73 -30
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/index.openedx.spec.tsx +10 -5
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/index.tsx +54 -26
- package/js/widgets/SyllabusCourseRunsList/components/CourseRunItemWithEnrollment/index.tsx +1 -0
- package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/_styles.scss +0 -3
- package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/hooks/useCourseWish/index.spec.tsx +12 -9
- package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/index.login.spec.tsx +14 -12
- package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/index.logout.spec.tsx +4 -6
- package/js/widgets/SyllabusCourseRunsList/components/CourseWishButton/index.tsx +5 -5
- package/js/widgets/SyllabusCourseRunsList/components/SyllabusAsideList/index.tsx +2 -2
- package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRun/index.tsx +19 -13
- package/js/widgets/SyllabusCourseRunsList/components/SyllabusSimpleCourseRunsList/index.tsx +1 -0
- package/js/widgets/SyllabusCourseRunsList/hooks/useCourseEnrollment/index.spec.tsx +2 -1
- package/js/widgets/SyllabusCourseRunsList/hooks/useCourseEnrollment/index.ts +14 -19
- package/js/widgets/SyllabusCourseRunsList/index.spec.tsx +54 -14
- package/js/widgets/SyllabusCourseRunsList/index.tsx +5 -8
- package/js/widgets/UserLogin/components/UserMenu/DesktopUserMenu.tsx +2 -1
- package/js/widgets/UserLogin/components/UserMenu/MobileUserMenu.tsx +2 -1
- package/js/widgets/UserLogin/components/UserMenu/index.tsx +6 -5
- package/js/widgets/UserLogin/index.not.isJoanieEnabled.spec.tsx +120 -0
- package/js/widgets/UserLogin/index.spec.tsx +108 -43
- package/js/widgets/UserLogin/index.stories.tsx +29 -0
- package/js/widgets/UserLogin/index.tsx +33 -15
- package/js/widgets/index.tsx +3 -6
- package/mocks/browser.ts +1 -1
- package/mocks/handlers/contracts.ts +16 -0
- package/mocks/handlers.ts +3 -1
- package/package.json +82 -78
- package/scss/_main.scss +2 -0
- package/scss/colors/_palette.scss +2 -2
- package/scss/colors/_theme.scss +6 -16
- package/scss/components/_content.scss +1 -1
- package/scss/components/_index.scss +24 -14
- package/scss/generic/_type.scss +1 -1
- package/scss/objects/_characteristics.scss +7 -14
- package/scss/objects/_course_glimpses.scss +3 -7
- package/scss/objects/_dashboard.scss +28 -0
- package/scss/objects/_form.scss +14 -355
- package/scss/objects/_index.scss +1 -0
- package/scss/objects/_list.scss +8 -0
- package/scss/objects/_organization_glimpses.scss +2 -8
- package/scss/objects/_selector.scss +1 -0
- package/scss/trumps/_bootstrap.scss +4 -0
- package/scss/vendors/css/cunningham-tokens.css +89 -25
- package/scss/vendors/cunningham-tokens.scss +208 -128
- package/js/components/AddressesManagement/AddressForm.spec.tsx +0 -206
- package/js/components/AddressesManagement/AddressForm.tsx +0 -169
- package/js/components/Button/index.spec.tsx +0 -36
- package/js/components/Button/index.stories.tsx +0 -26
- package/js/components/Button/index.tsx +0 -38
- package/js/components/Form/CheckboxField.stories.tsx +0 -12
- package/js/components/Form/Field.stories.config.tsx +0 -24
- package/js/components/Form/Inputs.tsx +0 -295
- package/js/components/Form/RadioField.stories.tsx +0 -18
- package/js/components/Form/SelectField.stories.tsx +0 -27
- package/js/components/Form/TextAreaField.stories.tsx +0 -12
- package/js/components/Form/TextField.stories.tsx +0 -12
- package/js/components/Form/index.spec.tsx +0 -297
- package/js/hooks/useProduct.ts +0 -28
- package/js/utils/test/mockProductWithOrder.ts +0 -17
- package/js/widgets/CourseProductItem/components/PaymentButton/_styles.scss +0 -12
- package/js/widgets/CourseProductItem/components/PaymentButton/index.spec.tsx +0 -473
- package/js/widgets/CourseProductItem/components/PurchaseButton/index.spec.tsx +0 -259
- package/js/widgets/CourseProductItem/components/SaleTunnel/_styles.scss +0 -41
- package/js/widgets/CourseProductItem/components/SaleTunnelStepResume/_styles.scss +0 -130
- package/js/widgets/CourseProductItem/components/SaleTunnelStepResume/index.spec.tsx +0 -29
- package/js/widgets/CourseProductItem/components/SaleTunnelStepResume/index.tsx +0 -59
- package/js/widgets/CourseProductItem/components/SaleTunnelStepValidation/index.spec.tsx +0 -71
- package/js/widgets/CourseProductItem/contexts/CourseProductContext/index.spec.tsx +0 -35
- package/js/widgets/CourseProductItem/contexts/CourseProductContext/index.tsx +0 -45
- package/js/widgets/CourseProductItem/index.spec.tsx +0 -486
- package/js/widgets/CourseProductItem/index.tsx +0 -205
- package/js/widgets/Dashboard/components/DashboardItem/DashboardItemCourseEnrolling.spec.tsx +0 -64
- package/js/widgets/Dashboard/components/TeacherCourseDashboardSidebar/index.spec.tsx +0 -105
- package/js/widgets/Dashboard/components/TeacherOrganizationDashboardSidebar/index.stories.tsx +0 -28
- /package/js/components/AddressesManagement/{validationSchema.spec.ts → AddressForm/validationSchema.spec.ts} +0 -0
- /package/js/{widgets/CourseProductItem/components → components}/EnrollmentDate/index.tsx +0 -0
- /package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/RegisteredCreditCard/_styles.scss +0 -0
- /package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/RegisteredCreditCard/index.spec.tsx +0 -0
- /package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/SaleTunnelStepValidation/TargetCourseDetail.tsx +0 -0
- /package/js/{widgets/CourseProductItem → components/SaleTunnel}/components/StepBreadcrumb/_styles.scss +0 -0
- /package/js/{widgets/CourseProductItem/hooks → hooks}/useStepManager/index.spec.ts +0 -0
- /package/js/{widgets/CourseProductItem/hooks → hooks}/useStepManager/index.ts +0 -0
- /package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/CourseRunListCell/index.tsx +0 -0
- /package/js/pages/{TeacherCourseDashboardLoader → TeacherDashboardCourseLoader}/CourseRunList/index.tsx +0 -0
- /package/js/pages/{TeacherTrainingDashboard → TeacherDashboardTraining}/_styles.scss +0 -0
- /package/js/widgets/Dashboard/components/{TeacherCourseDashboardSidebar → TeacherDashboardCourseSidebar}/_styles.scss +0 -0
- /package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/CourseRunSection.tsx +0 -0
- /package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/components/CourseProductCourseRuns/index.tsx +0 -0
- /package/js/widgets/{CourseProductItem → SyllabusCourseRunsList/components/CourseProductItem}/types/payments/payplug.d.ts +0 -0
package/i18n/locales/fr-CA.json
CHANGED
|
@@ -67,6 +67,10 @@
|
|
|
67
67
|
"description": "Label of the \"last_name\" input",
|
|
68
68
|
"message": "Nom du destinataire"
|
|
69
69
|
},
|
|
70
|
+
"components.AddressesManagement.optionalFieldText": {
|
|
71
|
+
"description": "text Displayed below form elements that are optional",
|
|
72
|
+
"message": "(optional)"
|
|
73
|
+
},
|
|
70
74
|
"components.AddressesManagement.postcodeInput": {
|
|
71
75
|
"description": "Label of the \"postcode\" input",
|
|
72
76
|
"message": "Code postal"
|
|
@@ -103,25 +107,25 @@
|
|
|
103
107
|
"description": "Label of the update button",
|
|
104
108
|
"message": "Mettre à jour cette adresse"
|
|
105
109
|
},
|
|
106
|
-
"components.
|
|
107
|
-
"description": "
|
|
108
|
-
"message": "
|
|
110
|
+
"components.ContractStatus.learnerSignedOn": {
|
|
111
|
+
"description": "Label for the date of sign of a training contract by the learner",
|
|
112
|
+
"message": "You signed this training contract. Signed on {date}"
|
|
109
113
|
},
|
|
110
|
-
"components.
|
|
111
|
-
"description": "
|
|
112
|
-
"message": "
|
|
114
|
+
"components.ContractStatus.organizationSignedOn": {
|
|
115
|
+
"description": "Label for the date of sign of a training contract by the organization",
|
|
116
|
+
"message": "The organization have signed this training contract. Signed on {date}"
|
|
113
117
|
},
|
|
114
|
-
"components.
|
|
115
|
-
"description": "
|
|
116
|
-
"message": "
|
|
118
|
+
"components.ContractStatus.waitingOrganization": {
|
|
119
|
+
"description": "Label displayed when a training contract need to be signed by the organization",
|
|
120
|
+
"message": "You cannot download your training contract until it had been signed by the organization."
|
|
117
121
|
},
|
|
118
|
-
"components.
|
|
119
|
-
"description": "
|
|
120
|
-
"message": "
|
|
122
|
+
"components.ContractStatus.waitingSignature": {
|
|
123
|
+
"description": "Label displayed when a training contract need to be signed by the learner",
|
|
124
|
+
"message": "You have to sign this training contract to access your training."
|
|
121
125
|
},
|
|
122
|
-
"components.
|
|
123
|
-
"description": "
|
|
124
|
-
"message": "
|
|
126
|
+
"components.CountrySelectField.label": {
|
|
127
|
+
"description": "label of the country select",
|
|
128
|
+
"message": "Country"
|
|
125
129
|
},
|
|
126
130
|
"components.CourseAddToWishlist.labelAdd": {
|
|
127
131
|
"description": "Label to proceed to add a course to user wishlist.",
|
|
@@ -155,6 +159,10 @@
|
|
|
155
159
|
"description": "Organization logo alternative text for screen reader users",
|
|
156
160
|
"message": "Institution"
|
|
157
161
|
},
|
|
162
|
+
"components.CourseGlimpse.organizationsTitle": {
|
|
163
|
+
"description": "Organizations title for multiple organizations",
|
|
164
|
+
"message": "Produit par {nbOrganizations} partenaires"
|
|
165
|
+
},
|
|
158
166
|
"components.CourseGlimpseFooter.dateIconAlt": {
|
|
159
167
|
"description": "Course date logo alternative text for screen reader users",
|
|
160
168
|
"message": "Date du cours"
|
|
@@ -185,16 +193,28 @@
|
|
|
185
193
|
},
|
|
186
194
|
"components.CourseProductItem.availableIn": {
|
|
187
195
|
"description": "Course run languages",
|
|
188
|
-
"message": "
|
|
196
|
+
"message": "Disponible en {languages}"
|
|
197
|
+
},
|
|
198
|
+
"components.CourseProductItem.contractSignActionLabel": {
|
|
199
|
+
"description": "Label of \"sign contract\" action on the syllabus.",
|
|
200
|
+
"message": "Sign your training contract"
|
|
189
201
|
},
|
|
190
202
|
"components.CourseProductItem.fromTo": {
|
|
191
203
|
"description": "Course run date range",
|
|
192
|
-
"message": "
|
|
204
|
+
"message": "Du {from} au {to}"
|
|
193
205
|
},
|
|
194
206
|
"components.CourseProductItem.loadingInitial": {
|
|
195
207
|
"description": "Accessible text for the initial loading spinner displayed when product is fetching",
|
|
196
208
|
"message": "Chargement des informations du produit..."
|
|
197
209
|
},
|
|
210
|
+
"components.CourseProductItem.nbSeatsAvailable": {
|
|
211
|
+
"description": "Message displayed when seats are available for the product",
|
|
212
|
+
"message": "{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }"
|
|
213
|
+
},
|
|
214
|
+
"components.CourseProductItem.noSeatsAvailable": {
|
|
215
|
+
"description": "Message displayed when no seats are available for the product",
|
|
216
|
+
"message": "Sorry, no seats available for now"
|
|
217
|
+
},
|
|
198
218
|
"components.CourseProductItem.pending": {
|
|
199
219
|
"description": "Message displayed when authenticated user has purchased the product but order is still pending",
|
|
200
220
|
"message": "En attente"
|
|
@@ -203,6 +223,10 @@
|
|
|
203
223
|
"description": "Message displayed when authenticated user owned the product",
|
|
204
224
|
"message": "Acheté"
|
|
205
225
|
},
|
|
226
|
+
"components.CourseProductItem.signatureNeeded": {
|
|
227
|
+
"description": "Banner displayed when the contract is not signed on the syllabus",
|
|
228
|
+
"message": "You need to sign your training contract before enrolling to course runs"
|
|
229
|
+
},
|
|
206
230
|
"components.CourseProductsList.end": {
|
|
207
231
|
"description": "End label displayed in the header of course run dates section",
|
|
208
232
|
"message": "Fin"
|
|
@@ -211,6 +235,10 @@
|
|
|
211
235
|
"description": "Start label displayed in the header of course run dates section",
|
|
212
236
|
"message": "Début"
|
|
213
237
|
},
|
|
238
|
+
"components.CourseRunEnrollment.courseRunStartIn": {
|
|
239
|
+
"description": "Message displayed when user is enrolled but the course run is not started",
|
|
240
|
+
"message": "The course starts {relativeStartDate}"
|
|
241
|
+
},
|
|
214
242
|
"components.CourseRunEnrollment.enroll": {
|
|
215
243
|
"description": "CTA for users who can enroll in the course run or could enroll if they logged in.",
|
|
216
244
|
"message": "S’inscrire maintenant"
|
|
@@ -253,31 +281,31 @@
|
|
|
253
281
|
},
|
|
254
282
|
"components.CourseRunItem.courseRunTitleWithDates": {
|
|
255
283
|
"description": "Course run details displayed on the syllabus",
|
|
256
|
-
"message": "{title},
|
|
284
|
+
"message": "{title}, du {start} au {end}"
|
|
257
285
|
},
|
|
258
286
|
"components.CourseRunItem.courseRunWithDates": {
|
|
259
287
|
"description": "Course run details displayed on the syllabus when it has no title",
|
|
260
|
-
"message": "
|
|
288
|
+
"message": "Du {start} au {end}"
|
|
261
289
|
},
|
|
262
290
|
"components.CourseRunItemWithEnrollment.enrolled": {
|
|
263
291
|
"description": "Help text for users are enrolled in the course run.",
|
|
264
|
-
"message": "
|
|
292
|
+
"message": "Inscrit"
|
|
265
293
|
},
|
|
266
294
|
"components.CourseRunItemWithEnrollment.enrolledAriaLabel": {
|
|
267
295
|
"description": "Help text for users are enrolled in the course run.",
|
|
268
|
-
"message": "
|
|
296
|
+
"message": "Vous êtes inscrits à cette session"
|
|
269
297
|
},
|
|
270
298
|
"components.CourseRunItemWithEnrollment.goToCourse": {
|
|
271
299
|
"description": "Link title for users to go to the course run in which they are enrolled.",
|
|
272
|
-
"message": "
|
|
300
|
+
"message": "Accéder au cours"
|
|
273
301
|
},
|
|
274
302
|
"components.CourseRunList.dataCourseRunLink": {
|
|
275
303
|
"description": "Message displayed in course run datagrid for course run link",
|
|
276
|
-
"message": "
|
|
304
|
+
"message": "Go to course area"
|
|
277
305
|
},
|
|
278
306
|
"components.CourseRunList.dataCourseRunPeriod": {
|
|
279
307
|
"description": "Message displayed in course run datagrid for course run period",
|
|
280
|
-
"message": "
|
|
308
|
+
"message": "From {from} to {to}"
|
|
281
309
|
},
|
|
282
310
|
"components.CourseRunList.noCourseRunAvailable": {
|
|
283
311
|
"description": "Text displayed when no course run are opened for the course",
|
|
@@ -295,6 +323,14 @@
|
|
|
295
323
|
"description": "The path to display the certificates view.",
|
|
296
324
|
"message": "/certificats"
|
|
297
325
|
},
|
|
326
|
+
"components.Dashboard.DashboardRoutes.contracts.label": {
|
|
327
|
+
"description": "Label of the training contracts view used in navigation components.",
|
|
328
|
+
"message": "My training contracts"
|
|
329
|
+
},
|
|
330
|
+
"components.Dashboard.DashboardRoutes.contracts.path": {
|
|
331
|
+
"description": "The path to display the training contracts view.",
|
|
332
|
+
"message": "/training-contracts"
|
|
333
|
+
},
|
|
298
334
|
"components.Dashboard.DashboardRoutes.course.path": {
|
|
299
335
|
"description": "The path to display a course detail view.",
|
|
300
336
|
"message": "/cours/{code}"
|
|
@@ -321,11 +357,11 @@
|
|
|
321
357
|
},
|
|
322
358
|
"components.Dashboard.DashboardRoutes.order.runs.label": {
|
|
323
359
|
"description": "Label of the order runs view used in navigation components.",
|
|
324
|
-
"message": "
|
|
360
|
+
"message": "Informations générales"
|
|
325
361
|
},
|
|
326
362
|
"components.Dashboard.DashboardRoutes.order.runs.path": {
|
|
327
363
|
"description": "The path to display an order runs view.",
|
|
328
|
-
"message": "/
|
|
364
|
+
"message": "/cours/commandes/{orderId}/sessions"
|
|
329
365
|
},
|
|
330
366
|
"components.Dashboard.DashboardRoutes.preferences.addresses.creation.label": {
|
|
331
367
|
"description": "Label of the addresses creation view.",
|
|
@@ -359,6 +395,22 @@
|
|
|
359
395
|
"description": "The path to display the preferences view.",
|
|
360
396
|
"message": "/preferences"
|
|
361
397
|
},
|
|
398
|
+
"components.Dashboard.Signature.SignatureDummy.button": {
|
|
399
|
+
"description": "Button displayed below the dummy contract.",
|
|
400
|
+
"message": "Sign"
|
|
401
|
+
},
|
|
402
|
+
"components.Dashboard.Signature.SignatureDummy.signing": {
|
|
403
|
+
"description": "Message displayed after signing the dummy contract.",
|
|
404
|
+
"message": "Signing the contract ..."
|
|
405
|
+
},
|
|
406
|
+
"components.Dashboard.Signature.SignatureLexPersona.error": {
|
|
407
|
+
"description": "Message displayed inside the contract signin modal when Lex Persona iframe returned an error.",
|
|
408
|
+
"message": "An error happened while signing the contract. Please try again later."
|
|
409
|
+
},
|
|
410
|
+
"components.Dashboard.Signature.SignatureLexPersona.errorStatus": {
|
|
411
|
+
"description": "Message displayed inside the contract signin modal when Lex Persona iframe returned a non null status.",
|
|
412
|
+
"message": "An error happened while signing the contract with the following status: {status}. Please refresh to try again."
|
|
413
|
+
},
|
|
362
414
|
"components.DashboardAddressBox.delete": {
|
|
363
415
|
"description": "Delete address button on the dashboard addresses list",
|
|
364
416
|
"message": "Supprimer"
|
|
@@ -395,25 +447,21 @@
|
|
|
395
447
|
"description": "The dashboard's breadcrumb back button's label",
|
|
396
448
|
"message": "Précédent"
|
|
397
449
|
},
|
|
398
|
-
"components.DashboardCertificate.details": {
|
|
399
|
-
"description": "Label for the details button of a certificate",
|
|
400
|
-
"message": "Details"
|
|
401
|
-
},
|
|
402
|
-
"components.DashboardCertificate.download": {
|
|
403
|
-
"description": "Label for the download button of a certificate",
|
|
404
|
-
"message": "Download"
|
|
405
|
-
},
|
|
406
|
-
"components.DashboardCertificate.generatingCertificate": {
|
|
407
|
-
"description": "Accessible label displayed while certificate is being generated on the dashboard.",
|
|
408
|
-
"message": "Certificate is being generated..."
|
|
409
|
-
},
|
|
410
450
|
"components.DashboardCertificate.issuedOn": {
|
|
411
451
|
"description": "Label for the date of issue of a certificate",
|
|
412
452
|
"message": "Émis le {date}"
|
|
413
453
|
},
|
|
414
|
-
"components.DashboardCertificate.
|
|
415
|
-
"description": "Label displayed when no certificate is available",
|
|
416
|
-
"message": "
|
|
454
|
+
"components.DashboardCertificate.noCertificateCertificate": {
|
|
455
|
+
"description": "Label displayed when no certificate certificate is available",
|
|
456
|
+
"message": "Lorsque vous aurez réussi votre examen, vous pourrez télécharger votre attestation ici."
|
|
457
|
+
},
|
|
458
|
+
"components.DashboardCertificate.noCertificateCredential": {
|
|
459
|
+
"description": "Label displayed when no certificate credential is available",
|
|
460
|
+
"message": "Lorsque vous aurez réussi tous vos cours, vous pourrez télécharger votre attestation ici."
|
|
461
|
+
},
|
|
462
|
+
"components.DashboardCertificate.noCertificateUnknown": {
|
|
463
|
+
"description": "Label displayed when we dont have the product type and no certificate is available",
|
|
464
|
+
"message": "Lorsque vous aurez rempli toutes les conditions, vous pourrez télécharger votre attestation ici."
|
|
417
465
|
},
|
|
418
466
|
"components.DashboardCertificates.empty": {
|
|
419
467
|
"description": "Message displayed when there are no certificates",
|
|
@@ -423,6 +471,14 @@
|
|
|
423
471
|
"description": "Message displayed while loading certificates",
|
|
424
472
|
"message": "Chargement des certificats..."
|
|
425
473
|
},
|
|
474
|
+
"components.DashboardContracts.empty": {
|
|
475
|
+
"description": "Message displayed when there are no training contracts",
|
|
476
|
+
"message": "You have no training contract yet."
|
|
477
|
+
},
|
|
478
|
+
"components.DashboardContracts.loading": {
|
|
479
|
+
"description": "Message displayed while loading training contracts",
|
|
480
|
+
"message": "Loading training contracts..."
|
|
481
|
+
},
|
|
426
482
|
"components.DashboardCourses.emptyList": {
|
|
427
483
|
"description": "Empty placeholder of the dashboard's list of orders and enrollments",
|
|
428
484
|
"message": "Vous n'avez pas encore d'inscriptions ni de commandes."
|
|
@@ -523,22 +579,166 @@
|
|
|
523
579
|
"description": "Label of the title input on the credit card edit page",
|
|
524
580
|
"message": "Nom de la carte de crédit"
|
|
525
581
|
},
|
|
582
|
+
"components.DashboardItem.Order.ContractFrame.errorMaxPolling": {
|
|
583
|
+
"description": "Message displayed inside the contract signin modal if the order polling has reached its maximum attempts.",
|
|
584
|
+
"message": "The signature is taking more time than expected ... please come back later."
|
|
585
|
+
},
|
|
586
|
+
"components.DashboardItem.Order.ContractFrame.errorPolling": {
|
|
587
|
+
"description": "Message displayed inside the contract signin modal if the order polling failed a request.",
|
|
588
|
+
"message": "An error happened while verifying signature. Please come back later."
|
|
589
|
+
},
|
|
590
|
+
"components.DashboardItem.Order.ContractFrame.errorSubmitForSignature": {
|
|
591
|
+
"description": "Message displayed inside the contract signin modal while an error occurred.",
|
|
592
|
+
"message": "An error happened while initializing the signature process. Please retry later."
|
|
593
|
+
},
|
|
594
|
+
"components.DashboardItem.Order.ContractFrame.finishedButton": {
|
|
595
|
+
"description": "Button displayed inside the contract signin modal when the contract is signed.",
|
|
596
|
+
"message": "Next"
|
|
597
|
+
},
|
|
598
|
+
"components.DashboardItem.Order.ContractFrame.finishedCaption": {
|
|
599
|
+
"description": "Title displayed inside the contract signin modal when the contract is signed.",
|
|
600
|
+
"message": "Congratulations!"
|
|
601
|
+
},
|
|
602
|
+
"components.DashboardItem.Order.ContractFrame.finishedDescription": {
|
|
603
|
+
"description": "Message displayed inside the contract signin modal when the contract is signed.",
|
|
604
|
+
"message": "You will receive an email once your contract will be fully signed. You can now enroll in your course runs!"
|
|
605
|
+
},
|
|
606
|
+
"components.DashboardItem.Order.ContractFrame.loadingContract": {
|
|
607
|
+
"description": "Message displayed inside the contract signin modal when loading the contract.",
|
|
608
|
+
"message": "Loading your contract ..."
|
|
609
|
+
},
|
|
610
|
+
"components.DashboardItem.Order.ContractFrame.polling": {
|
|
611
|
+
"description": "Message displayed inside the contract signin modal when polling the order.",
|
|
612
|
+
"message": "Verifying signature ..."
|
|
613
|
+
},
|
|
614
|
+
"components.DashboardItem.Order.OrderStateMessage.statusCanceled": {
|
|
615
|
+
"description": "Status shown on the dashboard order item when order is canceled",
|
|
616
|
+
"message": "Canceled"
|
|
617
|
+
},
|
|
618
|
+
"components.DashboardItem.Order.OrderStateMessage.statusCompleted": {
|
|
619
|
+
"description": "Status shown on the dashboard order item when order is validated with certificate",
|
|
620
|
+
"message": "Completed"
|
|
621
|
+
},
|
|
622
|
+
"components.DashboardItem.Order.OrderStateMessage.statusDraft": {
|
|
623
|
+
"description": "Status shown on the dashboard order item when order is draft.",
|
|
624
|
+
"message": "Draft"
|
|
625
|
+
},
|
|
626
|
+
"components.DashboardItem.Order.OrderStateMessage.statusOnGoing": {
|
|
627
|
+
"description": "Status shown on the dashboard order item when order is validated with no certificate",
|
|
628
|
+
"message": "On going"
|
|
629
|
+
},
|
|
630
|
+
"components.DashboardItem.Order.OrderStateMessage.statusOther": {
|
|
631
|
+
"description": "Status shown on the dashboard order item when order status is unknown",
|
|
632
|
+
"message": "{state}"
|
|
633
|
+
},
|
|
634
|
+
"components.DashboardItem.Order.OrderStateMessage.statusPending": {
|
|
635
|
+
"description": "Status shown on the dashboard order item when order is pending.",
|
|
636
|
+
"message": "Pending"
|
|
637
|
+
},
|
|
638
|
+
"components.DashboardItem.Order.OrderStateMessage.statusSubmitted": {
|
|
639
|
+
"description": "Status shown on the dashboard order item when order is submitted.",
|
|
640
|
+
"message": "Submitted"
|
|
641
|
+
},
|
|
642
|
+
"components.DashboardItem.Order.OrderStateMessage.statusWaitingSignature": {
|
|
643
|
+
"description": "Status shown on the dashboard order item when order is validated with contract's learner signature missing.",
|
|
644
|
+
"message": "Signature required"
|
|
645
|
+
},
|
|
646
|
+
"components.DashboardItemCourseEnrollingRun.contractUnsigned": {
|
|
647
|
+
"description": "Message displayed as disabled button title when a contract needs to be signed.",
|
|
648
|
+
"message": "You have to sign the training contract before enrolling to your course."
|
|
649
|
+
},
|
|
650
|
+
"components.DashboardItemCourseEnrollingRun.courseRunsLoading": {
|
|
651
|
+
"description": "Text displayed when course runs list is loading",
|
|
652
|
+
"message": "Loading course runs..."
|
|
653
|
+
},
|
|
654
|
+
"components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened": {
|
|
655
|
+
"description": "Disclaimer that informs the user that enrollment is not yet opened",
|
|
656
|
+
"message": "Enrollment will open on {enrollment_start}"
|
|
657
|
+
},
|
|
658
|
+
"components.DashboardItemCourseEnrollingRun.noCourseRunAvailable": {
|
|
659
|
+
"description": "Text displayed when no course runs are opened for the course",
|
|
660
|
+
"message": "No session available for this course."
|
|
661
|
+
},
|
|
662
|
+
"components.DashboardItemEnrollment.changeEnrollCourseConfirmation": {
|
|
663
|
+
"description": "The confirmation message shown to the user when he wants to change its enrolled course run",
|
|
664
|
+
"message": "Are you sure you want to change your session? You will be unrolled from the other session!"
|
|
665
|
+
},
|
|
666
|
+
"components.DashboardItemEnrollment.enrollCourse": {
|
|
667
|
+
"description": "Button shown on a read-only not-enrolled target course that redirects to the details view",
|
|
668
|
+
"message": "Enroll"
|
|
669
|
+
},
|
|
670
|
+
"components.DashboardItemEnrollment.enrollRun": {
|
|
671
|
+
"description": "Button to enroll in a course run",
|
|
672
|
+
"message": "Enroll"
|
|
673
|
+
},
|
|
674
|
+
"components.DashboardItemEnrollment.enrolled": {
|
|
675
|
+
"description": "Text shown when user is enrolled in a course run",
|
|
676
|
+
"message": "Enrolled"
|
|
677
|
+
},
|
|
678
|
+
"components.DashboardItemEnrollment.enrolledRunPeriod": {
|
|
679
|
+
"description": "Text to display the period of a course run",
|
|
680
|
+
"message": "You are enrolled for the session from {startDate} to {endDate}"
|
|
681
|
+
},
|
|
682
|
+
"components.DashboardItemEnrollment.firstEnrollCourseConfirmation": {
|
|
683
|
+
"description": "The confirmation message shown to the user when he wants to enroll for the first time ( no existing enrollments )",
|
|
684
|
+
"message": "Are you sure that you want to enroll in this session?"
|
|
685
|
+
},
|
|
686
|
+
"components.DashboardItemEnrollment.gotoCourse": {
|
|
687
|
+
"description": "Button to access course when the user is enrolled",
|
|
688
|
+
"message": "Access course"
|
|
689
|
+
},
|
|
690
|
+
"components.DashboardItemEnrollment.notEnrolled": {
|
|
691
|
+
"description": "Text shown on a read-only not-enrolled target course",
|
|
692
|
+
"message": "You are not enrolled in this course"
|
|
693
|
+
},
|
|
694
|
+
"components.DashboardItemEnrollment.runPeriod": {
|
|
695
|
+
"description": "Text to display the period of a course run",
|
|
696
|
+
"message": "From {startDate} to {endDate}"
|
|
697
|
+
},
|
|
698
|
+
"components.DashboardItemEnrollment.statusNotActive": {
|
|
699
|
+
"description": "Text shown when a course run is not active",
|
|
700
|
+
"message": "Not enrolled"
|
|
701
|
+
},
|
|
702
|
+
"components.DashboardItemOrder.gotoCourse": {
|
|
703
|
+
"description": "Button that redirects to the order details",
|
|
704
|
+
"message": "View details"
|
|
705
|
+
},
|
|
706
|
+
"components.DashboardItemOrder.loadingCertificate": {
|
|
707
|
+
"description": "Accessible label displayed while certificate is being fetched on the dashboard.",
|
|
708
|
+
"message": "Loading certificate..."
|
|
709
|
+
},
|
|
526
710
|
"components.DashboardOrderLoader.loading": {
|
|
527
711
|
"description": "Message displayed while loading an order",
|
|
528
712
|
"message": "Chargement de la commande..."
|
|
529
713
|
},
|
|
530
|
-
"components.
|
|
531
|
-
"description": "
|
|
532
|
-
"message": "
|
|
714
|
+
"components.DashboardOrderLoader.signatureNeeded": {
|
|
715
|
+
"description": "Banner displayed when the contract is not signed",
|
|
716
|
+
"message": "You need to sign your contract before enrolling in a course run"
|
|
533
717
|
},
|
|
534
|
-
"components.
|
|
535
|
-
"description": "
|
|
536
|
-
"message": "
|
|
718
|
+
"components.DashboardOrderLoader.wrongLinkedProductError": {
|
|
719
|
+
"description": "Error message displayed when order's linked product type is not handle.",
|
|
720
|
+
"message": "This page is not available for this order."
|
|
537
721
|
},
|
|
538
722
|
"components.DesktopUserMenu.menuPurpose": {
|
|
539
723
|
"description": "Accessible label for user menu button",
|
|
540
724
|
"message": "Accéder aux préférences de votre profil"
|
|
541
725
|
},
|
|
726
|
+
"components.DownloadCertificateButton.download": {
|
|
727
|
+
"description": "Label for the download button of a certificate",
|
|
728
|
+
"message": "Télécharger"
|
|
729
|
+
},
|
|
730
|
+
"components.DownloadCertificateButton.generatingCertificate": {
|
|
731
|
+
"description": "Accessible label displayed while certificate is being generated.",
|
|
732
|
+
"message": "Attestattion en cours de génération..."
|
|
733
|
+
},
|
|
734
|
+
"components.DownloadContractButton.contractDownloadActionLabel": {
|
|
735
|
+
"description": "Label of \"download contract\" action.",
|
|
736
|
+
"message": "Download"
|
|
737
|
+
},
|
|
738
|
+
"components.DownloadContractButton.contractDownloadError": {
|
|
739
|
+
"description": "Message displayed when the order's contract download fails.",
|
|
740
|
+
"message": "An error happened while downloading the training contract. Please try again later."
|
|
741
|
+
},
|
|
542
742
|
"components.EnrollableCourseRunList.ariaSelectCourseRun": {
|
|
543
743
|
"description": "Accessible label used by screen reader when user checked a course run radio input.",
|
|
544
744
|
"message": "Sélectionnez la session se déroulant du {start} au {end}."
|
|
@@ -585,11 +785,31 @@
|
|
|
585
785
|
},
|
|
586
786
|
"components.EnrollmentDate.enrollFrom": {
|
|
587
787
|
"description": "Text label for the enrollment dates when enrollment is not yet opened",
|
|
588
|
-
"message": "
|
|
788
|
+
"message": "Inscription à partir du {date}"
|
|
589
789
|
},
|
|
590
790
|
"components.EnrollmentDate.enrollUntil": {
|
|
591
791
|
"description": "Text label for the enrollment dates when enrollment is opened",
|
|
592
|
-
"message": "
|
|
792
|
+
"message": "Inscription jusqu'au {date}"
|
|
793
|
+
},
|
|
794
|
+
"components.Form.utils.errors.mixedInvalid": {
|
|
795
|
+
"description": "Error message displayed when a field value is invalid.",
|
|
796
|
+
"message": "This field is invalid."
|
|
797
|
+
},
|
|
798
|
+
"components.Form.utils.errors.mixedOneOf": {
|
|
799
|
+
"description": "Error message displayed when a field value must be one of a list.",
|
|
800
|
+
"message": "You must select a value."
|
|
801
|
+
},
|
|
802
|
+
"components.Form.utils.errors.mixedRequired": {
|
|
803
|
+
"description": "Error message displayed when a field is required.",
|
|
804
|
+
"message": "This field is required."
|
|
805
|
+
},
|
|
806
|
+
"components.Form.utils.errors.stringMax": {
|
|
807
|
+
"description": "Error message displayed when a field value is too long.",
|
|
808
|
+
"message": "The maximum length is {max} {max, plural, one {char} other {chars}}."
|
|
809
|
+
},
|
|
810
|
+
"components.Form.utils.errors.stringMin": {
|
|
811
|
+
"description": "Error message displayed when a field value is too short.",
|
|
812
|
+
"message": "The minimum length is {min} {min, plural, one {char} other {chars}}."
|
|
593
813
|
},
|
|
594
814
|
"components.LanguageSelector.currentlySelected": {
|
|
595
815
|
"description": "Accessible hint to mark the currently selected language in the language selector",
|
|
@@ -611,6 +831,14 @@
|
|
|
611
831
|
"description": "Text for the button to close the modal",
|
|
612
832
|
"message": "Fermer la fenêtre de dialogue"
|
|
613
833
|
},
|
|
834
|
+
"components.NavigationSelect.responsiveNavLabel": {
|
|
835
|
+
"description": "a11y related label for select input used to navigate on responsive",
|
|
836
|
+
"message": "Navigate to"
|
|
837
|
+
},
|
|
838
|
+
"components.NavigationSelect.settingsLinkLabel": {
|
|
839
|
+
"description": "label of the settings link",
|
|
840
|
+
"message": "Settings"
|
|
841
|
+
},
|
|
614
842
|
"components.PaginateCourseSearch.currentlyReadingLastPageN": {
|
|
615
843
|
"description": "Accessibility helper in pagination, shown next to the current page number when it is the last page.",
|
|
616
844
|
"message": "Actuellement sur la dernière page: {page}"
|
|
@@ -657,7 +885,11 @@
|
|
|
657
885
|
},
|
|
658
886
|
"components.PaymentButton.errorFullProduct": {
|
|
659
887
|
"description": "Error message shown when payment creation request failed because there is no remaining available seat for the product.",
|
|
660
|
-
"message": "
|
|
888
|
+
"message": "Il n'y a pas plus de places disponibles pour ce produit."
|
|
889
|
+
},
|
|
890
|
+
"components.PaymentButton.errorTerms": {
|
|
891
|
+
"description": "Error message shown when the user didn't check the terms checkbox.",
|
|
892
|
+
"message": "You must accept the terms."
|
|
661
893
|
},
|
|
662
894
|
"components.PaymentButton.pay": {
|
|
663
895
|
"description": "CTA label to proceed to the payment of the product",
|
|
@@ -671,6 +903,22 @@
|
|
|
671
903
|
"description": "Label for screen reader when a payment is in progress.",
|
|
672
904
|
"message": "Paiement en cours"
|
|
673
905
|
},
|
|
906
|
+
"components.PaymentButton.termsMessage": {
|
|
907
|
+
"description": "Message next to the checkbox in order to accept the terms",
|
|
908
|
+
"message": "By checking this box, you accept the"
|
|
909
|
+
},
|
|
910
|
+
"components.ProductCertificateFooter.buyProductCertificateLabel": {
|
|
911
|
+
"description": "Label on the enrollement row that propose to buy a product of type certificate",
|
|
912
|
+
"message": "An exam which delivers a certificate can be purchased for this course."
|
|
913
|
+
},
|
|
914
|
+
"components.ProductCertificateFooter.downloadProductCertificateLabel": {
|
|
915
|
+
"description": "Label on the enrollement row that propose to download a certificate",
|
|
916
|
+
"message": "A certificate is available for download."
|
|
917
|
+
},
|
|
918
|
+
"components.ProductCertificateFooter.pendingProductCertificateLabel": {
|
|
919
|
+
"description": "Label on the enrollement when a product of type certificate have been bought",
|
|
920
|
+
"message": "Finish this course to obtain your certificate."
|
|
921
|
+
},
|
|
674
922
|
"components.RegisteredCreditCard.expirationDate": {
|
|
675
923
|
"description": "Credit card expiration date label",
|
|
676
924
|
"message": "Date d'expiration : {expirationDate}"
|
|
@@ -691,13 +939,17 @@
|
|
|
691
939
|
"description": "Label displayed inside the product's CTA when user is not logged in",
|
|
692
940
|
"message": "Connectez-vous pour acheter {product}"
|
|
693
941
|
},
|
|
694
|
-
"components.SaleTunnel.
|
|
942
|
+
"components.SaleTunnel.noCourseRunToPurchaseCertificate": {
|
|
943
|
+
"description": "Label displayed below the product's CTA when there is no courseRun",
|
|
944
|
+
"message": "The course run is not active. This product is not currently available for sale."
|
|
945
|
+
},
|
|
946
|
+
"components.SaleTunnel.noCourseRunToPurchaseCredential": {
|
|
695
947
|
"description": "Label displayed below the product's CTA when there is no courseRun",
|
|
696
|
-
"message": "At least one course has no course runs
|
|
948
|
+
"message": "At least one course has no course runs. This product is not currently available for sale."
|
|
697
949
|
},
|
|
698
950
|
"components.SaleTunnel.noRemainingOrder": {
|
|
699
951
|
"description": "Label displayed below the product's CTA when there is no remaining available seat for the product",
|
|
700
|
-
"message": "
|
|
952
|
+
"message": "Il n'y a pas plus de places disponibles pour ce produit."
|
|
701
953
|
},
|
|
702
954
|
"components.SaleTunnel.stepPayment": {
|
|
703
955
|
"description": "Label of the Payment step",
|
|
@@ -719,6 +971,14 @@
|
|
|
719
971
|
"description": "Label for the resume tile",
|
|
720
972
|
"message": "Vous êtes sur le point d'acheter"
|
|
721
973
|
},
|
|
974
|
+
"components.SaleTunnelStepPayment.termsMessageLink": {
|
|
975
|
+
"description": "Clickable link included in the terms message",
|
|
976
|
+
"message": "General Terms of Sale"
|
|
977
|
+
},
|
|
978
|
+
"components.SaleTunnelStepPayment.termsMessageLinkTitle": {
|
|
979
|
+
"description": "Title of clickable link included in the terms message",
|
|
980
|
+
"message": "Open a preview of the General Terms of Sale"
|
|
981
|
+
},
|
|
722
982
|
"components.SaleTunnelStepPayment.userBillingAddressAddLabel": {
|
|
723
983
|
"description": "Label for the billing address add button",
|
|
724
984
|
"message": "Ajouter une adresse"
|
|
@@ -751,10 +1011,18 @@
|
|
|
751
1011
|
"description": "Label to the call to action to close sale tunnel",
|
|
752
1012
|
"message": "Commencer ce cours dès maintenant !"
|
|
753
1013
|
},
|
|
1014
|
+
"components.SaleTunnelStepResume.ctaSignature": {
|
|
1015
|
+
"description": "Label to the call to action to close sale tunnel if there is a pending signature",
|
|
1016
|
+
"message": "Sign the training contract"
|
|
1017
|
+
},
|
|
754
1018
|
"components.SaleTunnelStepResume.successDetailMessage": {
|
|
755
1019
|
"description": "Text to remind that order's invoice will be send by email soon",
|
|
756
1020
|
"message": "Vous allez recevoir votre facture par courriel dans quelques instants."
|
|
757
1021
|
},
|
|
1022
|
+
"components.SaleTunnelStepResume.successDetailSignatureMessage": {
|
|
1023
|
+
"description": "Text to remind that order needs to be signed",
|
|
1024
|
+
"message": "In order to enroll to course runs you first need to sign the training contract."
|
|
1025
|
+
},
|
|
758
1026
|
"components.SaleTunnelStepResume.successMessage": {
|
|
759
1027
|
"description": "Message to confirm that order has been created",
|
|
760
1028
|
"message": "Votre commande a été créée avec succès."
|
|
@@ -773,11 +1041,11 @@
|
|
|
773
1041
|
},
|
|
774
1042
|
"components.SaleTunnelStepValidation.language": {
|
|
775
1043
|
"description": "Label displayed before the list of languages",
|
|
776
|
-
"message": "{ count, plural, one {
|
|
1044
|
+
"message": "{ count, plural, one {Langue :} other {Langues :} }"
|
|
777
1045
|
},
|
|
778
1046
|
"components.SaleTunnelStepValidation.noCourseRunAvailable": {
|
|
779
1047
|
"description": "Text displayed when no course run are opened for the course",
|
|
780
|
-
"message": "
|
|
1048
|
+
"message": "Aucune session disponible pour ce cours."
|
|
781
1049
|
},
|
|
782
1050
|
"components.SaleTunnelStepValidation.proceedToPayment": {
|
|
783
1051
|
"description": "CTA to go to payment step",
|
|
@@ -867,6 +1135,18 @@
|
|
|
867
1135
|
"description": "Placeholder text displayed in the search field when it is empty.",
|
|
868
1136
|
"message": "Recherche des cours, des organisations, des catégories"
|
|
869
1137
|
},
|
|
1138
|
+
"components.SignContractButton.contractDownloadActionLabel": {
|
|
1139
|
+
"description": "Label of \"download contract\" action.",
|
|
1140
|
+
"message": "Download"
|
|
1141
|
+
},
|
|
1142
|
+
"components.SignContractButton.contractDownloadError": {
|
|
1143
|
+
"description": "Message displayed when the order's contract download fails.",
|
|
1144
|
+
"message": "An error happened while downloading the training contract. Please try again later."
|
|
1145
|
+
},
|
|
1146
|
+
"components.SignContractButton.contractSignActionLabel": {
|
|
1147
|
+
"description": "Label of \"sign contract\" action.",
|
|
1148
|
+
"message": "Sign"
|
|
1149
|
+
},
|
|
870
1150
|
"components.StepBreadcrumb.stepCount": {
|
|
871
1151
|
"description": "Info about current step, not visible, only announced by screen readers",
|
|
872
1152
|
"message": "« Étape {current, number} de {total, number} {active, select, true {(active)} other {}}»"
|
|
@@ -881,119 +1161,83 @@
|
|
|
881
1161
|
},
|
|
882
1162
|
"components.SyllabusAsideList.archived": {
|
|
883
1163
|
"description": "Message displayed on syllabus when there are archived course runs",
|
|
884
|
-
"message": "
|
|
1164
|
+
"message": "Archivées"
|
|
885
1165
|
},
|
|
886
1166
|
"components.SyllabusAsideList.courseRunsTitle": {
|
|
887
1167
|
"description": "Message displayed on the top of course runs list on syllabus when there is 0 or multiple course runs opened",
|
|
888
|
-
"message": "
|
|
1168
|
+
"message": "Session de cours"
|
|
889
1169
|
},
|
|
890
1170
|
"components.SyllabusAsideList.noCourseRuns": {
|
|
891
1171
|
"description": "Message displayed on syllabus when there are no course runs to show",
|
|
892
|
-
"message": "
|
|
1172
|
+
"message": "Aucune session"
|
|
893
1173
|
},
|
|
894
1174
|
"components.SyllabusAsideList.noOtherCourseRuns": {
|
|
895
1175
|
"description": "Message displayed on syllabus when there are no other course runs to show than the only one opened",
|
|
896
|
-
"message": "
|
|
1176
|
+
"message": "Aucune autre session"
|
|
897
1177
|
},
|
|
898
1178
|
"components.SyllabusAsideList.ongoing": {
|
|
899
1179
|
"description": "Message displayed on syllabus when there are ongoing course runs",
|
|
900
|
-
"message": "
|
|
1180
|
+
"message": "En cours"
|
|
901
1181
|
},
|
|
902
1182
|
"components.SyllabusAsideList.otherCourseRuns": {
|
|
903
1183
|
"description": "Message displayed on the top of course runs list on syllabus when there is only one course run opened",
|
|
904
|
-
"message": "
|
|
1184
|
+
"message": "Autres sessions"
|
|
905
1185
|
},
|
|
906
1186
|
"components.SyllabusAsideList.toBeScheduled": {
|
|
907
1187
|
"description": "Message displayed on syllabus when there are course runs to be scheduled",
|
|
908
|
-
"message": "
|
|
1188
|
+
"message": "À programmer"
|
|
909
1189
|
},
|
|
910
1190
|
"components.SyllabusAsideList.upcoming": {
|
|
911
1191
|
"description": "Message displayed on syllabus when there are upcoming course runs",
|
|
912
|
-
"message": "
|
|
1192
|
+
"message": "À venir"
|
|
913
1193
|
},
|
|
914
1194
|
"components.SyllabusCourseRun.course": {
|
|
915
1195
|
"description": "Title of the course dates section of an opened course run block",
|
|
916
|
-
"message": "
|
|
1196
|
+
"message": "Cours"
|
|
917
1197
|
},
|
|
918
1198
|
"components.SyllabusCourseRun.coursePeriod": {
|
|
919
1199
|
"description": "Course date of an opened course run block",
|
|
920
|
-
"message": "
|
|
1200
|
+
"message": "Du {startDate} au {endDate}"
|
|
921
1201
|
},
|
|
922
1202
|
"components.SyllabusCourseRun.enrollment": {
|
|
923
1203
|
"description": "Title of the enrollment dates section of an opened course run block",
|
|
924
|
-
"message": "
|
|
1204
|
+
"message": "Inscription"
|
|
925
1205
|
},
|
|
926
1206
|
"components.SyllabusCourseRun.enrollmentPeriod": {
|
|
927
1207
|
"description": "Enrollment date of an opened course run block",
|
|
928
|
-
"message": "
|
|
1208
|
+
"message": "Du {startDate} au {endDate}"
|
|
929
1209
|
},
|
|
930
1210
|
"components.SyllabusCourseRun.languages": {
|
|
931
1211
|
"description": "Title of the languages section of an opened course run block",
|
|
932
|
-
"message": "
|
|
1212
|
+
"message": "Langues"
|
|
933
1213
|
},
|
|
934
1214
|
"components.SyllabusCourseRunsList.multipleOpenedCourseRuns": {
|
|
935
1215
|
"description": "Message displayed when there are multiple opened course runs on a syllabus",
|
|
936
|
-
"message": "{count}
|
|
1216
|
+
"message": "{count} sessions sont actuellement ouvertes pour ce cours"
|
|
937
1217
|
},
|
|
938
1218
|
"components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton": {
|
|
939
1219
|
"description": "Message displayed on the button when there are multiple opened course runs on a syllabus",
|
|
940
|
-
"message": "
|
|
1220
|
+
"message": "Choisir maintenant"
|
|
941
1221
|
},
|
|
942
1222
|
"components.SyllabusCourseRunsList.noOpenedCourseRuns": {
|
|
943
1223
|
"description": "Message displayed when there are no opened course runs on a syllabus",
|
|
944
|
-
"message": "
|
|
1224
|
+
"message": "Aucune session ouverte"
|
|
945
1225
|
},
|
|
946
1226
|
"components.SyllabusSimpleCourseRunsList.viewMore": {
|
|
947
1227
|
"description": "Button displayed on the syllabus when not all course runs are displayed",
|
|
948
|
-
"message": "
|
|
949
|
-
},
|
|
950
|
-
"components.TeacherCourseDashboardLoader.errorNoCourse": {
|
|
951
|
-
"description": "Message displayed when requested course is not found",
|
|
952
|
-
"message": "This course doesn't exist"
|
|
953
|
-
},
|
|
954
|
-
"components.TeacherCourseDashboardLoader.loading": {
|
|
955
|
-
"description": "Message displayed while loading a course",
|
|
956
|
-
"message": "Loading course..."
|
|
957
|
-
},
|
|
958
|
-
"components.TeacherCourseDashboardLoader.pageTitle": {
|
|
959
|
-
"description": "Use for the page title of the course area",
|
|
960
|
-
"message": "Course area"
|
|
961
|
-
},
|
|
962
|
-
"components.TeacherCourseDashboardSidebar.header": {
|
|
963
|
-
"description": "Title of the course dashboard sidebar",
|
|
964
|
-
"message": "{courseTitle}"
|
|
965
|
-
},
|
|
966
|
-
"components.TeacherCourseDashboardSidebar.loading": {
|
|
967
|
-
"description": "Message displayed while loading a course",
|
|
968
|
-
"message": "Loading course..."
|
|
969
|
-
},
|
|
970
|
-
"components.TeacherCourseDashboardSidebar.subHeader": {
|
|
971
|
-
"description": "Sub title of the course dashboard sidebar",
|
|
972
|
-
"message": "You are on the course dashboard"
|
|
1228
|
+
"message": "Voir plus"
|
|
973
1229
|
},
|
|
974
|
-
"components.
|
|
975
|
-
"description": "
|
|
976
|
-
"message": "
|
|
1230
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.course.contracts.label": {
|
|
1231
|
+
"description": "Label of the course contracts view.",
|
|
1232
|
+
"message": "Contrats"
|
|
977
1233
|
},
|
|
978
|
-
"components.
|
|
979
|
-
"description": "
|
|
980
|
-
"message": "
|
|
981
|
-
},
|
|
982
|
-
"components.TeacherCoursesDashboardLoader.title.filteredCourses": {
|
|
983
|
-
"description": "Filtered courses title",
|
|
984
|
-
"message": "Your courses"
|
|
985
|
-
},
|
|
986
|
-
"components.TeacherCoursesDashboardLoader.title.incoming": {
|
|
987
|
-
"description": "Incoming courses title",
|
|
988
|
-
"message": "Incoming"
|
|
989
|
-
},
|
|
990
|
-
"components.TeacherCoursesDashboardLoader.title.ongoing": {
|
|
991
|
-
"description": "Ongoing courses title",
|
|
992
|
-
"message": "Ongoing"
|
|
1234
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.course.contracts.path": {
|
|
1235
|
+
"description": "The path to display a course contracts view.",
|
|
1236
|
+
"message": "/teacher/courses/{courseId}/contracts"
|
|
993
1237
|
},
|
|
994
1238
|
"components.TeacherDashboard.TeacherDashboardRoutes.course.generalInformation.path": {
|
|
995
1239
|
"description": "The path to display the course general information view.",
|
|
996
|
-
"message": "/
|
|
1240
|
+
"message": "/enseignant/cours/{courseId}/informations"
|
|
997
1241
|
},
|
|
998
1242
|
"components.TeacherDashboard.TeacherDashboardRoutes.course.label": {
|
|
999
1243
|
"description": "Label of the course root view.",
|
|
@@ -1001,35 +1245,67 @@
|
|
|
1001
1245
|
},
|
|
1002
1246
|
"components.TeacherDashboard.TeacherDashboardRoutes.course.path": {
|
|
1003
1247
|
"description": "The path to display the course view.",
|
|
1004
|
-
"message": "/
|
|
1248
|
+
"message": "/enseignant/cours/{courseId}"
|
|
1249
|
+
},
|
|
1250
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label": {
|
|
1251
|
+
"description": "Label of the product contracts view.",
|
|
1252
|
+
"message": "Contrats"
|
|
1253
|
+
},
|
|
1254
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.path": {
|
|
1255
|
+
"description": "The path to display a product contracts view.",
|
|
1256
|
+
"message": "/teacher/courses/{courseId}/products/{courseProductRelationId}/contracts"
|
|
1005
1257
|
},
|
|
1006
1258
|
"components.TeacherDashboard.TeacherDashboardRoutes.course.product.label": {
|
|
1007
1259
|
"description": "Label of the product view.",
|
|
1008
|
-
"message": "
|
|
1260
|
+
"message": "Formation"
|
|
1009
1261
|
},
|
|
1010
1262
|
"components.TeacherDashboard.TeacherDashboardRoutes.course.product.path": {
|
|
1011
1263
|
"description": "The path to display the product view.",
|
|
1012
|
-
"message": "/
|
|
1264
|
+
"message": "/enseignant/cours/{courseId}/produit/{courseProductRelationId}"
|
|
1013
1265
|
},
|
|
1014
1266
|
"components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label": {
|
|
1015
1267
|
"description": "Label of the course general information view.",
|
|
1016
|
-
"message": "
|
|
1268
|
+
"message": "Informations générales"
|
|
1269
|
+
},
|
|
1270
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label": {
|
|
1271
|
+
"description": "Label of the organization contracts view.",
|
|
1272
|
+
"message": "Contrats"
|
|
1273
|
+
},
|
|
1274
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.path": {
|
|
1275
|
+
"description": "The path to display the organization contracts view.",
|
|
1276
|
+
"message": "/teacher/organizations/{organizationId}/contracts"
|
|
1277
|
+
},
|
|
1278
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label": {
|
|
1279
|
+
"description": "Label of the organization course's contracts view.",
|
|
1280
|
+
"message": "Contrats"
|
|
1281
|
+
},
|
|
1282
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.path": {
|
|
1283
|
+
"description": "The path to display the organization course's contracts view.",
|
|
1284
|
+
"message": "/teacher/organizations/{organizationId}/courses/{courseId}/contracts"
|
|
1017
1285
|
},
|
|
1018
1286
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label": {
|
|
1019
1287
|
"description": "Label of the organization course general information view.",
|
|
1020
|
-
"message": "
|
|
1288
|
+
"message": "Informations générales"
|
|
1021
1289
|
},
|
|
1022
1290
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.path": {
|
|
1023
1291
|
"description": "The path to display the organization course general information view.",
|
|
1024
|
-
"message": "/
|
|
1292
|
+
"message": "/enseignant/organisations/{organizationId}/cours/{courseId}/informations"
|
|
1293
|
+
},
|
|
1294
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label": {
|
|
1295
|
+
"description": "Label of the organization product's contracts view.",
|
|
1296
|
+
"message": "Contrats"
|
|
1297
|
+
},
|
|
1298
|
+
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.path": {
|
|
1299
|
+
"description": "The path to display the organization product's contracts view.",
|
|
1300
|
+
"message": "/teacher/organizations/{organizationId}/courses/{courseId}/products/{courseProductRelationId}/contracts"
|
|
1025
1301
|
},
|
|
1026
1302
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label": {
|
|
1027
1303
|
"description": "Label of the organization product view.",
|
|
1028
|
-
"message": "
|
|
1304
|
+
"message": "Formation"
|
|
1029
1305
|
},
|
|
1030
1306
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.path": {
|
|
1031
1307
|
"description": "The path to display the organization product view.",
|
|
1032
|
-
"message": "/
|
|
1308
|
+
"message": "/enseignant/organisations/{organizationId}/cours/{courseId}/produits/{courseProductRelationId}"
|
|
1033
1309
|
},
|
|
1034
1310
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label": {
|
|
1035
1311
|
"description": "Label of the organization courses view.",
|
|
@@ -1037,7 +1313,7 @@
|
|
|
1037
1313
|
},
|
|
1038
1314
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.path": {
|
|
1039
1315
|
"description": "The path to display the organization courses view.",
|
|
1040
|
-
"message": "/
|
|
1316
|
+
"message": "/enseignant/organisations/{organizationId}/cours"
|
|
1041
1317
|
},
|
|
1042
1318
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.label": {
|
|
1043
1319
|
"description": "Label of the organization view.",
|
|
@@ -1045,7 +1321,7 @@
|
|
|
1045
1321
|
},
|
|
1046
1322
|
"components.TeacherDashboard.TeacherDashboardRoutes.organization.path": {
|
|
1047
1323
|
"description": "The path to display the organization view.",
|
|
1048
|
-
"message": "/
|
|
1324
|
+
"message": "/enseignant/organisations/{organizationId}"
|
|
1049
1325
|
},
|
|
1050
1326
|
"components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label": {
|
|
1051
1327
|
"description": "Label of the teacher courses liste view.",
|
|
@@ -1053,7 +1329,7 @@
|
|
|
1053
1329
|
},
|
|
1054
1330
|
"components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.path": {
|
|
1055
1331
|
"description": "The path to display the teacher courses liste view.",
|
|
1056
|
-
"message": "/
|
|
1332
|
+
"message": "/enseignant/cours"
|
|
1057
1333
|
},
|
|
1058
1334
|
"components.TeacherDashboard.TeacherDashboardRoutes.root.label": {
|
|
1059
1335
|
"description": "Label of the teacher dashboard root view.",
|
|
@@ -1065,55 +1341,99 @@
|
|
|
1065
1341
|
},
|
|
1066
1342
|
"components.TeacherDashboardCourseList.emptyList": {
|
|
1067
1343
|
"description": "Empty placeholder of the dashboard's list of trainings",
|
|
1068
|
-
"message": "
|
|
1344
|
+
"message": "Vous n'avez pas encore de cours."
|
|
1069
1345
|
},
|
|
1070
1346
|
"components.TeacherDashboardCourseList.loadMore": {
|
|
1071
1347
|
"description": "Button to manually load more trainings",
|
|
1072
|
-
"message": "
|
|
1348
|
+
"message": "Afficher plus"
|
|
1073
1349
|
},
|
|
1074
1350
|
"components.TeacherDashboardCourseList.loading": {
|
|
1075
1351
|
"description": "Message displayed while loading trainings on the teacher's dashboard'",
|
|
1076
|
-
"message": "
|
|
1352
|
+
"message": "Chargement des cours..."
|
|
1077
1353
|
},
|
|
1078
|
-
"components.
|
|
1354
|
+
"components.TeacherDashboardCourseLoader.errorNoCourse": {
|
|
1355
|
+
"description": "Message displayed when requested course is not found",
|
|
1356
|
+
"message": "Ce cours n'existe pas"
|
|
1357
|
+
},
|
|
1358
|
+
"components.TeacherDashboardCourseLoader.loading": {
|
|
1359
|
+
"description": "Message displayed while loading a course",
|
|
1360
|
+
"message": "Chargement du cours..."
|
|
1361
|
+
},
|
|
1362
|
+
"components.TeacherDashboardCourseLoader.pageTitle": {
|
|
1363
|
+
"description": "Use for the page title of the course area",
|
|
1364
|
+
"message": "Espace de cours"
|
|
1365
|
+
},
|
|
1366
|
+
"components.TeacherDashboardCourseSidebar.header": {
|
|
1367
|
+
"description": "Title of the course dashboard sidebar",
|
|
1368
|
+
"message": "{courseTitle}"
|
|
1369
|
+
},
|
|
1370
|
+
"components.TeacherDashboardCourseSidebar.loading": {
|
|
1371
|
+
"description": "Message displayed while loading a course",
|
|
1372
|
+
"message": "Chargement du cours..."
|
|
1373
|
+
},
|
|
1374
|
+
"components.TeacherDashboardCourseSidebar.subHeader": {
|
|
1375
|
+
"description": "Sub title of the course dashboard sidebar",
|
|
1376
|
+
"message": "Vous êtes sur le tableau de bord du cours"
|
|
1377
|
+
},
|
|
1378
|
+
"components.TeacherDashboardCourseSidebar.syllabusLinkLabel": {
|
|
1379
|
+
"description": "Syllabus link label",
|
|
1380
|
+
"message": "Accéder au plan de cours"
|
|
1381
|
+
},
|
|
1382
|
+
"components.TeacherDashboardCoursesLoader.title.archived": {
|
|
1383
|
+
"description": "Archived courses title",
|
|
1384
|
+
"message": "Archivé"
|
|
1385
|
+
},
|
|
1386
|
+
"components.TeacherDashboardCoursesLoader.title.filteredCourses": {
|
|
1387
|
+
"description": "Filtered courses title",
|
|
1388
|
+
"message": "Vos cours"
|
|
1389
|
+
},
|
|
1390
|
+
"components.TeacherDashboardCoursesLoader.title.incoming": {
|
|
1391
|
+
"description": "Incoming courses title",
|
|
1392
|
+
"message": "À venir"
|
|
1393
|
+
},
|
|
1394
|
+
"components.TeacherDashboardCoursesLoader.title.ongoing": {
|
|
1395
|
+
"description": "Ongoing courses title",
|
|
1396
|
+
"message": "En cours"
|
|
1397
|
+
},
|
|
1398
|
+
"components.TeacherDashboardOrganizationCourseLoader.loading": {
|
|
1079
1399
|
"description": "Message displayed while loading an organization",
|
|
1080
|
-
"message": "Chargement de l'
|
|
1400
|
+
"message": "Chargement de l'institution..."
|
|
1081
1401
|
},
|
|
1082
|
-
"components.
|
|
1402
|
+
"components.TeacherDashboardOrganizationCourseLoader.title": {
|
|
1083
1403
|
"description": "Message displayed as title of organization courses page",
|
|
1084
|
-
"message": "
|
|
1404
|
+
"message": "Cours de {organizationTitle}"
|
|
1085
1405
|
},
|
|
1086
|
-
"components.
|
|
1406
|
+
"components.TeacherDashboardOrganizationSidebar.loading": {
|
|
1087
1407
|
"description": "Message displayed while loading an organization",
|
|
1088
|
-
"message": "
|
|
1408
|
+
"message": "Chargement de l'institution..."
|
|
1089
1409
|
},
|
|
1090
|
-
"components.
|
|
1410
|
+
"components.TeacherDashboardOrganizationSidebar.subHeader": {
|
|
1091
1411
|
"description": "Sub title of the organization dashboard sidebar",
|
|
1092
|
-
"message": "Vous êtes sur le tableau de bord de l'
|
|
1412
|
+
"message": "Vous êtes sur le tableau de bord de l'institution"
|
|
1093
1413
|
},
|
|
1094
|
-
"components.
|
|
1414
|
+
"components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle": {
|
|
1095
1415
|
"description": "Organization link title",
|
|
1096
|
-
"message": "Lien vers l'
|
|
1416
|
+
"message": "Lien vers l'institution «{organizationTitle}»"
|
|
1097
1417
|
},
|
|
1098
|
-
"components.
|
|
1418
|
+
"components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle": {
|
|
1099
1419
|
"description": "Title of the organizations section",
|
|
1100
1420
|
"message": "Mes universités"
|
|
1101
1421
|
},
|
|
1102
|
-
"components.
|
|
1422
|
+
"components.TeacherDashboardProfileSidebar.subHeader": {
|
|
1103
1423
|
"description": "Sub title of the dashboard sidebar",
|
|
1104
1424
|
"message": "Vous êtes sur votre tableau de bord enseignant"
|
|
1105
1425
|
},
|
|
1106
|
-
"components.
|
|
1426
|
+
"components.TeacherDashboardTraining.errorNoCourseProductRelation": {
|
|
1107
1427
|
"description": "Message displayed when requested course product relation is not found",
|
|
1108
|
-
"message": "
|
|
1428
|
+
"message": "Ce produit n’existe pas"
|
|
1109
1429
|
},
|
|
1110
|
-
"components.
|
|
1430
|
+
"components.TeacherDashboardTrainingLoader.loading": {
|
|
1111
1431
|
"description": "Message displayed while loading a course",
|
|
1112
|
-
"message": "
|
|
1432
|
+
"message": "Chargement de la formation..."
|
|
1113
1433
|
},
|
|
1114
|
-
"components.
|
|
1434
|
+
"components.TeacherDashboardTrainingLoader.pageTitle": {
|
|
1115
1435
|
"description": "Use for the page title of the training area",
|
|
1116
|
-
"message": "
|
|
1436
|
+
"message": "Espace de formation"
|
|
1117
1437
|
},
|
|
1118
1438
|
"components.UserLogin.logIn": {
|
|
1119
1439
|
"description": "Text for the login button.",
|
|
@@ -1131,6 +1451,14 @@
|
|
|
1131
1451
|
"description": "Accessibility text for the spinner in the login area.",
|
|
1132
1452
|
"message": "Vérification de l'état de connexion..."
|
|
1133
1453
|
},
|
|
1454
|
+
"components.form.messages.formOptionalFieldsText": {
|
|
1455
|
+
"description": "Text at the top of forms indicating what are optional fields",
|
|
1456
|
+
"message": "All fields are required unless marked optional"
|
|
1457
|
+
},
|
|
1458
|
+
"components.form.messages.optionalFieldText": {
|
|
1459
|
+
"description": "text display under form elements that are optional",
|
|
1460
|
+
"message": "(optional)"
|
|
1461
|
+
},
|
|
1134
1462
|
"components.useStaticFilters.courses": {
|
|
1135
1463
|
"description": "localized human_name label for coursesConfig filter name",
|
|
1136
1464
|
"message": "Cours"
|
|
@@ -1179,33 +1507,49 @@
|
|
|
1179
1507
|
"description": "Error message shown to the user when no certificate matches.",
|
|
1180
1508
|
"message": "Certificat introuvable"
|
|
1181
1509
|
},
|
|
1510
|
+
"hooks.useContracts.errorNotFound": {
|
|
1511
|
+
"description": "Error message shown to the user when no contract matches.",
|
|
1512
|
+
"message": "Impossible de trouver le contrat"
|
|
1513
|
+
},
|
|
1514
|
+
"hooks.useContracts.errorSelect": {
|
|
1515
|
+
"description": "Error message shown to the user when contracts fetch request fails.",
|
|
1516
|
+
"message": "Une erreur s'est produite lors de la récupération des contrats. Veuillez réessayer plus tard."
|
|
1517
|
+
},
|
|
1182
1518
|
"hooks.useCourseProductRelations.errorGet": {
|
|
1183
1519
|
"description": "Error message shown to the user when course product relation fetch request fails.",
|
|
1184
|
-
"message": "
|
|
1520
|
+
"message": "Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard."
|
|
1185
1521
|
},
|
|
1186
1522
|
"hooks.useCourseProductRelations.errorNotFound": {
|
|
1187
1523
|
"description": "Error message shown to the user when no course product relation matches.",
|
|
1188
|
-
"message": "
|
|
1524
|
+
"message": "Formation introuvable."
|
|
1189
1525
|
},
|
|
1190
1526
|
"hooks.useCourseProductUnion.errorGet": {
|
|
1191
1527
|
"description": "Error message shown to the user when trainings fetch request fails.",
|
|
1192
|
-
"message": "
|
|
1528
|
+
"message": "Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard."
|
|
1529
|
+
},
|
|
1530
|
+
"hooks.useCourseProducts.errorGet": {
|
|
1531
|
+
"description": "Error message shown to the user when product fetch request fails.",
|
|
1532
|
+
"message": "Une erreur s'est produite lors de la récupération du produit. Veuillez réessayer plus tard."
|
|
1533
|
+
},
|
|
1534
|
+
"hooks.useCourseProducts.errorNotFound": {
|
|
1535
|
+
"description": "Error message shown to the user when no product matches.",
|
|
1536
|
+
"message": "Produit introuvable."
|
|
1193
1537
|
},
|
|
1194
1538
|
"hooks.useCourseRuns.errorGet": {
|
|
1195
1539
|
"description": "Error message shown to the user when course runs fetch request fails.",
|
|
1196
|
-
"message": "
|
|
1540
|
+
"message": "Une erreur s'est produite lors de la récupération des sessions de cours. Veuillez réessayer plus tard."
|
|
1197
1541
|
},
|
|
1198
1542
|
"hooks.useCourseRuns.errorNotFound": {
|
|
1199
1543
|
"description": "Error message shown to the user when no course runs matches.",
|
|
1200
|
-
"message": "
|
|
1544
|
+
"message": "Impossible de trouver les sessions de cours."
|
|
1201
1545
|
},
|
|
1202
1546
|
"hooks.useCourses.errorNotFound": {
|
|
1203
1547
|
"description": "Error message shown to the user when not course matches.",
|
|
1204
|
-
"message": "
|
|
1548
|
+
"message": "Impossible de trouver le cours."
|
|
1205
1549
|
},
|
|
1206
1550
|
"hooks.useCourses.errorSelect": {
|
|
1207
1551
|
"description": "Error message shown to the user when course fetch request fails.",
|
|
1208
|
-
"message": "
|
|
1552
|
+
"message": "Une erreur s'est produite lors de la récupération du cours. Veuillez réessayer plus tard."
|
|
1209
1553
|
},
|
|
1210
1554
|
"hooks.useCreditCards.errorCreate": {
|
|
1211
1555
|
"description": "Error message shown to the user when credit card creation request fails.",
|
|
@@ -1259,6 +1603,14 @@
|
|
|
1259
1603
|
"description": "Error message shown to the user when enrollment update request fails.",
|
|
1260
1604
|
"message": "Une erreur s'est produite lors de la mise à jour de l'inscription. Veuillez réessayer plus tard."
|
|
1261
1605
|
},
|
|
1606
|
+
"hooks.useJoanieUserProfile.errorGet": {
|
|
1607
|
+
"description": "Error message shown to the user when user fetch request fails.",
|
|
1608
|
+
"message": "An error occurred while fetching user profile information. Please retry later."
|
|
1609
|
+
},
|
|
1610
|
+
"hooks.useJoanieUserProfile.errorNotFound": {
|
|
1611
|
+
"description": "Error message shown to the user when it isn't logged.",
|
|
1612
|
+
"message": "You aren't logged in."
|
|
1613
|
+
},
|
|
1262
1614
|
"hooks.useOrders.errorGet": {
|
|
1263
1615
|
"description": "Error message shown to the user when orders fetch request fails.",
|
|
1264
1616
|
"message": "Une erreur s'est produite lors de la récupération de vos commandes. Veuillez réessayer plus tard."
|
|
@@ -1279,14 +1631,6 @@
|
|
|
1279
1631
|
"description": "Error message shown to the user when organizations fetch request fails.",
|
|
1280
1632
|
"message": "Une erreur s'est produite lors de la récupération des organisations. Veuillez réessayer plus tard."
|
|
1281
1633
|
},
|
|
1282
|
-
"hooks.useProduct.errorGet": {
|
|
1283
|
-
"description": "Error message shown to the user when product fetch request fails.",
|
|
1284
|
-
"message": "An error occurred while fetching product. Please retry later."
|
|
1285
|
-
},
|
|
1286
|
-
"hooks.useProduct.errorNotFound": {
|
|
1287
|
-
"description": "Error message shown to the user when no product matches.",
|
|
1288
|
-
"message": "Cannot find the product."
|
|
1289
|
-
},
|
|
1290
1634
|
"hooks.useResources.errorCreate": {
|
|
1291
1635
|
"description": "Error message shown to the user when resource creation request fails.",
|
|
1292
1636
|
"message": "Une erreur s'est produite lors de la création d'une ressource. Veuillez réessayer plus tard."
|
|
@@ -1309,7 +1653,7 @@
|
|
|
1309
1653
|
},
|
|
1310
1654
|
"hooks.useUnionResource.errorGet": {
|
|
1311
1655
|
"description": "Error message shown to the user when union resources fetch request fails.",
|
|
1312
|
-
"message": "
|
|
1656
|
+
"message": "Une erreur s'est produite lors de la récupération des données. Veuillez réessayer plus tard."
|
|
1313
1657
|
},
|
|
1314
1658
|
"hooks.useWishlist.errorCreate": {
|
|
1315
1659
|
"description": "Error message shown to the user when wishlist creation request fails.",
|
|
@@ -1327,8 +1671,64 @@
|
|
|
1327
1671
|
"description": "Error message shown to the user when no wishlist matches.",
|
|
1328
1672
|
"message": "Liste de souhaits introuvable."
|
|
1329
1673
|
},
|
|
1674
|
+
"pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel": {
|
|
1675
|
+
"description": "Contract signature state filter label",
|
|
1676
|
+
"message": "Signature state"
|
|
1677
|
+
},
|
|
1678
|
+
"pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel": {
|
|
1679
|
+
"description": "Use as organization filter label",
|
|
1680
|
+
"message": "Organization"
|
|
1681
|
+
},
|
|
1682
|
+
"pages.TeacherDashboardCourseContractsLayout.pageTitle": {
|
|
1683
|
+
"description": "Use for the page title of the course's contracts page",
|
|
1684
|
+
"message": "Contracts"
|
|
1685
|
+
},
|
|
1686
|
+
"pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName": {
|
|
1687
|
+
"description": "Label for learnerName column",
|
|
1688
|
+
"message": "Learner"
|
|
1689
|
+
},
|
|
1690
|
+
"pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle": {
|
|
1691
|
+
"description": "Label for productTitle column",
|
|
1692
|
+
"message": "Training"
|
|
1693
|
+
},
|
|
1694
|
+
"pages.TeacherDashboardOrganizationContractsLayout.columnState": {
|
|
1695
|
+
"description": "Label for state column",
|
|
1696
|
+
"message": "State"
|
|
1697
|
+
},
|
|
1698
|
+
"pages.TeacherDashboardOrganizationContractsLayout.pageTitle": {
|
|
1699
|
+
"description": "Use for the page title of the organization contracts area",
|
|
1700
|
+
"message": "Contracts"
|
|
1701
|
+
},
|
|
1702
|
+
"pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts": {
|
|
1703
|
+
"description": "Button to sign all pending contracts",
|
|
1704
|
+
"message": "Sign all pending contracts ({ count })"
|
|
1705
|
+
},
|
|
1706
|
+
"utils.ContractHelper.learnerHalfSigned": {
|
|
1707
|
+
"description": "Label for unsigned contract status in learner point of view",
|
|
1708
|
+
"message": "Pending for organization signature"
|
|
1709
|
+
},
|
|
1710
|
+
"utils.ContractHelper.learnerSigned": {
|
|
1711
|
+
"description": "Label for signed contract status in learner point of view",
|
|
1712
|
+
"message": "Signed"
|
|
1713
|
+
},
|
|
1714
|
+
"utils.ContractHelper.learnerUnsigned": {
|
|
1715
|
+
"description": "Label for unsigned contract status in learner point of view",
|
|
1716
|
+
"message": "Pending for signature"
|
|
1717
|
+
},
|
|
1718
|
+
"utils.ContractHelper.organizationHalfSigned": {
|
|
1719
|
+
"description": "Label for half signed contract status in organization point of view",
|
|
1720
|
+
"message": "Pending for signature"
|
|
1721
|
+
},
|
|
1722
|
+
"utils.ContractHelper.organizationSigned": {
|
|
1723
|
+
"description": "Label for signed contract status in organization point of view",
|
|
1724
|
+
"message": "Signed"
|
|
1725
|
+
},
|
|
1726
|
+
"utils.ContractHelper.organizationUnsigned": {
|
|
1727
|
+
"description": "Label for unsigned contract status in organization point of view",
|
|
1728
|
+
"message": "Pending for learner signature"
|
|
1729
|
+
},
|
|
1330
1730
|
"utils.joinAnd.and": {
|
|
1331
1731
|
"description": "The and word",
|
|
1332
|
-
"message": "
|
|
1732
|
+
"message": "et"
|
|
1333
1733
|
}
|
|
1334
1734
|
}
|