diff --git a/CHANGELOG.md b/CHANGELOG.md index 7905a4e153..504f7d8bd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Versioning](https://semver.org/spec/v2.0.0.html). ## [Unrealeased] +## [2.30.0] - 2024-10-16 + ### Added - Added new 'large-banner' plugin template variant `compacted-banner` that @@ -33,19 +35,19 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Fix logic to know if user is enrolled to a ongoing product - Normalize credit card brand on CreditCardBrandLogo component -## [2.29.2] +## [2.29.2] - 2024-09-23 ### Fixed - Fix Open EdX Level education enum "other" value -## [2.29.1] +## [2.29.1] - 2024-08-22 ### Fixed - Fix LyraPopIn critical error (`CLIENT_101`) -## [2.29.0] +## [2.29.0] - 2024-08-21 ### Added @@ -68,14 +70,14 @@ Versioning](https://semver.org/spec/v2.0.0.html). - csrftoken in richie context -## [2.28.1] +## [2.28.1] - 2024-06-21 ### Fixed - Fix ProductCertificateFooter component to display proper CTA according to Order state -## [2.28.0] +## [2.28.0] - 2024-06-11 ### Changed @@ -94,7 +96,7 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Load React JS bundles from CDN on all pages -## [2.27.0] +## [2.27.0] - 2024-06-03 ### Added @@ -115,7 +117,7 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Manage display of CourseRun dates when end date and/or enrollment date are undefined -## [2.26.0] +## [2.26.0] - 2024-05-22 ### Added @@ -155,13 +157,13 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Fix a bug in the learner dashboard contract page where an alert message was displayed on successful download. -## [2.25.1] +## [2.25.1] - 2024-04-18 ### Fixed - Duplicated `course_format` placeholder in `course_detail` template -## [2.25.0] +## [2.25.0] - 2024-04-11 ### Added @@ -215,7 +217,7 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Fix enrollment cache not invalided after buying certificate product. - Fix a typo on ContractStatus component -## [2.25.0-beta.1] +## [2.25.0-beta.1] - 2024-01-05 ### Added @@ -234,7 +236,7 @@ Versioning](https://semver.org/spec/v2.0.0.html). - Fix search facets count metadata issue (ignore not listed courses) - Fix `getCourseGlimpseProps` method to handle localized course urls -## [2.25.0-beta.0] +## [2.25.0-beta.0] - 2024-01-03 ### Added @@ -2196,7 +2198,8 @@ us: - finish integrating the missing pages and improve the sandbox environment; - test and polish the use of richie as a django app / node dependency. -[unreleased]: https://github.com/openfun/richie/compare/v2.29.2...master +[unreleased]: https://github.com/openfun/richie/compare/v2.30.0...master +[2.30.0]: https://github.com/openfun/richie/compare/v2.29.2...v2.30.0 [2.29.2]: https://github.com/openfun/richie/compare/v2.29.1...v2.29.2 [2.29.1]: https://github.com/openfun/richie/compare/v2.29.0...v2.29.1 [2.29.0]: https://github.com/openfun/richie/compare/v2.28.1...v2.29.0 diff --git a/UPGRADE.md b/UPGRADE.md index 1046d4959f..0183483934 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -16,6 +16,8 @@ $ make migrate ## Unreleased +## 2.25-beta.0 to 2.30.0 + - Add new `compacted-banner` theme scheme ``` compacted-banner: ( diff --git a/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/requirements/base.txt b/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/requirements/base.txt index 074618faa2..8e2a22ce8f 100644 --- a/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/requirements/base.txt +++ b/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/requirements/base.txt @@ -5,6 +5,6 @@ django-storages==1.13.2 dockerflow==2022.8.0 gunicorn==22.0.0 psycopg2-binary==2.9.9 -richie==2.29.2 +richie==2.30.0 unidecode==1.3.6 # required by django-check-seo sentry-sdk==2.11.0 diff --git a/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/src/frontend/package.json b/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/src/frontend/package.json index 65797c8628..62b0fc7c5d 100644 --- a/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/src/frontend/package.json +++ b/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template/{{cookiecutter.site}}/src/frontend/package.json @@ -21,7 +21,7 @@ "CMS" ], "dependencies": { - "richie-education": "2.29.2" + "richie-education": "2.30.0" }, "devDependencies": { "@formatjs/cli": "6.2.4", diff --git a/docs/cookiecutter.md b/docs/cookiecutter.md index c41adb91d7..bb39fa0d3c 100644 --- a/docs/cookiecutter.md +++ b/docs/cookiecutter.md @@ -25,7 +25,7 @@ If you chose to install Cookiecutter, you can now run it against our [template][2] as follows: ```bash -cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.29.2 +cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.30.0 ``` If you didn't want to install it on your machine, we provide a Docker image @@ -33,7 +33,7 @@ built with our [own repository][4] that you can use as follows: ```bash docker run --rm -it -u $(id -u):$(id -g) -v $PWD:/app \ -fundocker/cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.29.2 +fundocker/cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.30.0 ``` The `--directory` option is to indicate that our Cookiecutter template is in diff --git a/src/frontend/i18n/locales/ar-SA.json b/src/frontend/i18n/locales/ar-SA.json index 56a6a679a4..fc0018bdd4 100644 --- a/src/frontend/i18n/locales/ar-SA.json +++ b/src/frontend/i18n/locales/ar-SA.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/es-ES.json b/src/frontend/i18n/locales/es-ES.json index bf65bd6d57..c9597f642c 100644 --- a/src/frontend/i18n/locales/es-ES.json +++ b/src/frontend/i18n/locales/es-ES.json @@ -25,7 +25,7 @@ }, "components.AddressesManagement.actionPromotion": { "description": "Action name for address promotion.", - "message": "promoción" + "message": "promotion" }, "components.AddressesManagement.addAddress": { "description": "Title of the address creation form", @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/fa-IR.json b/src/frontend/i18n/locales/fa-IR.json index dc4e7e68b4..cff4671191 100644 --- a/src/frontend/i18n/locales/fa-IR.json +++ b/src/frontend/i18n/locales/fa-IR.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/fr-CA.json b/src/frontend/i18n/locales/fr-CA.json index 731a0282ae..b11725c141 100644 --- a/src/frontend/i18n/locales/fr-CA.json +++ b/src/frontend/i18n/locales/fr-CA.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Chargement de la commande..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/fr-FR.json b/src/frontend/i18n/locales/fr-FR.json index e1cfd5be7e..7995969646 100644 --- a/src/frontend/i18n/locales/fr-FR.json +++ b/src/frontend/i18n/locales/fr-FR.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "Vous devez signer ce contrat de formation pour accéder à votre formation." + "message": "Vous devez signer ce contrat de formation pour finaliser votre souscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -577,7 +577,7 @@ }, "components.DashboardItem.Order.ContractFrame.finishedDescription": { "description": "Message displayed inside the contract signin modal when the contract is signed.", - "message": "Vous recevrez un courriel une fois que votre convention de formation sera signée par toutes les parties. Vous pouvez dès à présent finaliser votre souscription." + "message": "Vous recevrez un courriel une fois que votre contrat de formation sera signé par toutes les parties. Vous pouvez dès à présent finaliser votre souscription." }, "components.DashboardItem.Order.ContractFrame.loadingContract": { "description": "Message displayed inside the contract signin modal when loading the contract.", @@ -609,19 +609,19 @@ }, "components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment": { "description": "Status shown on the dashboard order item when order is in failed payment state", - "message": "Le dernier prélèvement automatique a échoué" + "message": "Le dernier prélèvement a échoué" }, "components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment": { "description": "Status shown on the dashboard order item when order is in no payment state", - "message": "Le premier prélèvement automatique a échoué" + "message": "Le premier prélèvement a échoué" }, "components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed": { "description": "Status shown on the dashboard order item when order is completed and has a certificate", - "message": "Terminé avec succès" + "message": "Terminée avec succès" }, "components.DashboardItem.Order.OrderStateLearnerMessage.statusPending": { "description": "Status shown on the dashboard order item when order is pending.", - "message": "En attente du premier prélèvement automatique" + "message": "En attente du premier prélèvement" }, "components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment": { "description": "Status shown on the dashboard order item when order is pending for payment", @@ -657,19 +657,19 @@ }, "components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment": { "description": "Status shown on the dashboard order item when order is in failed payment state", - "message": "Le dernier prélèvement automatique a échoué" + "message": "Le dernier prélèvement a échoué" }, "components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment": { "description": "Status shown on the dashboard order item when order is in no payment state", - "message": "Le premier prélèvement automatique a échoué" + "message": "Le premier prélèvement a échoué" }, "components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed": { "description": "Status shown on the dashboard order item when order is completed with certificate", - "message": "Certifié" + "message": "Certifiée" }, "components.DashboardItem.Order.OrderStateTeacherMessage.statusPending": { "description": "Status shown on the dashboard order item when order is pending.", - "message": "En attente du premier prélèvement automatique" + "message": "En attente du premier prélèvement" }, "components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment": { "description": "Status shown on the dashboard order item when order is validated with no certificate", @@ -739,9 +739,53 @@ "description": "Text shown when a course run is not active", "message": "Non inscrit" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Accéder au syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Chargement du certificat..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Contrat de formation" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Définir" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Gérer les paiements" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "Vous pourrez gérer vos échéances ici une fois que votre souscription sera finalisée." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "Vous pouvez voir et gérer toutes les échéances." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "Pour finaliser votre souscription, vous devez définir un moyen de paiement." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Payer {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "Un paiement a échoué, veuillez mettre à jour votre moyen de paiement" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Paiement" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", - "message": "Le paiement a échoué, veuillez choisir un autre moyen de paiement ou en ajouter un nouveau pendant le paiement" + "message": "Le paiement a échoué, veuillez choisir un autre moyen de paiement existant ou en ajouter un nouveau pendant le paiement" }, "components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling": { "description": "Error message when submitting installment payment fails", @@ -765,67 +809,79 @@ }, "components.DashboardItemOrder.OrderPaymentRetryModal.successTitle": { "description": "Title of the payment success modal", - "message": "Paiement réussi" + "message": "Paiement accepté" }, "components.DashboardItemOrder.OrderPaymentRetryModal.title": { "description": "Title of the payment retry modal", - "message": "Réessayer le paiement" - }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Moyen de paiement" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Échéancier" + "message": "Nouvelle tentative de paiement" }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Détails du paiement" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contacter" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Votre référent de formation est {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "Voir le détail" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Chargement du certificat..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", - "message": "Email du délégué à la protection des données" + "message": "Courriel du délégué à la protection des données" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "Cette formation est gérée par" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo de l'établissement" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Courriel" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Téléphone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Gérer les paiements" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Adresse" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "Vous pouvez voir et gérer tous les prélèvements." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Moyen de paiement" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Échéancier" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Informations sur le paiement" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "Voir le détail" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Définir" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "Vous devez définir un moyen de paiement pour finaliser votre abonnement." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "Un moyen de paiement est manquant" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "La souscription ne peut pas être finalisée. Cette formation n'est plus disponible à l'achat." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "Le paiement a échoué, veuillez mettre à jour votre moyen de paiement" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Paiement" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Accéder au syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Contrat de formation" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Modifiez votre profil" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Année de naissance" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "définir un moyen de paiement" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Chargement de la commande..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "Vous devez {definePaymentMethodLink} pour finaliser votre souscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "signer votre contrat" + "message": "signer votre contrat de formation" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "Vous devez {signLink} afin de pouvoir vous inscrire à une session" + "message": "Vous devez {signLink} pour finaliser votre souscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,9 +1187,21 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Définition du moyen de paiement en cours." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Payée" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "En attente" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refusée" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", - "message": "Prélevé le {date}" + "message": "Prélevée le {date}" }, "components.ProductCertificateFooter.buyProductCertificateLabel": { "description": "Label on the enrollment row that propose to buy a product of type certificate", @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "Un certificat est disponible en téléchargement." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "Vous serez en mesure de passer l'examen dès que l'échéance aura été prélevée." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Le dernier prélèvement a échoué. Merci de régulariser votre situation dès que possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "La prochaine échéance ({amount}) sera prélevée le {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Payer {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Terminez ce cours pour obtenir votre certificat." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Nom complet" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Échéancier" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Informations" @@ -1257,15 +1345,15 @@ }, "components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment": { "description": "Message explaining the subscription process with only a payment method to set.", - "message": "Pour vous inscrire à la formation, vous serez invité à définir un moyen de paiement." + "message": "Pour vous inscrire, vous serez invité à définir un moyen de paiement." }, "components.SaleTunnel.SubscriptionButton.walkthroughToSign": { "description": "Message explaining the subscription process with only a training agreement to sign.", - "message": "Pour vous inscrire à la formation, vous serez invité à signer la convention de formation." + "message": "Pour vous inscrire, vous serez invité à signer le contrat de formation." }, "components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment": { "description": "Message explaining the subscription process with a training agreement to sign and a payment method to set.", - "message": "Pour vous inscrire à la formation, vous serez d'abord invité à signer la convention de formation, puis à définir un moyen de paiement." + "message": "Pour vous inscrire, vous serez d'abord invité à signer le contrat de formation, puis à définir un moyen de paiement." }, "components.SaleTunnel.callToActionDescription": { "description": "Additional description announced by screen readers when focusing the call to action buying button", @@ -1293,11 +1381,11 @@ }, "components.SaleTunnelSavePaymentMethod.description": { "description": "Text to explain what the user has to do in the 'save payment method' step", - "message": "Il s'agit de la dernière étape pour valider votre souscription, vous devez définir un moyen de paiement. Celui-ci sera utilisé pour prélever les échéances dues. Vous ne serez pas facturé pendant cette étape. Sélectionnez un moyen de paiement existant ou ajoutez-en un nouveau." + "message": "Il s'agit de la dernière étape pour valider votre souscription, vous devez définir un moyen de paiement. Celui-ci sera utilisé pour prélever les échéances dues. Aucun prélèvement ne sera effectué durant cette étape. Sélectionnez un moyen de paiement existant ou ajoutez-en un nouveau." }, "components.SaleTunnelSavePaymentMethod.title": { "description": "Content title", - "message": "Définition du moyen de paiement" + "message": "Définir un moyen de paiement" }, "components.SaleTunnelStepValidation.availableCourseRuns": { "description": "Course runs available text", @@ -1325,7 +1413,7 @@ }, "components.SaleTunnelSuccess.successDetailMessage": { "description": "Text to explain when the user will be able to start its training.", - "message": "Vous pourrez commencer votre formation dès que la première échéance sera prélevée." + "message": "Vous pourrez débuter votre formation dès que la première échéance aura été prélevée." }, "components.SaleTunnelSuccess.successMessage": { "description": "Message to confirm that order has been created", @@ -1437,7 +1525,7 @@ }, "components.SubscriptionButton.errorAddress": { "description": "Error message shown when the user didn't select a billing address.", - "message": "Vous devez sélectionner une adresse de facturation." + "message": "Vous devez spécifier une adresse de facturation." }, "components.SubscriptionButton.errorDefault": { "description": "Error message shown when order creation request failed.", @@ -1445,7 +1533,7 @@ }, "components.SubscriptionButton.errorFullProduct": { "description": "Error message shown when order creation request failed because there is no remaining available seat for the product.", - "message": "Il n'y a pas plus de places disponibles pour ce produit." + "message": "Il n'y a pas plus de places disponibles." }, "components.SubscriptionButton.orderCreationInProgress": { "description": "Label for screen reader when an order creation is in progress.", @@ -1917,7 +2005,7 @@ }, "hooks.useOrders.errorSetPaymentMethod": { "description": "Error message shown to the user when set payment method mutation failed.", - "message": "Impossible de définir le moyen de paiement de cette commande." + "message": "Impossible de définir un moyen de paiement de cette commande." }, "hooks.useOrdersEnrollments.errorGet": { "description": "Error message shown to the user when orders or enrollments fetch request fails.", diff --git a/src/frontend/i18n/locales/ko-KR.json b/src/frontend/i18n/locales/ko-KR.json index dc4e7e68b4..cff4671191 100644 --- a/src/frontend/i18n/locales/ko-KR.json +++ b/src/frontend/i18n/locales/ko-KR.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/pt-PT.json b/src/frontend/i18n/locales/pt-PT.json index 09a1d96825..f70b535136 100644 --- a/src/frontend/i18n/locales/pt-PT.json +++ b/src/frontend/i18n/locales/pt-PT.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "Tem de assinar o contrato de formação para ter acesso à formação." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Não inscrito" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, + "components.DashboardItemOrder.OrganizationBlock.contactButton": { + "description": "Button to contact the organization", + "message": "Contact" + }, + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { + "description": "Description of the contact information for the organization", + "message": "Your training reference is {name} - {email}." + }, + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { + "description": "Label for the organization DPO contact", + "message": "Data protection email" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { + "description": "Header of the organization section", + "message": "This training is provided by" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { + "description": "Alt text for the organization logo", + "message": "Logo of the organization" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { + "description": "Label for the organization mail contact", + "message": "Email" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { + "description": "Label for the organization phone contact", + "message": "Phone" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" + }, + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { "description": "Title of the payment method section", "message": "Payment method" }, "components.DashboardItemOrder.PaymentModal.scheduleTitle": { "description": "Title of the payment schedule", - "message": "Repayment schedule" + "message": "Payment schedule" }, "components.DashboardItemOrder.PaymentModal.title": { "description": "Title of the payment modal", "message": "Payment details" }, - "components.DashboardItemOrder.contactButton": { - "description": "Button to contact the organization", - "message": "Contacto" - }, - "components.DashboardItemOrder.contactDescription": { - "description": "Description of the contact information for the organization", - "message": "A sua referência de formação é {name} - {email}." - }, "components.DashboardItemOrder.gotoCourse": { "description": "Button that redirects to the order details", "message": "Ver Detalhes" }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Carregando o certificado..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { - "description": "Label for the organization DPO contact", - "message": "E-mail de proteção de dados" - }, - "components.DashboardItemOrder.organizationHeader": { - "description": "Header of the organization section", - "message": "Esta formação é ministrada por" - }, - "components.DashboardItemOrder.organizationLogoAlt": { - "description": "Alt text for the organization logo", - "message": "Logótipo da organização" - }, - "components.DashboardItemOrder.organizationMailContactLabel": { - "description": "Label for the organization mail contact", - "message": "Email" + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { - "description": "Label for the organization phone contact", - "message": "Telefone" + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Ir para o programa de estudos" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Contrato de formação" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Editar o seu perfil" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Ano de nascimento" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "A carregar o pedido..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "assinar o seu contrato" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "É necessário {signLink} antes de se inscrever num curso" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "Está disponível um certificado para transferência." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Termine este curso para obter o seu certificado." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Nome completo" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Informações" @@ -1505,19 +1593,19 @@ }, "components.SyllabusCourseRunCompacted.course": { "description": "Title of the course dates section of an opened course run block", - "message": "Course" + "message": "Curso" }, "components.SyllabusCourseRunCompacted.languages": { "description": "Title of the languages section of an opened course run block", - "message": "Languages" + "message": "Idiomas" }, "components.SyllabusCourseRunCompacted.selfPaceCoursePeriod": { "description": "Course date of an opened and self paced course run block", - "message": "Available until {endDate}" + "message": "Disponível até {endDate}" }, "components.SyllabusCourseRunCompacted.selfPaceNoEndDate": { "description": "Self paced course run block with no end date", - "message": "Available" + "message": "Disponível" }, "components.SyllabusCourseRunsList.multipleOpenedCourseRuns": { "description": "Message displayed when there are multiple opened course runs on a syllabus", diff --git a/src/frontend/i18n/locales/ru-RU.json b/src/frontend/i18n/locales/ru-RU.json index 34817b0096..b1d9f99de9 100644 --- a/src/frontend/i18n/locales/ru-RU.json +++ b/src/frontend/i18n/locales/ru-RU.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/i18n/locales/vi-VN.json b/src/frontend/i18n/locales/vi-VN.json index dc4e7e68b4..cff4671191 100644 --- a/src/frontend/i18n/locales/vi-VN.json +++ b/src/frontend/i18n/locales/vi-VN.json @@ -137,7 +137,7 @@ }, "components.ContractStatus.waitingSignature": { "description": "Label displayed when a training contract need to be signed by the learner", - "message": "You have to sign this training contract to access your training." + "message": "You have to sign this training contract to finalize your subscription." }, "components.CountrySelectField.label": { "description": "label of the country select", @@ -739,6 +739,50 @@ "description": "Text shown when a course run is not active", "message": "Not enrolled" }, + "components.DashboardItemEnrollment.syllabusLinkLabel": { + "description": "Syllabus link label on order details", + "message": "Go to syllabus" + }, + "components.DashboardItemOrder.CertificateItem.loadingCertificate": { + "description": "Accessible label displayed while certificate is being fetched on the dashboard.", + "message": "Loading certificate..." + }, + "components.DashboardItemOrder.ContractItem.trainingContractTitle": { + "description": "Title of the training contract section", + "message": "Training contract" + }, + "components.DashboardItemOrder.Installment.defineButton": { + "description": "Button label to define payment method", + "message": "Define" + }, + "components.DashboardItemOrder.Installment.paymentButton": { + "description": "Button label for the payment block", + "message": "Manage payment" + }, + "components.DashboardItemOrder.Installment.paymentInactiveDescription": { + "description": "Explanation displayed when the order is not yet active and do not miss payment method", + "message": "You will able to manage your payment installment here once your subscription is finalized." + }, + "components.DashboardItemOrder.Installment.paymentLabel": { + "description": "Label for the payment block", + "message": "You can see and manage all installments." + }, + "components.DashboardItemOrder.Installment.paymentMethodMissingMessage": { + "description": "Message displayed when payment method is missing", + "message": "To finalize your subscription, you must define a payment method." + }, + "components.DashboardItemOrder.Installment.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, + "components.DashboardItemOrder.Installment.paymentNeededMessage": { + "description": "Message displayed when payment is needed", + "message": "A payment failed, please update your payment method" + }, + "components.DashboardItemOrder.Installment.paymentTitle": { + "description": "Label for the payment block", + "message": "Payment" + }, "components.DashboardItemOrder.OrderPaymentRetryModal.description": { "description": "Message displayed when payment is needed", "message": "The payment failed, please choose another payment method or add a new one during the payment" @@ -771,61 +815,73 @@ "description": "Title of the payment retry modal", "message": "Retry payment" }, - "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { - "description": "Title of the payment method section", - "message": "Payment method" - }, - "components.DashboardItemOrder.PaymentModal.scheduleTitle": { - "description": "Title of the payment schedule", - "message": "Repayment schedule" - }, - "components.DashboardItemOrder.PaymentModal.title": { - "description": "Title of the payment modal", - "message": "Payment details" - }, - "components.DashboardItemOrder.contactButton": { + "components.DashboardItemOrder.OrganizationBlock.contactButton": { "description": "Button to contact the organization", "message": "Contact" }, - "components.DashboardItemOrder.contactDescription": { + "components.DashboardItemOrder.OrganizationBlock.contactDescription": { "description": "Description of the contact information for the organization", "message": "Your training reference is {name} - {email}." }, - "components.DashboardItemOrder.gotoCourse": { - "description": "Button that redirects to the order details", - "message": "View details" - }, - "components.DashboardItemOrder.loadingCertificate": { - "description": "Accessible label displayed while certificate is being fetched on the dashboard.", - "message": "Loading certificate..." - }, - "components.DashboardItemOrder.organizationDpoContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel": { "description": "Label for the organization DPO contact", "message": "Data protection email" }, - "components.DashboardItemOrder.organizationHeader": { + "components.DashboardItemOrder.OrganizationBlock.organizationHeader": { "description": "Header of the organization section", "message": "This training is provided by" }, - "components.DashboardItemOrder.organizationLogoAlt": { + "components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt": { "description": "Alt text for the organization logo", "message": "Logo of the organization" }, - "components.DashboardItemOrder.organizationMailContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel": { "description": "Label for the organization mail contact", "message": "Email" }, - "components.DashboardItemOrder.organizationPhoneContactLabel": { + "components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel": { "description": "Label for the organization phone contact", "message": "Phone" }, - "components.DashboardItemOrder.paymentButton": { - "description": "Button label for the payment block", - "message": "Manage payment" + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress": { + "description": "Subtitle for the organization address section", + "message": "Address" }, - "components.DashboardItemOrder.paymentLabel": { - "description": "Label for the payment block", - "message": "You can see and manage all installments." + "components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts": { + "description": "Subtitle for the organization contacts section", + "message": "Contacts" + }, + "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": { + "description": "Title of the payment method section", + "message": "Payment method" + }, + "components.DashboardItemOrder.PaymentModal.scheduleTitle": { + "description": "Title of the payment schedule", + "message": "Payment schedule" + }, + "components.DashboardItemOrder.PaymentModal.title": { + "description": "Title of the payment modal", + "message": "Payment details" + }, + "components.DashboardItemOrder.gotoCourse": { + "description": "Button that redirects to the order details", + "message": "View details" + }, + "components.DashboardItemOrder.missingPaymentMethodCTA": { + "description": "CTA label displayed when the order is missing a payment method", + "message": "Define" + }, + "components.DashboardItemOrder.missingPaymentMethodDescription": { + "description": "Description message displayed when the order is missing a payment method", + "message": "You must define a payment method to finalize your subscription." + }, + "components.DashboardItemOrder.missingPaymentMethodTitle": { + "description": "Main message displayed when the order is missing a payment method", + "message": "A payment method is missing" + }, + "components.DashboardItemOrder.notResumable": { + "description": "Message displayed when the order subscription is not completed but the product is no more purchasable", + "message": "The subscription process cannot be resumed. The related training is no more purchasable." }, "components.DashboardItemOrder.paymentNeededButton": { "description": "Button label for the payment needed message", @@ -835,18 +891,10 @@ "description": "Message displayed when payment is needed", "message": "The payment failed, please update your payment method" }, - "components.DashboardItemOrder.paymentTitle": { - "description": "Label for the payment block", - "message": "Payment" - }, "components.DashboardItemOrder.syllabusLinkLabel": { "description": "Syllabus link label on order details", "message": "Go to syllabus" }, - "components.DashboardItemOrder.trainingContractTitle": { - "description": "Title of the training contract section", - "message": "Training contract" - }, "components.DashboardOpenEdxProfile.EditButtonLabel": { "description": "Label of the edit button link of the open edx profile form", "message": "Edit your profile" @@ -915,17 +963,25 @@ "description": "Label of the openEdx profile \"year of birth\" input", "message": "Year of birth" }, + "components.DashboardOrderLoader.definePaymentMethodLink": { + "description": "Link to define a payment method", + "message": "define a payment method" + }, "components.DashboardOrderLoader.loading": { "description": "Message displayed while loading an order", "message": "Loading order ..." }, + "components.DashboardOrderLoader.paymentMethodMissing": { + "description": "Error message displayed when no payment method is defined.", + "message": "You have to {definePaymentMethodLink} to finalize your subscription." + }, "components.DashboardOrderLoader.signLink": { "description": "Link to sign the contract", - "message": "sign your contract" + "message": "sign your training contract" }, "components.DashboardOrderLoader.signatureNeeded": { "description": "Banner displayed when the contract is not signed", - "message": "You need to {signLink} before enrolling in a course run" + "message": "You have to {signLink} to finalize your subscription." }, "components.DashboardOrderLoader.wrongLinkedProductError": { "description": "Error message displayed when order's linked product type is not handle.", @@ -1131,6 +1187,18 @@ "description": "Label for screen reader when a credit card is being tokenized.", "message": "Payment method definition in progress." }, + "components.PaymentScheduleGrid.state.paid": { + "description": "Label displayed for paid payment state", + "message": "Paid" + }, + "components.PaymentScheduleGrid.state.pending": { + "description": "Label displayed for pending payment state", + "message": "Pending" + }, + "components.PaymentScheduleGrid.state.refused": { + "description": "Label displayed for refused payment state", + "message": "Refused" + }, "components.PaymentScheduleGrid.withdrawnAt": { "description": "Label displayed to explain when the installment will be withdrawn.", "message": "Withdrawn on {date}" @@ -1143,6 +1211,22 @@ "description": "Label on the enrollment row that propose to download a certificate", "message": "A certificate is available for download." }, + "components.ProductCertificateFooter.examAccessBlocked": { + "description": "Message displayed when the exam access is blocked", + "message": "You will be able to pass the exam once the installment has been paid." + }, + "components.ProductCertificateFooter.failedInstallmentMessage": { + "description": "Message displayed when the last installment has failed", + "message": "Last direct debit has failed. Please resolve your situation as soon as possible." + }, + "components.ProductCertificateFooter.nextInstallmentMessage": { + "description": "Message displayed when an installment is pending", + "message": "The next installment ({amount}) will be withdrawn on the {due_date}." + }, + "components.ProductCertificateFooter.paymentNeededButton": { + "description": "Button label for the payment needed message", + "message": "Pay {amount}" + }, "components.ProductCertificateFooter.pendingProductCertificateLabel": { "description": "Label on the enrollment when a product of type certificate have been bought", "message": "Finish this course to obtain your certificate." @@ -1235,6 +1319,10 @@ "description": "Label for the full name input", "message": "Full name" }, + "components.SaleTunnel.Information.paymentSchedule": { + "description": "Title for the payment schedule section", + "message": "Payment schedule" + }, "components.SaleTunnel.Information.title": { "description": "Title for the information section", "message": "Information" diff --git a/src/frontend/js/translations/ar-SA.json b/src/frontend/js/translations/ar-SA.json index f8f441d996..edd8f44a0d 100644 --- a/src/frontend/js/translations/ar-SA.json +++ b/src/frontend/js/translations/ar-SA.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"غلاف","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"عرض {start, number} إلى {end, number} من {courseCount, number} {courseCount, plural, zero {} one {دورة} two {دورات} few {دورات} many {دورات} other {دورات}} مطابقة للبحث الخاص بك","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"التسجيل الآن","components.CourseRunEnrollment.enrolled":"أنت مسجل في هذه الدورة التدريبية","components.CourseRunEnrollment.enrollmentClosed":"تم إغلاق التسجيل في هذه الدورة التدريبية في الوقت الحالي","components.CourseRunEnrollment.enrollmentFailed":"فشل طلب التسجيل الخاص بك.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"الذهاب إلى الدورة","components.CourseRunEnrollment.loadingInitial":"جاري تحميل معلومات التسجيل...","components.CourseRunEnrollment.loginToEnroll":"تسجيل الدخول للتسجيل","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"الوصول إلى إعدادات ملفك الشخصي","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"الذهاب إلى الدورة","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(المحدد حاليا)","components.LanguageSelector.languages":"اللغات","components.LanguageSelector.selectLanguage":"اختر لغة:","components.LanguageSelector.switchToLanguage":"التبديل إلى {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"حاليا قراءة الصفحة الأخيرة {page}","components.PaginateCourseSearch.currentlyReadingPageN":"قراءة الصفحة {page} حاليا","components.PaginateCourseSearch.lastPageN":"آخر صفحة {page}","components.PaginateCourseSearch.nextPageN":"الصفحة التالية {page}","components.PaginateCourseSearch.pageN":"الصفحة {page}","components.PaginateCourseSearch.pagination":"ترقيم الصفحات","components.PaginateCourseSearch.previousPageN":"الصفحة السابقة {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"البحث عن دورات","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"شيء خاطئ! لا يمكن تحميل الدورات الدراسية.","components.Search.hideFiltersPane":"إخفاء لوحة الفلاتر","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"إظهار لوحة الفلاتر","components.Search.spinnerText":"تحميل نتائج البحث...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"حدث خطأ أثناء البحث عن {filterName}.","components.SearchFilterGroupModal.inputLabel":"البحث عن عوامل التصفية لإضافتها","components.SearchFilterGroupModal.inputPlaceholder":"البحث في { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"تحميل نتائج البحث...","components.SearchFilterGroupModal.modalTitle":"إضافة فلاتر لـ {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"المزيد من الخيارات","components.SearchFilterGroupModal.queryTooShort":"اكتب 3 أحرف على الأقل لبدء البحث.","components.SearchFilterValueParent.ariaHideChildren":"إخفاء عوامل التصفية الإضافية لـ {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"إظهار المزيد من الفلاتر لـ {filterValueName}","components.SearchFiltersPane.clearFilters":"مسح {activeFilterCount, number} نشط {activeFilterCount, plural, zero {} one {فلتر} two {فلاتر} few {فلاتر} many {فلاتر} other {فلاتر}}","components.SearchFiltersPane.title":"تصفية الدورات","components.SearchInput.button":"البحث","components.SearchSuggestField.searchFieldPlaceholder":"البحث عن الدورات، المنظمات، الفئات","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"تسجيل الدخول","components.UserLogin.logOut":"تسجيل الخروج","components.UserLogin.signup":"التسجيل","components.UserLogin.spinnerText":"جاري تسجيل الدخول...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"الدورات","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"غلاف","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"عرض {start, number} إلى {end, number} من {courseCount, number} {courseCount, plural, zero {} one {دورة} two {دورات} few {دورات} many {دورات} other {دورات}} مطابقة للبحث الخاص بك","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"التسجيل الآن","components.CourseRunEnrollment.enrolled":"أنت مسجل في هذه الدورة التدريبية","components.CourseRunEnrollment.enrollmentClosed":"تم إغلاق التسجيل في هذه الدورة التدريبية في الوقت الحالي","components.CourseRunEnrollment.enrollmentFailed":"فشل طلب التسجيل الخاص بك.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"الذهاب إلى الدورة","components.CourseRunEnrollment.loadingInitial":"جاري تحميل معلومات التسجيل...","components.CourseRunEnrollment.loginToEnroll":"تسجيل الدخول للتسجيل","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"الوصول إلى إعدادات ملفك الشخصي","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"الذهاب إلى الدورة","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(المحدد حاليا)","components.LanguageSelector.languages":"اللغات","components.LanguageSelector.selectLanguage":"اختر لغة:","components.LanguageSelector.switchToLanguage":"التبديل إلى {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"حاليا قراءة الصفحة الأخيرة {page}","components.PaginateCourseSearch.currentlyReadingPageN":"قراءة الصفحة {page} حاليا","components.PaginateCourseSearch.lastPageN":"آخر صفحة {page}","components.PaginateCourseSearch.nextPageN":"الصفحة التالية {page}","components.PaginateCourseSearch.pageN":"الصفحة {page}","components.PaginateCourseSearch.pagination":"ترقيم الصفحات","components.PaginateCourseSearch.previousPageN":"الصفحة السابقة {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"البحث عن دورات","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"شيء خاطئ! لا يمكن تحميل الدورات الدراسية.","components.Search.hideFiltersPane":"إخفاء لوحة الفلاتر","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"إظهار لوحة الفلاتر","components.Search.spinnerText":"تحميل نتائج البحث...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"حدث خطأ أثناء البحث عن {filterName}.","components.SearchFilterGroupModal.inputLabel":"البحث عن عوامل التصفية لإضافتها","components.SearchFilterGroupModal.inputPlaceholder":"البحث في { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"تحميل نتائج البحث...","components.SearchFilterGroupModal.modalTitle":"إضافة فلاتر لـ {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"المزيد من الخيارات","components.SearchFilterGroupModal.queryTooShort":"اكتب 3 أحرف على الأقل لبدء البحث.","components.SearchFilterValueParent.ariaHideChildren":"إخفاء عوامل التصفية الإضافية لـ {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"إظهار المزيد من الفلاتر لـ {filterValueName}","components.SearchFiltersPane.clearFilters":"مسح {activeFilterCount, number} نشط {activeFilterCount, plural, zero {} one {فلتر} two {فلاتر} few {فلاتر} many {فلاتر} other {فلاتر}}","components.SearchFiltersPane.title":"تصفية الدورات","components.SearchInput.button":"البحث","components.SearchSuggestField.searchFieldPlaceholder":"البحث عن الدورات، المنظمات، الفئات","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"تسجيل الدخول","components.UserLogin.logOut":"تسجيل الخروج","components.UserLogin.signup":"التسجيل","components.UserLogin.spinnerText":"جاري تسجيل الدخول...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"الدورات","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/js/translations/es-ES.json b/src/frontend/js/translations/es-ES.json index 3e4f2a1097..3e4ec67a7d 100644 --- a/src/frontend/js/translations/es-ES.json +++ b/src/frontend/js/translations/es-ES.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promoción","components.AddressesManagement.addAddress":"Añadir nueva dirección","components.AddressesManagement.addressInput":"Dirección","components.AddressesManagement.cancelButton":"Cancelar","components.AddressesManagement.cancelTitleButton":"Cancelar Edición","components.AddressesManagement.cityInput":"Ciudad","components.AddressesManagement.closeButton":"Regresar","components.AddressesManagement.countryInput":"País","components.AddressesManagement.deleteButton":"Eliminar","components.AddressesManagement.deleteButtonLabel":"Eliminar la dirección \"{title}\"","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Editar","components.AddressesManagement.editButtonLabel":"Eliminar la dirección \"{title}\"","components.AddressesManagement.first_nameInput":"Nombre del destinatario","components.AddressesManagement.last_nameInput":"Apellido del destinatario","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Código postal","components.AddressesManagement.promoteButtonLabel":"Definir la dirección \"{title}\" como principal","components.AddressesManagement.registeredAddresses":"Tus direcciones","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Guardar esta dirección","components.AddressesManagement.selectButton":"Utilizar esta dirección","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Título de la dirección","components.AddressesManagement.updateButton":"Actualizar esta dirección","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Categoría","components.CourseGlimpse.codeIconAlt":"Código del curso","components.CourseGlimpse.cover":"Portada","components.CourseGlimpse.organizationIconAlt":"Organización","components.CourseGlimpseFooter.dateIconAlt":"Fecha del curso","components.CourseGlimpseList.courseCount":"Mostrando {start, number} a {end, number} de {courseCount, number} ¡ {courseCount, plural, one {curso} other {cursos}} que coinciden con su búsqueda","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Descargar","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Inicio","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Inscribirse ahora","components.CourseRunEnrollment.enrolled":"Se ha inscrito en este curso","components.CourseRunEnrollment.enrollmentClosed":"La inscripción en este curso está cerrada por el momento","components.CourseRunEnrollment.enrollmentFailed":"Su solicitud de inscripción ha fallado.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Ir al curso","components.CourseRunEnrollment.loadingInitial":"Cargando información de inscripción...","components.CourseRunEnrollment.loginToEnroll":"Inicia sesión para inscribirse","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Acceso a la configuración de su perfil","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Inscribirse","components.EnrollableCourseRunList.enrolling":"Inscribiendo...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"La inscripción se abrirá el {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No hay sesión disponible para este curso.","components.EnrollableCourseRunList.selectCourseRun":"Seleccione una sesión de curso","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Ir al curso","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(actualmente seleccionado)","components.LanguageSelector.languages":"Idiomas","components.LanguageSelector.selectLanguage":"Seleccione un idioma:","components.LanguageSelector.switchToLanguage":"Cambiar a {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Leyendo la última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actualmente leyendo la página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página siguiente {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginación","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.PaymentButton.errorAbort":"Ha cancelado el pago.","components.PaymentButton.errorDefault":"Se ha producido un error durante el pago. Vuelva a intentarlo más tarde.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Buscar cursos","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"¡Algo está mal! No se han podido cargar los cursos.","components.Search.hideFiltersPane":"Ocultar panel de filtros","components.Search.resultsTitle":"Resultados de búsqueda","components.Search.showFiltersPane":"Mostrar panel de filtros","components.Search.spinnerText":"Cargando resultados de búsqueda...","components.Search.textQueryLengthWarning":"La búsqueda de texto requiere al menos 3 caracteres. { query } no es lo suficientemente larga para buscar. Los resultados de la búsqueda no se verán afectados por esta consulta.","components.SearchFilterGroupModal.closeModal":"Cerrar ventana modal","components.SearchFilterGroupModal.error":"Se ha producido un error al buscar {filterName}.","components.SearchFilterGroupModal.inputLabel":"Buscar filtros para añadir","components.SearchFilterGroupModal.inputPlaceholder":"Buscar en { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Cargar más resultados","components.SearchFilterGroupModal.loadingResults":"Cargando resultados de búsqueda...","components.SearchFilterGroupModal.modalTitle":"Añadir filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Más opciones","components.SearchFilterGroupModal.queryTooShort":"Escriba por lo menos 3 caracteres para iniciar la búsqueda.","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionales para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar más filtros para {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirar {activeFilterCount, number} activo {activeFilterCount, plural, one {filtro} other {filtros}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchInput.button":"Buscar","components.SearchSuggestField.searchFieldPlaceholder":"Buscar cursos, organizaciones, categorías","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Iniciar sesión","components.UserLogin.logOut":"Cerrar sesión","components.UserLogin.signup":"Registrarse","components.UserLogin.spinnerText":"Cargando estado de inicio de sesión...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Cursos","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Añadir nueva dirección","components.AddressesManagement.addressInput":"Dirección","components.AddressesManagement.cancelButton":"Cancelar","components.AddressesManagement.cancelTitleButton":"Cancelar Edición","components.AddressesManagement.cityInput":"Ciudad","components.AddressesManagement.closeButton":"Regresar","components.AddressesManagement.countryInput":"País","components.AddressesManagement.deleteButton":"Eliminar","components.AddressesManagement.deleteButtonLabel":"Eliminar la dirección \"{title}\"","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Editar","components.AddressesManagement.editButtonLabel":"Eliminar la dirección \"{title}\"","components.AddressesManagement.first_nameInput":"Nombre del destinatario","components.AddressesManagement.last_nameInput":"Apellido del destinatario","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Código postal","components.AddressesManagement.promoteButtonLabel":"Definir la dirección \"{title}\" como principal","components.AddressesManagement.registeredAddresses":"Tus direcciones","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Guardar esta dirección","components.AddressesManagement.selectButton":"Utilizar esta dirección","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Título de la dirección","components.AddressesManagement.updateButton":"Actualizar esta dirección","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Categoría","components.CourseGlimpse.codeIconAlt":"Código del curso","components.CourseGlimpse.cover":"Portada","components.CourseGlimpse.organizationIconAlt":"Organización","components.CourseGlimpseFooter.dateIconAlt":"Fecha del curso","components.CourseGlimpseList.courseCount":"Mostrando {start, number} a {end, number} de {courseCount, number} ¡ {courseCount, plural, one {curso} other {cursos}} que coinciden con su búsqueda","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Descargar","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Inicio","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Inscribirse ahora","components.CourseRunEnrollment.enrolled":"Se ha inscrito en este curso","components.CourseRunEnrollment.enrollmentClosed":"La inscripción en este curso está cerrada por el momento","components.CourseRunEnrollment.enrollmentFailed":"Su solicitud de inscripción ha fallado.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Ir al curso","components.CourseRunEnrollment.loadingInitial":"Cargando información de inscripción...","components.CourseRunEnrollment.loginToEnroll":"Inicia sesión para inscribirse","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Acceso a la configuración de su perfil","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Inscribirse","components.EnrollableCourseRunList.enrolling":"Inscribiendo...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"La inscripción se abrirá el {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No hay sesión disponible para este curso.","components.EnrollableCourseRunList.selectCourseRun":"Seleccione una sesión de curso","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Ir al curso","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(actualmente seleccionado)","components.LanguageSelector.languages":"Idiomas","components.LanguageSelector.selectLanguage":"Seleccione un idioma:","components.LanguageSelector.switchToLanguage":"Cambiar a {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Leyendo la última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actualmente leyendo la página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página siguiente {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginación","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.PaymentButton.errorAbort":"Ha cancelado el pago.","components.PaymentButton.errorDefault":"Se ha producido un error durante el pago. Vuelva a intentarlo más tarde.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Buscar cursos","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"¡Algo está mal! No se han podido cargar los cursos.","components.Search.hideFiltersPane":"Ocultar panel de filtros","components.Search.resultsTitle":"Resultados de búsqueda","components.Search.showFiltersPane":"Mostrar panel de filtros","components.Search.spinnerText":"Cargando resultados de búsqueda...","components.Search.textQueryLengthWarning":"La búsqueda de texto requiere al menos 3 caracteres. { query } no es lo suficientemente larga para buscar. Los resultados de la búsqueda no se verán afectados por esta consulta.","components.SearchFilterGroupModal.closeModal":"Cerrar ventana modal","components.SearchFilterGroupModal.error":"Se ha producido un error al buscar {filterName}.","components.SearchFilterGroupModal.inputLabel":"Buscar filtros para añadir","components.SearchFilterGroupModal.inputPlaceholder":"Buscar en { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Cargar más resultados","components.SearchFilterGroupModal.loadingResults":"Cargando resultados de búsqueda...","components.SearchFilterGroupModal.modalTitle":"Añadir filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Más opciones","components.SearchFilterGroupModal.queryTooShort":"Escriba por lo menos 3 caracteres para iniciar la búsqueda.","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionales para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar más filtros para {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirar {activeFilterCount, number} activo {activeFilterCount, plural, one {filtro} other {filtros}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchInput.button":"Buscar","components.SearchSuggestField.searchFieldPlaceholder":"Buscar cursos, organizaciones, categorías","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Iniciar sesión","components.UserLogin.logOut":"Cerrar sesión","components.UserLogin.signup":"Registrarse","components.UserLogin.spinnerText":"Cargando estado de inicio de sesión...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Cursos","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/js/translations/fa-IR.json b/src/frontend/js/translations/fa-IR.json index 56560b0e4d..286e129979 100644 --- a/src/frontend/js/translations/fa-IR.json +++ b/src/frontend/js/translations/fa-IR.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/js/translations/fr-CA.json b/src/frontend/js/translations/fr-CA.json index 184ae6e33d..0c46f7a965 100644 --- a/src/frontend/js/translations/fr-CA.json +++ b/src/frontend/js/translations/fr-CA.json @@ -1 +1 @@ -{"16uca+":"Sous \"{value}\"","9vqPaF":"Racine","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Ajouter une nouvelle adresse","components.AddressesManagement.addressInput":"Adresse","components.AddressesManagement.cancelButton":"Annuler","components.AddressesManagement.cancelTitleButton":"Annuler la modification","components.AddressesManagement.cityInput":"Ville","components.AddressesManagement.closeButton":"Retour","components.AddressesManagement.countryInput":"Pays","components.AddressesManagement.deleteButton":"Supprimer","components.AddressesManagement.deleteButtonLabel":"Supprimer l'adresse \"{title}\"","components.AddressesManagement.editAddress":"Mettre à jour l'adresse {title}","components.AddressesManagement.editButton":"Modifier","components.AddressesManagement.editButtonLabel":"Modifier l'adresse \"{title}\"","components.AddressesManagement.first_nameInput":"Prénom du destinataire","components.AddressesManagement.last_nameInput":"Nom du destinataire","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Code postal","components.AddressesManagement.promoteButtonLabel":"Utiliser l'adresse \"{title}\" comme adresse principale","components.AddressesManagement.registeredAddresses":"Vos adresses","components.AddressesManagement.requiredFields":"Les champ marqués par {symbol} sont obligatoires","components.AddressesManagement.saveInput":"Sauvegarder cette adresse","components.AddressesManagement.selectButton":"Utiliser cette adresse","components.AddressesManagement.selectButtonLabel":"Sélectionner l'adresse \"{title}\"","components.AddressesManagement.titleInput":"Titre de l'adresse","components.AddressesManagement.updateButton":"Mettre à jour cette adresse","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"M'avertir","components.CourseAddToWishlist.labelRemove":"Ne plus m'avertir","components.CourseAddToWishlist.loading":"Chargement de votre liste de souhaits...","components.CourseAddToWishlist.logMe":"Connectez-vous pour être averti","components.CourseGlimpse.categoryLabel":"Catégorie","components.CourseGlimpse.codeIconAlt":"Code du cours","components.CourseGlimpse.cover":"Couverture","components.CourseGlimpse.organizationIconAlt":"Institution","components.CourseGlimpseFooter.dateIconAlt":"Date du cours","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {cours correspond} other {cours correspondent}} à votre recherche","components.CourseProductCertificateItem.certificateExplanation":"Vous pourrez télécharger votre certificat une fois que vous aurez réussi toutes les sessions.","components.CourseProductCertificateItem.congratulations":"Félicitations, vous avez terminé ce cours !","components.CourseProductCertificateItem.download":"Télécharger","components.CourseProductCertificateItem.generatingCertificate":"Certificat en cours de génération...","components.CourseProductItem.availableIn":"Disponible en {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Chargement des informations du produit...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Acheté","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Début","components.CourseRunEnrollment.courseRunStartIn":"Le cours commence {relativeStartDate}","components.CourseRunEnrollment.enroll":"S’inscrire maintenant","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à cette session","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à ce cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.getEnrollmentFailed":"Échec de la récupération de l'inscription","components.CourseRunEnrollment.goToCourse":"Accéder au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Connectez-vous pour vous inscrire","components.CourseRunEnrollment.unenroll":"Se désinscrire de ce cours","components.CourseRunEnrollment.unenrollmentFailed":"Votre demande de désinscription a échoué.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrit","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Vous êtes inscrits à cette session","components.CourseRunItemWithEnrollment.goToCourse":"Accéder au cours","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.CourseRunUnenrollmentButton.unenroll":"Se désinscrire de ce cours","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"Mes certificats","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Cours","components.Dashboard.DashboardRoutes.courses.label":"Mes cours","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informations générales","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Créer une adresse","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Modifier l'adresse \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Modifier la carte de crédit \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"Mes préférences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Supprimer","components.DashboardAddressBox.edit":"Éditer","components.DashboardAddressBox.isMain":"Adresse par défaut","components.DashboardAddressBox.setMain":"Utiliser par défaut","components.DashboardAddressesManagement.add":"Ajouter une nouvelle adresse","components.DashboardAddressesManagement.emptyList":"Vous n'avez pas encore créé d'adresse.","components.DashboardAddressesManagement.error":"Une erreur est survenue. Veuillez réessayer plus tard.","components.DashboardAddressesManagement.header":"Adresses de facturation","components.DashboardBreadcrumbs.back":"Précédent","components.DashboardCertificate.issuedOn":"Émis le {date}","components.DashboardCertificate.noCertificateCertificate":"Lorsque vous aurez réussi votre examen, vous pourrez télécharger votre attestation ici.","components.DashboardCertificate.noCertificateCredential":"Lorsque vous aurez réussi tous vos cours, vous pourrez télécharger votre attestation ici.","components.DashboardCertificate.noCertificateUnknown":"Lorsque vous aurez rempli toutes les conditions, vous pourrez télécharger votre attestation ici.","components.DashboardCertificates.empty":"Vous n'avez pas encore de certificats.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Chargement des certificats...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"Vous n'avez pas encore d'inscriptions ni de commandes.","components.DashboardCourses.loadMoreResults":"Afficher plus","components.DashboardCourses.loading":"Chargement des commandes et des inscriptions...","components.DashboardCreateAddressForm.header":"Créer une adresse","components.DashboardCreateAddressForm.submit":"Créer","components.DashboardCreditCardBox.delete":"Supprimer","components.DashboardCreditCardBox.edit":"Éditer","components.DashboardCreditCardBox.endsWith":"Se termine par •••• {code}","components.DashboardCreditCardBox.expiration":"Expire en {month}/{year}","components.DashboardCreditCardBox.expired":"Expirée depuis {month}/{year}","components.DashboardCreditCardBox.isMain":"Carte de crédit par défaut","components.DashboardCreditCardBox.setMain":"Utiliser par défaut","components.DashboardCreditCardsManagement.emptyList":"Vous n'avez pas encore créé de carte de crédit.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir la carte de crédit par défaut.","components.DashboardCreditCardsManagement.header":"Cartes de crédit","components.DashboardEditAddressForm.header":"Éditer l'adresse \"{title}\"","components.DashboardEditAddressForm.remove":"Supprimer","components.DashboardEditAddressForm.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.delete":"Supprimer","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Éditer la carte de crédit","components.DashboardEditCreditCard.isMainInputLabel":"Utiliser cette carte de crédit par défaut","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numéros","components.DashboardEditCreditCard.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.titleInputLabel":"Nom de la carte de crédit","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Chargement de la commande...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Accéder aux préférences de votre profil","components.DownloadCertificateButton.download":"Télécharger","components.DownloadCertificateButton.generatingCertificate":"Attestattion en cours de génération...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"S'inscrire","components.EnrollableCourseRunList.enrolling":"Inscription en cours...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.EnrollableCourseRunList.selectCourseRun":"Sélectionnez une session","components.EnrolledCourseRun.courseRunStartIn":"Le cours commence {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Accéder au cours","components.EnrolledCourseRun.isEnroll":"Vous êtes inscrit","components.EnrolledCourseRun.unenroll":"Se désinscrire","components.EnrolledCourseRun.unenrolling":"Désinscription en cours...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Inscription à partir du {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Inscription jusqu'au {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue :","components.LanguageSelector.switchToLanguage":"Voir en {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Fermer la fenêtre de dialogue","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.PaymentButton.errorAbort":"Vous avez annulé le paiement.","components.PaymentButton.errorDefault":"Une erreur s'est produite lors du paiement. Veuillez réessayer plus tard.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Recherche de cours","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Acheter {product}","components.SaleTunnel.loginToPurchase":"Connectez-vous pour acheter {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"Il n'y a pas plus de places disponibles pour ce produit.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Langue :} other {Langues :} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.resultsTitle":"Résultats de recherche","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.Search.textQueryLengthWarning":"La recherche de texte nécessite au moins 3 caractères. { query } n'est pas assez long. Les résultats de recherche ne seront pas affectés par cette requête.","components.SearchFilterGroupModal.closeModal":"Fermer le modal","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.inputLabel":"Rechercher des filtres à ajouter","components.SearchFilterGroupModal.inputPlaceholder":"Rechercher parmi les { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Charger plus de résultats","components.SearchFilterGroupModal.loadingResults":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchInput.button":"Chercher","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Bienvenue {name}","components.StudentDashboardSidebar.subHeader":"Vous êtes sur votre tableau de bord","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archivées","components.SyllabusAsideList.courseRunsTitle":"Session de cours","components.SyllabusAsideList.noCourseRuns":"Aucune session","components.SyllabusAsideList.noOtherCourseRuns":"Aucune autre session","components.SyllabusAsideList.ongoing":"En cours","components.SyllabusAsideList.otherCourseRuns":"Autres sessions","components.SyllabusAsideList.toBeScheduled":"À programmer","components.SyllabusAsideList.upcoming":"À venir","components.SyllabusCourseRun.course":"Cours","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscription","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Langues","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} sessions sont actuellement ouvertes pour ce cours","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choisir maintenant","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Aucune session ouverte","components.SyllabusSimpleCourseRunsList.viewMore":"Voir plus","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cours","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Tous mes cours","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Tableau de bord enseignant","components.TeacherDashboardCourseList.emptyList":"Vous n'avez pas encore de cours.","components.TeacherDashboardCourseList.loadMore":"Afficher plus","components.TeacherDashboardCourseList.loading":"Chargement des cours...","components.TeacherDashboardCourseLoader.errorNoCourse":"Ce cours n'existe pas","components.TeacherDashboardCourseLoader.loading":"Chargement du cours...","components.TeacherDashboardCourseLoader.pageTitle":"Espace de cours","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Chargement du cours...","components.TeacherDashboardCourseSidebar.subHeader":"Vous êtes sur le tableau de bord du cours","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Accéder au plan de cours","components.TeacherDashboardCoursesLoader.title.archived":"Archivé","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Vos cours","components.TeacherDashboardCoursesLoader.title.incoming":"À venir","components.TeacherDashboardCoursesLoader.title.ongoing":"En cours","components.TeacherDashboardOrganizationCourseLoader.loading":"Chargement de l'institution...","components.TeacherDashboardOrganizationCourseLoader.title":"Cours de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Chargement de l'institution...","components.TeacherDashboardOrganizationSidebar.subHeader":"Vous êtes sur le tableau de bord de l'institution","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Lien vers l'institution «{organizationTitle}»","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"Mes universités","components.TeacherDashboardProfileSidebar.subHeader":"Vous êtes sur votre tableau de bord enseignant","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Ce produit n’existe pas","components.TeacherDashboardTrainingLoader.loading":"Chargement de la formation...","components.TeacherDashboardTrainingLoader.pageTitle":"Espace de formation","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Cours","hooks.useAddresses.errorCreate":"Une erreur s'est produite lors de la création de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorDelete":"Une erreur s'est produite lors de la suppression de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorNotFound":"Adresse introuvable","hooks.useAddresses.errorSelect":"Une erreur s'est produite lors de la récupération de vos adresses. Veuillez réessayer plus tard.","hooks.useAddresses.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre adresse. Veuillez réessayer plus tard.","hooks.useAddressesManagement.actionUpdate":"mettre à jour","hooks.useAddressesManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer l'adresse \"{title}\" ? ⚠️ Ce changement sera irréversible.","hooks.useAddressesManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir l'adresse principale.","hooks.useAddressesManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer l'adresse principale.","hooks.useCertificates.errorGet":"Une erreur s'est produite lors de la récupération des certificats. Veuillez réessayer plus tard.","hooks.useCertificates.errorNotFound":"Certificat introuvable","hooks.useContracts.errorNotFound":"Impossible de trouver le contrat","hooks.useContracts.errorSelect":"Une erreur s'est produite lors de la récupération des contrats. Veuillez réessayer plus tard.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorNotFound":"Formation introuvable.","hooks.useCourseProductUnion.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorGet":"Une erreur s'est produite lors de la récupération du produit. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorNotFound":"Produit introuvable.","hooks.useCourseRuns.errorGet":"Une erreur s'est produite lors de la récupération des sessions de cours. Veuillez réessayer plus tard.","hooks.useCourseRuns.errorNotFound":"Impossible de trouver les sessions de cours.","hooks.useCourses.errorNotFound":"Impossible de trouver le cours.","hooks.useCourses.errorSelect":"Une erreur s'est produite lors de la récupération du cours. Veuillez réessayer plus tard.","hooks.useCreditCards.errorDelete":"Une erreur s'est produite lors de la suppression de la carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorNotFound":"Carte de crédit introuvable","hooks.useCreditCards.errorSelect":"Une erreur s'est produite lors de la récupération des cartes de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"Une erreur s'est produite lors de la mise à jour de la carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCardsManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer cette carte de crédit ? ⚠️ Ce changement sera irréversible.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer la carte de crédit principale.","hooks.useDashboardAddressForm.isMainInputLabel":"Utiliser cette adresse par défaut","hooks.useEnrollments.errorCreate":"Une erreur s'est produite lors de la création de l'inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorDelete":"Une erreur s'est produite lors de la suppression de l'inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorNotFound":"Impossible de trouver l'inscription","hooks.useEnrollments.errorSelect":"Une erreur s'est produite lors de la récupération des inscriptions. Veuillez réessayer plus tard.","hooks.useEnrollments.errorUpdate":"Une erreur s'est produite lors de la mise à jour de l'inscription. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes. Veuillez réessayer plus tard.","hooks.useOrders.errorNotFound":"Commandes introuvables.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes et inscriptions. Veuillez réessayer plus tard.","hooks.useOrganizations.errorNotFound":"Impossible de trouver l'organisation","hooks.useOrganizations.errorSelect":"Une erreur s'est produite lors de la récupération des organisations. Veuillez réessayer plus tard.","hooks.useResources.errorCreate":"Une erreur s'est produite lors de la création d'une ressource. Veuillez réessayer plus tard.","hooks.useResources.errorDelete":"Une erreur s'est produite lors de la suppression d'une ressource. Veuillez réessayer plus tard.","hooks.useResources.errorGet":"Une erreur est survenue lors de la récupération des ressources. Veuillez réessayer plus tard.","hooks.useResources.errorNotFound":"Impossible de trouver la ressource.","hooks.useResources.errorUpdate":"Une erreur s'est produite lors de la mise à jour d'une ressource. Veuillez réessayer plus tard.","hooks.useUnionResource.errorGet":"Une erreur s'est produite lors de la récupération des données. Veuillez réessayer plus tard.","hooks.useWishlist.errorCreate":"Une erreur s'est produite lors de l'ajout de ce cours à votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorDelete":"Une erreur s'est produite lors de la suppression de ce cours de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorGet":"Une erreur s'est produite lors de la récupération de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorNotFound":"Liste de souhaits introuvable.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"et"} \ No newline at end of file +{"16uca+":"Sous \"{value}\"","9vqPaF":"Racine","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Ajouter une nouvelle adresse","components.AddressesManagement.addressInput":"Adresse","components.AddressesManagement.cancelButton":"Annuler","components.AddressesManagement.cancelTitleButton":"Annuler la modification","components.AddressesManagement.cityInput":"Ville","components.AddressesManagement.closeButton":"Retour","components.AddressesManagement.countryInput":"Pays","components.AddressesManagement.deleteButton":"Supprimer","components.AddressesManagement.deleteButtonLabel":"Supprimer l'adresse \"{title}\"","components.AddressesManagement.editAddress":"Mettre à jour l'adresse {title}","components.AddressesManagement.editButton":"Modifier","components.AddressesManagement.editButtonLabel":"Modifier l'adresse \"{title}\"","components.AddressesManagement.first_nameInput":"Prénom du destinataire","components.AddressesManagement.last_nameInput":"Nom du destinataire","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Code postal","components.AddressesManagement.promoteButtonLabel":"Utiliser l'adresse \"{title}\" comme adresse principale","components.AddressesManagement.registeredAddresses":"Vos adresses","components.AddressesManagement.requiredFields":"Les champ marqués par {symbol} sont obligatoires","components.AddressesManagement.saveInput":"Sauvegarder cette adresse","components.AddressesManagement.selectButton":"Utiliser cette adresse","components.AddressesManagement.selectButtonLabel":"Sélectionner l'adresse \"{title}\"","components.AddressesManagement.titleInput":"Titre de l'adresse","components.AddressesManagement.updateButton":"Mettre à jour cette adresse","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"M'avertir","components.CourseAddToWishlist.labelRemove":"Ne plus m'avertir","components.CourseAddToWishlist.loading":"Chargement de votre liste de souhaits...","components.CourseAddToWishlist.logMe":"Connectez-vous pour être averti","components.CourseGlimpse.categoryLabel":"Catégorie","components.CourseGlimpse.codeIconAlt":"Code du cours","components.CourseGlimpse.cover":"Couverture","components.CourseGlimpse.organizationIconAlt":"Institution","components.CourseGlimpseFooter.dateIconAlt":"Date du cours","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {cours correspond} other {cours correspondent}} à votre recherche","components.CourseProductCertificateItem.certificateExplanation":"Vous pourrez télécharger votre certificat une fois que vous aurez réussi toutes les sessions.","components.CourseProductCertificateItem.congratulations":"Félicitations, vous avez terminé ce cours !","components.CourseProductCertificateItem.download":"Télécharger","components.CourseProductCertificateItem.generatingCertificate":"Certificat en cours de génération...","components.CourseProductItem.availableIn":"Disponible en {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Chargement des informations du produit...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Acheté","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Début","components.CourseRunEnrollment.courseRunStartIn":"Le cours commence {relativeStartDate}","components.CourseRunEnrollment.enroll":"S’inscrire maintenant","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à cette session","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à ce cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.getEnrollmentFailed":"Échec de la récupération de l'inscription","components.CourseRunEnrollment.goToCourse":"Accéder au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Connectez-vous pour vous inscrire","components.CourseRunEnrollment.unenroll":"Se désinscrire de ce cours","components.CourseRunEnrollment.unenrollmentFailed":"Votre demande de désinscription a échoué.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrit","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Vous êtes inscrits à cette session","components.CourseRunItemWithEnrollment.goToCourse":"Accéder au cours","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.CourseRunUnenrollmentButton.unenroll":"Se désinscrire de ce cours","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"Mes certificats","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Cours","components.Dashboard.DashboardRoutes.courses.label":"Mes cours","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informations générales","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Créer une adresse","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Modifier l'adresse \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Modifier la carte de crédit \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"Mes préférences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Supprimer","components.DashboardAddressBox.edit":"Éditer","components.DashboardAddressBox.isMain":"Adresse par défaut","components.DashboardAddressBox.setMain":"Utiliser par défaut","components.DashboardAddressesManagement.add":"Ajouter une nouvelle adresse","components.DashboardAddressesManagement.emptyList":"Vous n'avez pas encore créé d'adresse.","components.DashboardAddressesManagement.error":"Une erreur est survenue. Veuillez réessayer plus tard.","components.DashboardAddressesManagement.header":"Adresses de facturation","components.DashboardBreadcrumbs.back":"Précédent","components.DashboardCertificate.issuedOn":"Émis le {date}","components.DashboardCertificate.noCertificateCertificate":"Lorsque vous aurez réussi votre examen, vous pourrez télécharger votre attestation ici.","components.DashboardCertificate.noCertificateCredential":"Lorsque vous aurez réussi tous vos cours, vous pourrez télécharger votre attestation ici.","components.DashboardCertificate.noCertificateUnknown":"Lorsque vous aurez rempli toutes les conditions, vous pourrez télécharger votre attestation ici.","components.DashboardCertificates.empty":"Vous n'avez pas encore de certificats.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Chargement des certificats...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"Vous n'avez pas encore d'inscriptions ni de commandes.","components.DashboardCourses.loadMoreResults":"Afficher plus","components.DashboardCourses.loading":"Chargement des commandes et des inscriptions...","components.DashboardCreateAddressForm.header":"Créer une adresse","components.DashboardCreateAddressForm.submit":"Créer","components.DashboardCreditCardBox.delete":"Supprimer","components.DashboardCreditCardBox.edit":"Éditer","components.DashboardCreditCardBox.endsWith":"Se termine par •••• {code}","components.DashboardCreditCardBox.expiration":"Expire en {month}/{year}","components.DashboardCreditCardBox.expired":"Expirée depuis {month}/{year}","components.DashboardCreditCardBox.isMain":"Carte de crédit par défaut","components.DashboardCreditCardBox.setMain":"Utiliser par défaut","components.DashboardCreditCardsManagement.emptyList":"Vous n'avez pas encore créé de carte de crédit.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir la carte de crédit par défaut.","components.DashboardCreditCardsManagement.header":"Cartes de crédit","components.DashboardEditAddressForm.header":"Éditer l'adresse \"{title}\"","components.DashboardEditAddressForm.remove":"Supprimer","components.DashboardEditAddressForm.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.delete":"Supprimer","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Éditer la carte de crédit","components.DashboardEditCreditCard.isMainInputLabel":"Utiliser cette carte de crédit par défaut","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numéros","components.DashboardEditCreditCard.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.titleInputLabel":"Nom de la carte de crédit","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Chargement de la commande...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Accéder aux préférences de votre profil","components.DownloadCertificateButton.download":"Télécharger","components.DownloadCertificateButton.generatingCertificate":"Attestattion en cours de génération...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"S'inscrire","components.EnrollableCourseRunList.enrolling":"Inscription en cours...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.EnrollableCourseRunList.selectCourseRun":"Sélectionnez une session","components.EnrolledCourseRun.courseRunStartIn":"Le cours commence {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Accéder au cours","components.EnrolledCourseRun.isEnroll":"Vous êtes inscrit","components.EnrolledCourseRun.unenroll":"Se désinscrire","components.EnrolledCourseRun.unenrolling":"Désinscription en cours...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Inscription à partir du {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Inscription jusqu'au {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue :","components.LanguageSelector.switchToLanguage":"Voir en {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Fermer la fenêtre de dialogue","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.PaymentButton.errorAbort":"Vous avez annulé le paiement.","components.PaymentButton.errorDefault":"Une erreur s'est produite lors du paiement. Veuillez réessayer plus tard.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Recherche de cours","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Acheter {product}","components.SaleTunnel.loginToPurchase":"Connectez-vous pour acheter {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"Il n'y a pas plus de places disponibles pour ce produit.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Langue :} other {Langues :} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.resultsTitle":"Résultats de recherche","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.Search.textQueryLengthWarning":"La recherche de texte nécessite au moins 3 caractères. { query } n'est pas assez long. Les résultats de recherche ne seront pas affectés par cette requête.","components.SearchFilterGroupModal.closeModal":"Fermer le modal","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.inputLabel":"Rechercher des filtres à ajouter","components.SearchFilterGroupModal.inputPlaceholder":"Rechercher parmi les { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Charger plus de résultats","components.SearchFilterGroupModal.loadingResults":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchInput.button":"Chercher","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des organisations, des catégories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Bienvenue {name}","components.StudentDashboardSidebar.subHeader":"Vous êtes sur votre tableau de bord","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archivées","components.SyllabusAsideList.courseRunsTitle":"Session de cours","components.SyllabusAsideList.noCourseRuns":"Aucune session","components.SyllabusAsideList.noOtherCourseRuns":"Aucune autre session","components.SyllabusAsideList.ongoing":"En cours","components.SyllabusAsideList.otherCourseRuns":"Autres sessions","components.SyllabusAsideList.toBeScheduled":"À programmer","components.SyllabusAsideList.upcoming":"À venir","components.SyllabusCourseRun.course":"Cours","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscription","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Langues","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} sessions sont actuellement ouvertes pour ce cours","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choisir maintenant","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Aucune session ouverte","components.SyllabusSimpleCourseRunsList.viewMore":"Voir plus","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contrats","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cours","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Tous mes cours","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Tableau de bord enseignant","components.TeacherDashboardCourseList.emptyList":"Vous n'avez pas encore de cours.","components.TeacherDashboardCourseList.loadMore":"Afficher plus","components.TeacherDashboardCourseList.loading":"Chargement des cours...","components.TeacherDashboardCourseLoader.errorNoCourse":"Ce cours n'existe pas","components.TeacherDashboardCourseLoader.loading":"Chargement du cours...","components.TeacherDashboardCourseLoader.pageTitle":"Espace de cours","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Chargement du cours...","components.TeacherDashboardCourseSidebar.subHeader":"Vous êtes sur le tableau de bord du cours","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Accéder au plan de cours","components.TeacherDashboardCoursesLoader.title.archived":"Archivé","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Vos cours","components.TeacherDashboardCoursesLoader.title.incoming":"À venir","components.TeacherDashboardCoursesLoader.title.ongoing":"En cours","components.TeacherDashboardOrganizationCourseLoader.loading":"Chargement de l'institution...","components.TeacherDashboardOrganizationCourseLoader.title":"Cours de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Chargement de l'institution...","components.TeacherDashboardOrganizationSidebar.subHeader":"Vous êtes sur le tableau de bord de l'institution","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Lien vers l'institution «{organizationTitle}»","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"Mes universités","components.TeacherDashboardProfileSidebar.subHeader":"Vous êtes sur votre tableau de bord enseignant","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Ce produit n’existe pas","components.TeacherDashboardTrainingLoader.loading":"Chargement de la formation...","components.TeacherDashboardTrainingLoader.pageTitle":"Espace de formation","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Cours","hooks.useAddresses.errorCreate":"Une erreur s'est produite lors de la création de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorDelete":"Une erreur s'est produite lors de la suppression de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorNotFound":"Adresse introuvable","hooks.useAddresses.errorSelect":"Une erreur s'est produite lors de la récupération de vos adresses. Veuillez réessayer plus tard.","hooks.useAddresses.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre adresse. Veuillez réessayer plus tard.","hooks.useAddressesManagement.actionUpdate":"mettre à jour","hooks.useAddressesManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer l'adresse \"{title}\" ? ⚠️ Ce changement sera irréversible.","hooks.useAddressesManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir l'adresse principale.","hooks.useAddressesManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer l'adresse principale.","hooks.useCertificates.errorGet":"Une erreur s'est produite lors de la récupération des certificats. Veuillez réessayer plus tard.","hooks.useCertificates.errorNotFound":"Certificat introuvable","hooks.useContracts.errorNotFound":"Impossible de trouver le contrat","hooks.useContracts.errorSelect":"Une erreur s'est produite lors de la récupération des contrats. Veuillez réessayer plus tard.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorNotFound":"Formation introuvable.","hooks.useCourseProductUnion.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorGet":"Une erreur s'est produite lors de la récupération du produit. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorNotFound":"Produit introuvable.","hooks.useCourseRuns.errorGet":"Une erreur s'est produite lors de la récupération des sessions de cours. Veuillez réessayer plus tard.","hooks.useCourseRuns.errorNotFound":"Impossible de trouver les sessions de cours.","hooks.useCourses.errorNotFound":"Impossible de trouver le cours.","hooks.useCourses.errorSelect":"Une erreur s'est produite lors de la récupération du cours. Veuillez réessayer plus tard.","hooks.useCreditCards.errorDelete":"Une erreur s'est produite lors de la suppression de la carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorNotFound":"Carte de crédit introuvable","hooks.useCreditCards.errorSelect":"Une erreur s'est produite lors de la récupération des cartes de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"Une erreur s'est produite lors de la mise à jour de la carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCardsManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer cette carte de crédit ? ⚠️ Ce changement sera irréversible.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer la carte de crédit principale.","hooks.useDashboardAddressForm.isMainInputLabel":"Utiliser cette adresse par défaut","hooks.useEnrollments.errorCreate":"Une erreur s'est produite lors de la création de l'inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorDelete":"Une erreur s'est produite lors de la suppression de l'inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorNotFound":"Impossible de trouver l'inscription","hooks.useEnrollments.errorSelect":"Une erreur s'est produite lors de la récupération des inscriptions. Veuillez réessayer plus tard.","hooks.useEnrollments.errorUpdate":"Une erreur s'est produite lors de la mise à jour de l'inscription. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes. Veuillez réessayer plus tard.","hooks.useOrders.errorNotFound":"Commandes introuvables.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes et inscriptions. Veuillez réessayer plus tard.","hooks.useOrganizations.errorNotFound":"Impossible de trouver l'organisation","hooks.useOrganizations.errorSelect":"Une erreur s'est produite lors de la récupération des organisations. Veuillez réessayer plus tard.","hooks.useResources.errorCreate":"Une erreur s'est produite lors de la création d'une ressource. Veuillez réessayer plus tard.","hooks.useResources.errorDelete":"Une erreur s'est produite lors de la suppression d'une ressource. Veuillez réessayer plus tard.","hooks.useResources.errorGet":"Une erreur est survenue lors de la récupération des ressources. Veuillez réessayer plus tard.","hooks.useResources.errorNotFound":"Impossible de trouver la ressource.","hooks.useResources.errorUpdate":"Une erreur s'est produite lors de la mise à jour d'une ressource. Veuillez réessayer plus tard.","hooks.useUnionResource.errorGet":"Une erreur s'est produite lors de la récupération des données. Veuillez réessayer plus tard.","hooks.useWishlist.errorCreate":"Une erreur s'est produite lors de l'ajout de ce cours à votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorDelete":"Une erreur s'est produite lors de la suppression de ce cours de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorGet":"Une erreur s'est produite lors de la récupération de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorNotFound":"Liste de souhaits introuvable.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"et"} \ No newline at end of file diff --git a/src/frontend/js/translations/fr-FR.json b/src/frontend/js/translations/fr-FR.json index 2f0ceccdeb..9c06604438 100644 --- a/src/frontend/js/translations/fr-FR.json +++ b/src/frontend/js/translations/fr-FR.json @@ -1 +1 @@ -{"16uca+":"Sous \"{value}\"","9vqPaF":"Racine","Dashboard.components.SearchBar.clearSearchButtonLabel":"Effacer la recherche en cours","Dashboard.components.SearchBar.searchButtonLabel":"Rechercher","Dashboard.components.SearchBar.searchPlaceholder":"Rechercher","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {résultat} other {résultats}} correspondant à votre recherche","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Ajouter une nouvelle adresse","components.AddressesManagement.addressInput":"Adresse","components.AddressesManagement.cancelButton":"Annuler","components.AddressesManagement.cancelTitleButton":"Annuler la modification","components.AddressesManagement.cityInput":"Ville","components.AddressesManagement.closeButton":"Retour","components.AddressesManagement.countryInput":"Pays","components.AddressesManagement.deleteButton":"Supprimer","components.AddressesManagement.deleteButtonLabel":"Supprimer l'adresse \"{title}\"","components.AddressesManagement.editAddress":"Mettre à jour l'adresse {title}","components.AddressesManagement.editButton":"Modifier","components.AddressesManagement.editButtonLabel":"Modifier l'adresse \"{title}\"","components.AddressesManagement.first_nameInput":"Prénom du destinataire","components.AddressesManagement.last_nameInput":"Nom du destinataire","components.AddressesManagement.optionalFieldText":"(optionnel)","components.AddressesManagement.postcodeInput":"Code postal","components.AddressesManagement.promoteButtonLabel":"Utiliser l'adresse \"{title}\" comme adresse principale","components.AddressesManagement.registeredAddresses":"Vos adresses","components.AddressesManagement.requiredFields":"Les champs marqués avec {symbol} sont obligatoires","components.AddressesManagement.saveInput":"Sauvegarder cette adresse","components.AddressesManagement.selectButton":"Utiliser cette adresse","components.AddressesManagement.selectButtonLabel":"Sélectionner l'adresse \"{title}\"","components.AddressesManagement.titleInput":"Titre de l'adresse","components.AddressesManagement.updateButton":"Mettre à jour cette adresse","components.ContractStatus.learnerSignedOn":"Vous avez signé ce contrat de formation. Signé le {date}","components.ContractStatus.organizationSignedOn":"L'établissement a signé ce contrat de formation. Signé le {date}","components.ContractStatus.waitingOrganization":"Vous ne pouvez pas télécharger votre contrat de formation tant qu'il n'a pas été signé par l'établissement.","components.ContractStatus.waitingSignature":"Vous devez signer ce contrat de formation pour accéder à votre formation.","components.CountrySelectField.label":"Pays","components.CourseAddToWishlist.labelAdd":"M'avertir","components.CourseAddToWishlist.labelRemove":"Ne plus m'avertir","components.CourseAddToWishlist.loading":"Chargement de votre liste de souhaits...","components.CourseAddToWishlist.logMe":"Connectez-vous pour être averti","components.CourseGlimpse.categoryLabel":"Catégorie","components.CourseGlimpse.codeIconAlt":"Code du cours","components.CourseGlimpse.cover":"Couverture","components.CourseGlimpse.organizationIconAlt":"Établissement","components.CourseGlimpseFooter.dateIconAlt":"Date du cours","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {cours correspond} other {cours correspondent}} à votre recherche","components.CourseProductCertificateItem.certificateExplanation":"Vous pourrez télécharger votre certificat une fois que vous aurez réussi toutes les sessions.","components.CourseProductCertificateItem.congratulations":"Félicitations, vous avez terminé ce cours !","components.CourseProductCertificateItem.download":"Télécharger","components.CourseProductCertificateItem.generatingCertificate":"Certificat en cours de génération...","components.CourseProductItem.availableIn":"Disponible en {languages}","components.CourseProductItem.fromTo":"À partir du {from} {to, select, undefined {} other {jusqu'au {to}}}","components.CourseProductItem.loadingInitial":"Chargement des informations produit...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {Aucune place restante} one {Dernière place restante!} other {# places restantes} }","components.CourseProductItem.noSeatsAvailable":"Désolé, aucune place disponible pour le moment","components.CourseProductItem.purchased":"Acheté","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Début","components.CourseRunEnrollment.courseRunStartIn":"Le cours commence {relativeStartDate}","components.CourseRunEnrollment.enroll":"Je m'inscris","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à cette session","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à ce cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.getEnrollmentFailed":"Échec de la récupération de l'inscription","components.CourseRunEnrollment.goToCourse":"Accéder au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Je me connecte pour m’inscrire","components.CourseRunEnrollment.unenroll":"Se désinscrire de ce cours","components.CourseRunEnrollment.unenrollmentFailed":"Votre demande de désinscription a échoué.","components.CourseRunItem.courseRunTitleWithDates":"{title}, à partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.CourseRunItem.courseRunWithDates":"À partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrit","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Vous êtes inscrit à cette session","components.CourseRunItemWithEnrollment.goToCourse":"Accéder au cours","components.CourseRunList.dataCourseRunLink":"Accéder à l'espace cours","components.CourseRunList.dataCourseRunPeriod":"À partir du {from} {to, select, undefined {} other {jusqu'au {to}}}","components.CourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.CourseRunUnenrollmentButton.unenroll":"Se désinscrire de ce cours","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"Mes attestations de réussite","components.Dashboard.DashboardRoutes.certificates.label":"Mes certificats","components.Dashboard.DashboardRoutes.certificates.order.label":"Mes certificats","components.Dashboard.DashboardRoutes.contracts.label":"Mes contrats de formation","components.Dashboard.DashboardRoutes.course.session.label":"Cours","components.Dashboard.DashboardRoutes.courses.label":"Mes cours et formations","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informations générales","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Créer une adresse","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Éditer l'adresse \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Éditer la carte de crédit \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"Mes préférences","components.Dashboard.Signature.SignatureDummy.button":"Signer","components.Dashboard.Signature.SignatureDummy.signing":"Signature du contrat de formation ...","components.Dashboard.Signature.SignatureLexPersona.error":"Une erreur s'est produite lors de la signature du contrat de formation. Veuillez réessayer plus tard.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"Une erreur s'est produite lors de la signature du contrat de formation avec le statut suivant : {status}. Veuillez actualiser afin de réessayer.","components.DashboardAddressBox.delete":"Supprimer","components.DashboardAddressBox.edit":"Éditer","components.DashboardAddressBox.isMain":"Adresse par défaut","components.DashboardAddressBox.setMain":"Utiliser par défaut","components.DashboardAddressesManagement.add":"Ajouter une nouvelle adresse","components.DashboardAddressesManagement.emptyList":"Vous n'avez pas encore créé d'adresse.","components.DashboardAddressesManagement.error":"Une erreur est survenue. Veuillez réessayer plus tard.","components.DashboardAddressesManagement.header":"Adresses de facturation","components.DashboardBreadcrumbs.back":"Retour","components.DashboardCertificate.issuedOn":"Émis le {date}","components.DashboardCertificate.noCertificateCertificate":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificate.noCertificateCredential":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificate.noCertificateUnknown":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificates.empty":"Vous n'avez pas encore de certificats.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations de réussite","components.DashboardCertificates.loading":"Chargement des certificats...","components.DashboardCertificates.orderCertificateTabLabel":"Certificats","components.DashboardContracts.empty":"Vous n'avez pas encore de contrats de formation.","components.DashboardContracts.loading":"Chargement des contrats de formation...","components.DashboardCourses.emptyList":"Vous n'avez pas encore d'inscriptions ni de commandes.","components.DashboardCourses.loadMoreResults":"Afficher plus","components.DashboardCourses.loading":"Chargement des commandes et des inscriptions...","components.DashboardCreateAddressForm.header":"Créer une adresse","components.DashboardCreateAddressForm.submit":"Créer","components.DashboardCreditCardBox.delete":"Supprimer","components.DashboardCreditCardBox.edit":"Éditer","components.DashboardCreditCardBox.endsWith":"Se termine par •••• {code}","components.DashboardCreditCardBox.expiration":"Expire en {month}/{year}","components.DashboardCreditCardBox.expired":"Expirée depuis {month}/{year}","components.DashboardCreditCardBox.isMain":"Carte de crédit par défaut","components.DashboardCreditCardBox.setMain":"Utiliser par défaut","components.DashboardCreditCardsManagement.emptyList":"Vous n'avez pas encore créé de carte de crédit.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir la carte de crédit par défaut.","components.DashboardCreditCardsManagement.header":"Cartes de crédit","components.DashboardEditAddressForm.header":"Éditer l'adresse \"{title}\"","components.DashboardEditAddressForm.remove":"Supprimer","components.DashboardEditAddressForm.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.delete":"Supprimer","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Éditer la carte de crédit","components.DashboardEditCreditCard.isMainInputLabel":"Utiliser cette carte de crédit par défaut","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numéros","components.DashboardEditCreditCard.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.titleInputLabel":"Nom de la carte de crédit","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"La signature prend plus de temps que prévu ... veuillez revenir plus tard.","components.DashboardItem.Order.ContractFrame.errorPolling":"Une erreur s'est produite lors de la vérification de la signature. Veuillez revenir plus tard.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"Une erreur s'est produite lors de l'initialisation du processus de signature. Veuillez réessayer plus tard.","components.DashboardItem.Order.ContractFrame.finishedButton":"Suivant","components.DashboardItem.Order.ContractFrame.finishedCaption":"Félicitations !","components.DashboardItem.Order.ContractFrame.finishedDescription":"Vous recevrez un courriel une fois que votre convention de formation sera signée par toutes les parties. Vous pouvez dès à présent finaliser votre souscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Chargement de votre contrat de formation...","components.DashboardItem.Order.ContractFrame.polling":"Vérification de la signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"Nous sommes en attente de validation de la signature par la plateforme de signature sécurisée. Cela peut prendre quelques minutes. Ne fermez pas cette page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"En attente","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Annulée","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"En attente","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Le dernier prélèvement automatique a échoué","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"Le premier prélèvement automatique a échoué","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Terminé avec succès","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"En attente du premier prélèvement automatique","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Moyen de paiement manquant","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature requise","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"En attente","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Annulée","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"En cours","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"En attente","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Le dernier prélèvement automatique a échoué","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"Le premier prélèvement automatique a échoué","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certifié","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"En attente du premier prélèvement automatique","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"En cours","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"À signer","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Moyen de paiement manquant","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"En attente de la signature de l'apprenant","components.DashboardItem.more_label":"Voir les autres options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"Vous ne pouvez pas encore vous inscrire à cette formation.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Chargement des sessions de cours...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Êtes-vous sûr de vouloir vous inscrire à une autre session ? Vous serez désinscrit de l'autre session !","components.DashboardItemEnrollment.enrollCourse":"S'inscrire","components.DashboardItemEnrollment.enrollRun":"S'inscrire","components.DashboardItemEnrollment.enrolled":"Inscrit","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Êtes-vous sûr de vouloir vous inscrire à cette session ?","components.DashboardItemEnrollment.gotoCourse":"Accéder au cours","components.DashboardItemEnrollment.notEnrolled":"Vous n'êtes pas inscrit à ce cours","components.DashboardItemEnrollment.statusNotActive":"Non inscrit","components.DashboardItemOrder.OrderPaymentRetryModal.description":"Le paiement a échoué, veuillez choisir un autre moyen de paiement ou en ajouter un nouveau pendant le paiement","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Votre paiement a réussi, mais la validation de votre commande prend trop de temps, vous pouvez fermer cette fenêtre et revenir plus tard.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Échec du paiement de l'échéance, veuillez réessayer plus tard.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Paiement en cours","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Payer {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"Le paiement a été effectué avec succès","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Paiement réussi","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Réessayer le paiement","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Moyen de paiement","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Échéancier","components.DashboardItemOrder.PaymentModal.title":"Détails du paiement","components.DashboardItemOrder.contactButton":"Contacter","components.DashboardItemOrder.contactDescription":"Votre référent de formation est {name} - {email}.","components.DashboardItemOrder.gotoCourse":"Voir le détail","components.DashboardItemOrder.loadingCertificate":"Chargement du certificat...","components.DashboardItemOrder.organizationDpoContactLabel":"Email du délégué à la protection des données","components.DashboardItemOrder.organizationHeader":"Cette formation est gérée par","components.DashboardItemOrder.organizationLogoAlt":"Logo de l'établissement","components.DashboardItemOrder.organizationMailContactLabel":"Courriel","components.DashboardItemOrder.organizationPhoneContactLabel":"Téléphone","components.DashboardItemOrder.paymentButton":"Gérer les paiements","components.DashboardItemOrder.paymentLabel":"Vous pouvez voir et gérer tous les prélèvements.","components.DashboardItemOrder.paymentNeededButton":"Payer {amount}","components.DashboardItemOrder.paymentNeededMessage":"Le paiement a échoué, veuillez mettre à jour votre moyen de paiement","components.DashboardItemOrder.paymentTitle":"Paiement","components.DashboardItemOrder.syllabusLinkLabel":"Accéder au syllabus","components.DashboardItemOrder.trainingContractTitle":"Contrat de formation","components.DashboardOpenEdxProfile.EditButtonLabel":"Modifiez votre profil","components.DashboardOpenEdxProfile.additionalInformationHeader":"Informations complémentaires du compte","components.DashboardOpenEdxProfile.baseInformationHeader":"Informations de base du compte","components.DashboardOpenEdxProfile.countryInputLabel":"Pays","components.DashboardOpenEdxProfile.emailInputDescription":"Courriel utilisé lors de l'inscription, les communications de FUN-MOOC et des cours seront envoyées à cette adresse","components.DashboardOpenEdxProfile.emailInputLabel":"Courriel","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Langue préférée","components.DashboardOpenEdxProfile.fullNameInputDescription":"Le nom qui apparaît sur vos certificats et contrats de formation. Les autres apprenants ne voient jamais votre nom complet","components.DashboardOpenEdxProfile.fullNameInputLabel":"Nom complet","components.DashboardOpenEdxProfile.genderInputLabel":"Sexe","components.DashboardOpenEdxProfile.header":"Profil","components.DashboardOpenEdxProfile.languageInputDescription":"La langue utilisée sur le site. Les langues du site sont limitées.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Plus haut niveau de formation obtenu","components.DashboardOpenEdxProfile.usernameInputDescription":"Votre pseudo sur FUN-MOOC. Vous ne pouvez pas changer ce pseudo.","components.DashboardOpenEdxProfile.usernameInputLabel":"Nom d'utilisateur public","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Année de naissance","components.DashboardOrderLoader.loading":"Chargement de la commande...","components.DashboardOrderLoader.signLink":"signer votre contrat","components.DashboardOrderLoader.signatureNeeded":"Vous devez {signLink} afin de pouvoir vous inscrire à une session","components.DashboardOrderLoader.wrongLinkedProductError":"Cette page n'est pas disponible pour cette commande.","components.DesktopUserMenu.menuPurpose":"Accéder aux préférences de votre profil","components.DownloadCertificateButton.download":"Télécharger","components.DownloadCertificateButton.generatingCertificate":"Le certificat est en cours de génération...","components.DownloadContractButton.contractDownloadActionLabel":"Télécharger","components.DownloadContractButton.contractDownloadError":"Une erreur est survenue lors du téléchargement du contrat de formation. Veuillez réessayer plus tard.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Sélectionner la session du {start} {end, select, undefined {} other {au {end}}}.","components.EnrollableCourseRunList.enroll":"S'inscrire","components.EnrollableCourseRunList.enrolling":"Inscription en cours...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.EnrollableCourseRunList.selectCourseRun":"Sélectionnez une session","components.EnrolledCourseRun.courseRunStartIn":"Le cours commence {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Accéder au cours","components.EnrolledCourseRun.isEnroll":"Vous êtes inscrit","components.EnrolledCourseRun.unenroll":"Se désinscrire","components.EnrolledCourseRun.unenrolling":"Désinscription en cours...","components.EnrollmentDate.enrollClosed":"Inscription fermée depuis le {date}","components.EnrollmentDate.enrollFrom":"Inscription à partir du {date}","components.EnrollmentDate.enrollSince":"Inscription ouverte depuis le {date}","components.EnrollmentDate.enrollUntil":"Inscription jusqu'au {date}","components.Form.utils.errors.mixedInvalid":"Ce champ est invalide.","components.Form.utils.errors.mixedOneOf":"Vous devez sélectionner une valeur.","components.Form.utils.errors.mixedRequired":"Ce champ est obligatoire.","components.Form.utils.errors.stringMax":"La longueur maximale est de {max} {max, plural, one {caractère} other {caractères}}.","components.Form.utils.errors.stringMin":"La longueur minimale est de {min} {min, plural, one {caractère} other {caractères}}.","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue:","components.LanguageSelector.switchToLanguage":"Voir en {language}","components.ListFilterOrganization.allOrganizationOption":"Tous les établissements","components.ListFilterOrganization.organizationFilterLabel":"Établissement","components.Modal.closeDialog":"Fermer la fenêtre de dialogue","components.NavigationSelect.responsiveNavLabel":"Accéder à","components.NavigationSelect.settingsLinkLabel":"Paramètres","components.OpenEdxFullNameForm.emailInputLabel":"Courriel","components.OpenEdxFullNameForm.error":"Une erreur s'est produite lors de la mise à jour de votre nom. Veuillez réessayer plus tard.","components.OpenEdxFullNameForm.fullNameInputDescription":"Merci de vérifier que votre nom est correct. Celui-ci sera utilisé dans les documents officiels (e.g : certificat)","components.OpenEdxFullNameForm.fullNameInputLabel":"Nom complet","components.OpenEdxFullNameForm.loadingLabel":"Chargement...","components.OpenEdxFullNameForm.submitButtonLabel":"Sauvegarder","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.PaymentButton.errorAbort":"Vous avez annulé le paiement.","components.PaymentButton.errorDefault":"Une erreur s'est produite lors du paiement. Veuillez réessayer plus tard.","components.PaymentButton.tokenizingPayment":"Définition du moyen de paiement en cours.","components.PaymentScheduleGrid.withdrawnAt":"Prélevé le {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"Un examen qui délivre un certificat peut être acheté pour ce cours.","components.ProductCertificateFooter.downloadProductCertificateLabel":"Un certificat est disponible en téléchargement.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Terminez ce cours pour obtenir votre certificat.","components.RootSearchSuggestField.searchFieldPlaceholder":"Recherche de cours","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Créer","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Ajouter une adresse","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Sauvegarder","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Modifier l'adresse","components.SaleTunnel.AddressSelector.create":"Créer","components.SaleTunnel.AddressSelector.edit":"Éditer","components.SaleTunnel.AddressSelector.label":"Adresse de facturation","components.SaleTunnel.Certificate.ProductPath.title":"Plan de formation","components.SaleTunnel.Credential.ProductPath.title":"Plan de formation","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Utiliser une autre carte de crédit","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Changer de carte de crédit","components.SaleTunnel.CreditCardSelector.endsWith":"Se termine par •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expire le {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expirée depuis {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choisissez la méthode de paiement par défaut que vous souhaitez utiliser pour cette commande et les paiements à venir.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choisir une carte de crédit","components.SaleTunnel.CreditCardSelector.modalValidate":"Valider","components.SaleTunnel.Information.description":"Ces informations seront utilisées pour la facturation","components.SaleTunnel.Information.email.info":"Ce courriel sera utilisé pour vous envoyer des courriels de confirmation, c'est celui avec lequel vous avez créé votre compte.","components.SaleTunnel.Information.email.label":"Courriel du compte","components.SaleTunnel.Information.fullNameLabel":"Nom complet","components.SaleTunnel.Information.title":"Informations","components.SaleTunnel.Information.total.info":"Vous payerez ensuite sur la plateforme sécurisée de notre prestataire de paiement.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"Université","components.SaleTunnel.SubscriptionButton.subscribe":"Souscrire","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"Pour vous inscrire à la formation, vous serez invité à définir un moyen de paiement.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"Pour vous inscrire à la formation, vous serez invité à signer la convention de formation.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"Pour vous inscrire à la formation, vous serez d'abord invité à signer la convention de formation, puis à définir un moyen de paiement.","components.SaleTunnel.callToActionDescription":"Acheter {product}","components.SaleTunnel.loginToPurchase":"Je me connecte pour m’inscrire {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"Cette session n'est pas active. Ce produit n'est pas actuellement disponible à la vente.","components.SaleTunnel.noCourseRunToPurchaseCredential":"Au moins un cours n'a aucune session ouverte, ce produit n'est pas disponible à la vente actuellement.","components.SaleTunnel.noRemainingOrder":"Il n'y a pas plus de places disponibles pour ce produit.","components.SaleTunnelSavePaymentMethod.cta":"Définir","components.SaleTunnelSavePaymentMethod.description":"Il s'agit de la dernière étape pour valider votre souscription, vous devez définir un moyen de paiement. Celui-ci sera utilisé pour prélever les échéances dues. Vous ne serez pas facturé pendant cette étape. Sélectionnez un moyen de paiement existant ou ajoutez-en un nouveau.","components.SaleTunnelSavePaymentMethod.title":"Définition du moyen de paiement","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}","components.SaleTunnelStepValidation.courseRunDates":"À partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Langue :} other {Langues :} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.SaleTunnelSuccess.congratulations":"Souscription confirmée !","components.SaleTunnelSuccess.cta":"Fermer","components.SaleTunnelSuccess.successDetailMessage":"Vous pourrez commencer votre formation dès que la première échéance sera prélevée.","components.SaleTunnelSuccess.successMessage":"Votre commande a été enregistrée avec succès.","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.resultsTitle":"Résultats de recherche","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.Search.textQueryLengthWarning":"La recherche de texte nécessite au moins 3 caractères. { query } n'est pas assez long pour la recherche. Les résultats de recherche ne seront pas affectés par cette requête.","components.SearchFilterGroupModal.closeModal":"Fermer la fenêtre modale","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.inputLabel":"Rechercher des filtres à ajouter","components.SearchFilterGroupModal.inputPlaceholder":"Rechercher parmi les { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Charger plus de résultats","components.SearchFilterGroupModal.loadingResults":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchInput.button":"Recherche","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des établissements, des catégories","components.SignContractButton.contractDownloadActionLabel":"Télécharger","components.SignContractButton.contractDownloadError":"Une erreur est survenue lors du téléchargement du contrat de formation. Veuillez réessayer plus tard.","components.SignContractButton.contractSignActionLabel":"Signer","components.StudentDashboardSidebar.header":"Bienvenue {name}","components.StudentDashboardSidebar.subHeader":"Vous êtes sur votre tableau de bord","components.SubscriptionButton.errorAddress":"Vous devez sélectionner une adresse de facturation.","components.SubscriptionButton.errorDefault":"Une erreur s'est produite lors de la création de la commande. Veuillez réessayer plus tard.","components.SubscriptionButton.errorFullProduct":"Il n'y a pas plus de places disponibles pour ce produit.","components.SubscriptionButton.orderCreationInProgress":"Création de la commande en cours","components.SyllabusAsideList.archived":"Archivées","components.SyllabusAsideList.courseRunsTitle":"Session de cours","components.SyllabusAsideList.noCourseRuns":"Aucune session","components.SyllabusAsideList.noOtherCourseRuns":"Aucune autre session","components.SyllabusAsideList.ongoing":"En cours","components.SyllabusAsideList.otherCourseRuns":"Autres sessions","components.SyllabusAsideList.toBeScheduled":"À programmer","components.SyllabusAsideList.upcoming":"À venir","components.SyllabusCourseRun.course":"Cours","components.SyllabusCourseRun.coursePeriod":"Du {startDate} {endDate, select, undefined {} other {au {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscription","components.SyllabusCourseRun.enrollmentPeriod":"Du {startDate} {endDate, select, undefined {} other {au {endDate}}}","components.SyllabusCourseRun.languages":"Langues","components.SyllabusCourseRunCompacted.course":"Cours","components.SyllabusCourseRunCompacted.languages":"Langues","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Disponible jusqu'au {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Disponible","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} sessions sont actuellement ouvertes pour ce cours","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choisir maintenant","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Aucune session ouverte","components.SyllabusSimpleCourseRunsList.viewMore":"Voir plus","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Apprenants","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Apprenants","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cours","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Tous mes cours et formations","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Tableau de bord Enseignant","components.TeacherDashboardCourseList.emptyList":"Vous n'avez pas encore de cours.","components.TeacherDashboardCourseList.loadMore":"Afficher plus","components.TeacherDashboardCourseList.loading":"Chargement des cours...","components.TeacherDashboardCourseLoader.errorNoCourse":"Ce cours n'existe pas","components.TeacherDashboardCourseLoader.loading":"Chargement du cours...","components.TeacherDashboardCourseLoader.pageTitle":"Espace de cours","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Chargement du cours...","components.TeacherDashboardCourseSidebar.subHeader":"Vous êtes sur le tableau de bord du cours","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Accéder au syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archivé","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Vos cours et formations","components.TeacherDashboardCoursesLoader.title.incoming":"À venir","components.TeacherDashboardCoursesLoader.title.ongoing":"En cours","components.TeacherDashboardOrganizationCourseLoader.loading":"Chargement de l'établissement...","components.TeacherDashboardOrganizationCourseLoader.title":"Cours de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Chargement de l'établissement...","components.TeacherDashboardOrganizationSidebar.subHeader":"Vous êtes sur le tableau de bord de l'établissement","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Lien vers l'établissement \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"Mes établissements","components.TeacherDashboardProfileSidebar.subHeader":"Vous êtes sur votre tableau de bord enseignant","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Ce produit n’existe pas","components.TeacherDashboardTrainingLoader.loading":"Chargement de la formation...","components.TeacherDashboardTrainingLoader.pageTitle":"Espace de formation","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","components.form.messages.formOptionalFieldsText":"Tous les champs sont obligatoires sauf s'ils sont marqués comme optionnel","components.form.messages.optionalFieldText":"(optionnel)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"Vous êtes inscrit à cette session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"Vous êtes inscrit à cette session. Elle débutera {relativeStartDate}, le {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"La session débutera {relativeStartDate}, le {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"Vous êtes inscrit à cette session. Elle est ouverte depuis le {startDate} {endDate, select, undefined {} other {jusqu'au {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"Cette session a débuté le {startDate} {endDate, select, undefined {} other {et se terminera le {endDate}}}","components.useStaticFilters.courses":"Cours","hooks.useAddresses.errorCreate":"Une erreur s'est produite lors de la création de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorDelete":"Une erreur s'est produite lors de la suppression de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorNotFound":"Adresse introuvable","hooks.useAddresses.errorSelect":"Une erreur s'est produite lors de la récupération de vos adresses. Veuillez réessayer plus tard.","hooks.useAddresses.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre adresse. Veuillez réessayer plus tard.","hooks.useAddressesManagement.actionUpdate":"mettre à jour","hooks.useAddressesManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer l'adresse \"{title}\" ? ⚠️ Ce changement sera irréversible.","hooks.useAddressesManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir l'adresse principale.","hooks.useAddressesManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer l'adresse principale.","hooks.useCertificates.errorGet":"Une erreur s'est produite lors de la récupération des certificats. Veuillez réessayer plus tard.","hooks.useCertificates.errorNotFound":"Certificat introuvable","hooks.useContracts.errorNotFound":"Contrat de formation introuvable","hooks.useContracts.errorSelect":"Une erreur s'est produite lors de la récupération des contrats de formation. Veuillez réessayer plus tard.","hooks.useCourseOrders.errorNotFound":"Impossible de trouver les commandes","hooks.useCourseOrders.errorSelect":"Une erreur s'est produite lors de la récupération des commandes. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorNotFound":"Formation introuvable.","hooks.useCourseProductUnion.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorGet":"Une erreur s'est produite lors de la récupération du produit. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorNotFound":"Produit introuvable.","hooks.useCourseRuns.errorGet":"Une erreur s'est produite lors de la récupération des sessions de cours. Veuillez réessayer plus tard.","hooks.useCourseRuns.errorNotFound":"Impossible de trouver les sessions de cours.","hooks.useCourses.errorNotFound":"Impossible de trouver le cours.","hooks.useCourses.errorSelect":"Une erreur s'est produite lors de la récupération du cours. Veuillez réessayer plus tard.","hooks.useCreditCards.errorDelete":"Une erreur s'est produite lors de la suppression de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorNotFound":"Carte de crédit introuvable","hooks.useCreditCards.errorSelect":"Une erreur s'est produite lors de la récupération des cartes de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorTokenize":"Une erreur s'est produite lors de l'ajout de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorUpdate":"Une erreur s'est produite lors de la modification de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCardsManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer cette carte de crédit ? ⚠️ Ce changement sera irréversible.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer la carte de crédit principale.","hooks.useDashboardAddressForm.isMainInputLabel":"Utiliser cette adresse par défaut","hooks.useEnrollments.errorCreate":"Une erreur s'est produite lors de votre inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorDelete":"Une erreur s'est produite lors de votre désinscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorNotFound":"Impossible de trouver l'inscription","hooks.useEnrollments.errorSelect":"Une erreur s'est produite lors de la récupération de vos inscriptions. Veuillez réessayer plus tard.","hooks.useEnrollments.errorUpdate":"Une erreur s'est produite lors de la modification de votre inscription. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorGet":"Une erreur s'est produite lors de la récupération des informations utilisateur. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorNotFound":"Vous n'êtes pas connecté.","hooks.useOpenEdxProfile.errorGet":"Une erreur s'est produite lors de la récupération de votre profil. Veuillez réessayer plus tard.","hooks.useOpenEdxProfile.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre nom. Veuillez réessayer plus tard.","hooks.useOrders.errorCancel":"Impossible d'annuler la commande.","hooks.useOrders.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes. Veuillez réessayer plus tard.","hooks.useOrders.errorNotFound":"Commandes introuvables.","hooks.useOrders.errorSetPaymentMethod":"Impossible de définir le moyen de paiement de cette commande.","hooks.useOrdersEnrollments.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes et inscriptions. Veuillez réessayer plus tard.","hooks.useOrganizations.errorNotFound":"Impossible de trouver l'établissement","hooks.useOrganizations.errorSelect":"Une erreur s'est produite lors de la récupération des établissements. Veuillez réessayer plus tard.","hooks.useResources.errorCreate":"Une erreur s'est produite lors de la création de la ressource. Veuillez réessayer plus tard.","hooks.useResources.errorDelete":"Une erreur s'est produite lors de la suppression de la ressource. Veuillez réessayer plus tard.","hooks.useResources.errorGet":"Une erreur s'est produite lors de la récupération des ressources. Veuillez réessayer plus tard.","hooks.useResources.errorNotFound":"Ressource introuvable.","hooks.useResources.errorUpdate":"Une erreur s'est produite lors de la modification de la ressource. Veuillez réessayer plus tard.","hooks.useUnionResource.errorGet":"Une erreur s'est produite lors de la récupération des données. Veuillez réessayer plus tard.","hooks.useWishlist.errorCreate":"Une erreur s'est produite lors de l'ajout de ce cours à votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorDelete":"Une erreur s'est produite lors de la suppression de ce cours de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorGet":"Une erreur s'est produite lors de la récupération de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorNotFound":"Liste de souhaits introuvable.","openEdxProfile.gender.female":"Féminin","openEdxProfile.gender.male":"Masculin","openEdxProfile.gender.other":"Autre","openEdxProfile.levelOfEducation.associateDegree":"Niveau associé","openEdxProfile.levelOfEducation.bachelorDegree":"Diplôme de premier cycle supérieur","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Enseignement primaire","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Collège / enseignement secondaire inférieur","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master ou diplôme professionnel","openEdxProfile.levelOfEducation.none":"--","openEdxProfile.levelOfEducation.other":"Autre","openEdxProfile.levelOfEducation.phdOrDoctorate":"Doctorat","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Lycée / enseignement secondaire","page.PageNotFound.pageNotFoundHomeLink":"Retour à la page d'accueil","page.PageNotFound.pageNotFoundSubTitle":"Le contenu demandé n'existe pas.","page.PageNotFound.pageNotFoundTitle":"Page introuvable","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Apprenant","pages.CourseLearnerDataGrid.columnPurchaseDate":"Inscrit le","pages.CourseLearnerDataGrid.columnState":"État","pages.CourseLearnerDataGrid.contactButton":"Contacter","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Télécharger l'archive des contrats","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Génération de l'archive des contrats en cours...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Demander une archive des contrats","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"État de la signature","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Établissement","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contrats de formation","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Apprenants","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {apprenant inscrit} other {apprenants inscrits}} à cette formation","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Apprenant","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Formation","pages.TeacherDashboardOrganizationContractsLayout.columnState":"État","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contrats de formation","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Signer tous les contrats de formation en attente ({ count })","utils.ContractHelper.learnerHalfSigned":"En attente de la signature de l'établissement","utils.ContractHelper.learnerSigned":"Signé","utils.ContractHelper.learnerUnsigned":"En attente de signature","utils.ContractHelper.organizationHalfSigned":"En attente de signature","utils.ContractHelper.organizationSigned":"Signé","utils.ContractHelper.organizationUnsigned":"En attente de la signature de l'apprenant","utils.joinAnd.and":"et"} \ No newline at end of file +{"16uca+":"Sous \"{value}\"","9vqPaF":"Racine","Dashboard.components.SearchBar.clearSearchButtonLabel":"Effacer la recherche en cours","Dashboard.components.SearchBar.searchButtonLabel":"Rechercher","Dashboard.components.SearchBar.searchPlaceholder":"Rechercher","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {résultat} other {résultats}} correspondant à votre recherche","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Ajouter une nouvelle adresse","components.AddressesManagement.addressInput":"Adresse","components.AddressesManagement.cancelButton":"Annuler","components.AddressesManagement.cancelTitleButton":"Annuler la modification","components.AddressesManagement.cityInput":"Ville","components.AddressesManagement.closeButton":"Retour","components.AddressesManagement.countryInput":"Pays","components.AddressesManagement.deleteButton":"Supprimer","components.AddressesManagement.deleteButtonLabel":"Supprimer l'adresse \"{title}\"","components.AddressesManagement.editAddress":"Mettre à jour l'adresse {title}","components.AddressesManagement.editButton":"Modifier","components.AddressesManagement.editButtonLabel":"Modifier l'adresse \"{title}\"","components.AddressesManagement.first_nameInput":"Prénom du destinataire","components.AddressesManagement.last_nameInput":"Nom du destinataire","components.AddressesManagement.optionalFieldText":"(optionnel)","components.AddressesManagement.postcodeInput":"Code postal","components.AddressesManagement.promoteButtonLabel":"Utiliser l'adresse \"{title}\" comme adresse principale","components.AddressesManagement.registeredAddresses":"Vos adresses","components.AddressesManagement.requiredFields":"Les champs marqués avec {symbol} sont obligatoires","components.AddressesManagement.saveInput":"Sauvegarder cette adresse","components.AddressesManagement.selectButton":"Utiliser cette adresse","components.AddressesManagement.selectButtonLabel":"Sélectionner l'adresse \"{title}\"","components.AddressesManagement.titleInput":"Titre de l'adresse","components.AddressesManagement.updateButton":"Mettre à jour cette adresse","components.ContractStatus.learnerSignedOn":"Vous avez signé ce contrat de formation. Signé le {date}","components.ContractStatus.organizationSignedOn":"L'établissement a signé ce contrat de formation. Signé le {date}","components.ContractStatus.waitingOrganization":"Vous ne pouvez pas télécharger votre contrat de formation tant qu'il n'a pas été signé par l'établissement.","components.ContractStatus.waitingSignature":"Vous devez signer ce contrat de formation pour finaliser votre souscription.","components.CountrySelectField.label":"Pays","components.CourseAddToWishlist.labelAdd":"M'avertir","components.CourseAddToWishlist.labelRemove":"Ne plus m'avertir","components.CourseAddToWishlist.loading":"Chargement de votre liste de souhaits...","components.CourseAddToWishlist.logMe":"Connectez-vous pour être averti","components.CourseGlimpse.categoryLabel":"Catégorie","components.CourseGlimpse.codeIconAlt":"Code du cours","components.CourseGlimpse.cover":"Couverture","components.CourseGlimpse.organizationIconAlt":"Établissement","components.CourseGlimpseFooter.dateIconAlt":"Date du cours","components.CourseGlimpseList.courseCount":"Résultats {start, number} à {end, number} sur {courseCount, number} {courseCount, plural, one {cours} other {cours}} correspondant à votre recherche","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {cours correspond} other {cours correspondent}} à votre recherche","components.CourseProductCertificateItem.certificateExplanation":"Vous pourrez télécharger votre certificat une fois que vous aurez réussi toutes les sessions.","components.CourseProductCertificateItem.congratulations":"Félicitations, vous avez terminé ce cours !","components.CourseProductCertificateItem.download":"Télécharger","components.CourseProductCertificateItem.generatingCertificate":"Certificat en cours de génération...","components.CourseProductItem.availableIn":"Disponible en {languages}","components.CourseProductItem.fromTo":"À partir du {from} {to, select, undefined {} other {jusqu'au {to}}}","components.CourseProductItem.loadingInitial":"Chargement des informations produit...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {Aucune place restante} one {Dernière place restante!} other {# places restantes} }","components.CourseProductItem.noSeatsAvailable":"Désolé, aucune place disponible pour le moment","components.CourseProductItem.purchased":"Acheté","components.CourseProductsList.end":"Fin","components.CourseProductsList.start":"Début","components.CourseRunEnrollment.courseRunStartIn":"Le cours commence {relativeStartDate}","components.CourseRunEnrollment.enroll":"Je m'inscris","components.CourseRunEnrollment.enrolled":"Vous êtes inscrit à cette session","components.CourseRunEnrollment.enrollmentClosed":"L'inscription à ce cours est fermée pour le moment","components.CourseRunEnrollment.enrollmentFailed":"Votre demande d'inscription a échoué.","components.CourseRunEnrollment.getEnrollmentFailed":"Échec de la récupération de l'inscription","components.CourseRunEnrollment.goToCourse":"Accéder au cours","components.CourseRunEnrollment.loadingInitial":"Chargement des critères d'inscription...","components.CourseRunEnrollment.loginToEnroll":"Je me connecte pour m’inscrire","components.CourseRunEnrollment.unenroll":"Se désinscrire de ce cours","components.CourseRunEnrollment.unenrollmentFailed":"Votre demande de désinscription a échoué.","components.CourseRunItem.courseRunTitleWithDates":"{title}, à partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.CourseRunItem.courseRunWithDates":"À partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrit","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Vous êtes inscrit à cette session","components.CourseRunItemWithEnrollment.goToCourse":"Accéder au cours","components.CourseRunList.dataCourseRunLink":"Accéder à l'espace cours","components.CourseRunList.dataCourseRunPeriod":"À partir du {from} {to, select, undefined {} other {jusqu'au {to}}}","components.CourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.CourseRunUnenrollmentButton.unenroll":"Se désinscrire de ce cours","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"Mes attestations de réussite","components.Dashboard.DashboardRoutes.certificates.label":"Mes certificats","components.Dashboard.DashboardRoutes.certificates.order.label":"Mes certificats","components.Dashboard.DashboardRoutes.contracts.label":"Mes contrats de formation","components.Dashboard.DashboardRoutes.course.session.label":"Cours","components.Dashboard.DashboardRoutes.courses.label":"Mes cours et formations","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informations générales","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Créer une adresse","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Éditer l'adresse \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Éditer la carte de crédit \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"Mes préférences","components.Dashboard.Signature.SignatureDummy.button":"Signer","components.Dashboard.Signature.SignatureDummy.signing":"Signature du contrat de formation ...","components.Dashboard.Signature.SignatureLexPersona.error":"Une erreur s'est produite lors de la signature du contrat de formation. Veuillez réessayer plus tard.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"Une erreur s'est produite lors de la signature du contrat de formation avec le statut suivant : {status}. Veuillez actualiser afin de réessayer.","components.DashboardAddressBox.delete":"Supprimer","components.DashboardAddressBox.edit":"Éditer","components.DashboardAddressBox.isMain":"Adresse par défaut","components.DashboardAddressBox.setMain":"Utiliser par défaut","components.DashboardAddressesManagement.add":"Ajouter une nouvelle adresse","components.DashboardAddressesManagement.emptyList":"Vous n'avez pas encore créé d'adresse.","components.DashboardAddressesManagement.error":"Une erreur est survenue. Veuillez réessayer plus tard.","components.DashboardAddressesManagement.header":"Adresses de facturation","components.DashboardBreadcrumbs.back":"Retour","components.DashboardCertificate.issuedOn":"Émis le {date}","components.DashboardCertificate.noCertificateCertificate":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificate.noCertificateCredential":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificate.noCertificateUnknown":"Lorsque vous aurez réussi tous les examens, vous pourrez télécharger votre certificat ici.","components.DashboardCertificates.empty":"Vous n'avez pas encore de certificats.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations de réussite","components.DashboardCertificates.loading":"Chargement des certificats...","components.DashboardCertificates.orderCertificateTabLabel":"Certificats","components.DashboardContracts.empty":"Vous n'avez pas encore de contrats de formation.","components.DashboardContracts.loading":"Chargement des contrats de formation...","components.DashboardCourses.emptyList":"Vous n'avez pas encore d'inscriptions ni de commandes.","components.DashboardCourses.loadMoreResults":"Afficher plus","components.DashboardCourses.loading":"Chargement des commandes et des inscriptions...","components.DashboardCreateAddressForm.header":"Créer une adresse","components.DashboardCreateAddressForm.submit":"Créer","components.DashboardCreditCardBox.delete":"Supprimer","components.DashboardCreditCardBox.edit":"Éditer","components.DashboardCreditCardBox.endsWith":"Se termine par •••• {code}","components.DashboardCreditCardBox.expiration":"Expire en {month}/{year}","components.DashboardCreditCardBox.expired":"Expirée depuis {month}/{year}","components.DashboardCreditCardBox.isMain":"Carte de crédit par défaut","components.DashboardCreditCardBox.setMain":"Utiliser par défaut","components.DashboardCreditCardsManagement.emptyList":"Vous n'avez pas encore créé de carte de crédit.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir la carte de crédit par défaut.","components.DashboardCreditCardsManagement.header":"Cartes de crédit","components.DashboardEditAddressForm.header":"Éditer l'adresse \"{title}\"","components.DashboardEditAddressForm.remove":"Supprimer","components.DashboardEditAddressForm.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.delete":"Supprimer","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Éditer la carte de crédit","components.DashboardEditCreditCard.isMainInputLabel":"Utiliser cette carte de crédit par défaut","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numéros","components.DashboardEditCreditCard.submit":"Enregistrer les mises à jour","components.DashboardEditCreditCard.titleInputLabel":"Nom de la carte de crédit","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"La signature prend plus de temps que prévu ... veuillez revenir plus tard.","components.DashboardItem.Order.ContractFrame.errorPolling":"Une erreur s'est produite lors de la vérification de la signature. Veuillez revenir plus tard.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"Une erreur s'est produite lors de l'initialisation du processus de signature. Veuillez réessayer plus tard.","components.DashboardItem.Order.ContractFrame.finishedButton":"Suivant","components.DashboardItem.Order.ContractFrame.finishedCaption":"Félicitations !","components.DashboardItem.Order.ContractFrame.finishedDescription":"Vous recevrez un courriel une fois que votre contrat de formation sera signé par toutes les parties. Vous pouvez dès à présent finaliser votre souscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Chargement de votre contrat de formation...","components.DashboardItem.Order.ContractFrame.polling":"Vérification de la signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"Nous sommes en attente de validation de la signature par la plateforme de signature sécurisée. Cela peut prendre quelques minutes. Ne fermez pas cette page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"En attente","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Annulée","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"En attente","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Le dernier prélèvement a échoué","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"Le premier prélèvement a échoué","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Terminée avec succès","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"En attente du premier prélèvement","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"En cours","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Moyen de paiement manquant","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature requise","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"En attente","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Annulée","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"En cours","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"En attente","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Le dernier prélèvement a échoué","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"Le premier prélèvement a échoué","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certifiée","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"En attente du premier prélèvement","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"En cours","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"À signer","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Moyen de paiement manquant","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"En attente de la signature de l'apprenant","components.DashboardItem.more_label":"Voir les autres options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"Vous ne pouvez pas encore vous inscrire à cette formation.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Chargement des sessions de cours...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Êtes-vous sûr de vouloir vous inscrire à une autre session ? Vous serez désinscrit de l'autre session !","components.DashboardItemEnrollment.enrollCourse":"S'inscrire","components.DashboardItemEnrollment.enrollRun":"S'inscrire","components.DashboardItemEnrollment.enrolled":"Inscrit","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Êtes-vous sûr de vouloir vous inscrire à cette session ?","components.DashboardItemEnrollment.gotoCourse":"Accéder au cours","components.DashboardItemEnrollment.notEnrolled":"Vous n'êtes pas inscrit à ce cours","components.DashboardItemEnrollment.statusNotActive":"Non inscrit","components.DashboardItemEnrollment.syllabusLinkLabel":"Accéder au syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Chargement du certificat...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Contrat de formation","components.DashboardItemOrder.Installment.defineButton":"Définir","components.DashboardItemOrder.Installment.paymentButton":"Gérer les paiements","components.DashboardItemOrder.Installment.paymentInactiveDescription":"Vous pourrez gérer vos échéances ici une fois que votre souscription sera finalisée.","components.DashboardItemOrder.Installment.paymentLabel":"Vous pouvez voir et gérer toutes les échéances.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"Pour finaliser votre souscription, vous devez définir un moyen de paiement.","components.DashboardItemOrder.Installment.paymentNeededButton":"Payer {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"Un paiement a échoué, veuillez mettre à jour votre moyen de paiement","components.DashboardItemOrder.Installment.paymentTitle":"Paiement","components.DashboardItemOrder.OrderPaymentRetryModal.description":"Le paiement a échoué, veuillez choisir un autre moyen de paiement existant ou en ajouter un nouveau pendant le paiement","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Votre paiement a réussi, mais la validation de votre commande prend trop de temps, vous pouvez fermer cette fenêtre et revenir plus tard.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Échec du paiement de l'échéance, veuillez réessayer plus tard.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Paiement en cours","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Payer {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"Le paiement a été effectué avec succès","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Paiement accepté","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Nouvelle tentative de paiement","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contacter","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Votre référent de formation est {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Courriel du délégué à la protection des données","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"Cette formation est gérée par","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo de l'établissement","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Courriel","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Téléphone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Adresse","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Moyen de paiement","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Échéancier","components.DashboardItemOrder.PaymentModal.title":"Informations sur le paiement","components.DashboardItemOrder.gotoCourse":"Voir le détail","components.DashboardItemOrder.missingPaymentMethodCTA":"Définir","components.DashboardItemOrder.missingPaymentMethodDescription":"Vous devez définir un moyen de paiement pour finaliser votre abonnement.","components.DashboardItemOrder.missingPaymentMethodTitle":"Un moyen de paiement est manquant","components.DashboardItemOrder.notResumable":"La souscription ne peut pas être finalisée. Cette formation n'est plus disponible à l'achat.","components.DashboardItemOrder.paymentNeededButton":"Payer {amount}","components.DashboardItemOrder.paymentNeededMessage":"Le paiement a échoué, veuillez mettre à jour votre moyen de paiement","components.DashboardItemOrder.syllabusLinkLabel":"Accéder au syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Modifiez votre profil","components.DashboardOpenEdxProfile.additionalInformationHeader":"Informations complémentaires du compte","components.DashboardOpenEdxProfile.baseInformationHeader":"Informations de base du compte","components.DashboardOpenEdxProfile.countryInputLabel":"Pays","components.DashboardOpenEdxProfile.emailInputDescription":"Courriel utilisé lors de l'inscription, les communications de FUN-MOOC et des cours seront envoyées à cette adresse","components.DashboardOpenEdxProfile.emailInputLabel":"Courriel","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Langue préférée","components.DashboardOpenEdxProfile.fullNameInputDescription":"Le nom qui apparaît sur vos certificats et contrats de formation. Les autres apprenants ne voient jamais votre nom complet","components.DashboardOpenEdxProfile.fullNameInputLabel":"Nom complet","components.DashboardOpenEdxProfile.genderInputLabel":"Sexe","components.DashboardOpenEdxProfile.header":"Profil","components.DashboardOpenEdxProfile.languageInputDescription":"La langue utilisée sur le site. Les langues du site sont limitées.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Plus haut niveau de formation obtenu","components.DashboardOpenEdxProfile.usernameInputDescription":"Votre pseudo sur FUN-MOOC. Vous ne pouvez pas changer ce pseudo.","components.DashboardOpenEdxProfile.usernameInputLabel":"Nom d'utilisateur public","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Année de naissance","components.DashboardOrderLoader.definePaymentMethodLink":"définir un moyen de paiement","components.DashboardOrderLoader.loading":"Chargement de la commande...","components.DashboardOrderLoader.paymentMethodMissing":"Vous devez {definePaymentMethodLink} pour finaliser votre souscription.","components.DashboardOrderLoader.signLink":"signer votre contrat de formation","components.DashboardOrderLoader.signatureNeeded":"Vous devez {signLink} pour finaliser votre souscription.","components.DashboardOrderLoader.wrongLinkedProductError":"Cette page n'est pas disponible pour cette commande.","components.DesktopUserMenu.menuPurpose":"Accéder aux préférences de votre profil","components.DownloadCertificateButton.download":"Télécharger","components.DownloadCertificateButton.generatingCertificate":"Le certificat est en cours de génération...","components.DownloadContractButton.contractDownloadActionLabel":"Télécharger","components.DownloadContractButton.contractDownloadError":"Une erreur est survenue lors du téléchargement du contrat de formation. Veuillez réessayer plus tard.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Sélectionner la session du {start} {end, select, undefined {} other {au {end}}}.","components.EnrollableCourseRunList.enroll":"S'inscrire","components.EnrollableCourseRunList.enrolling":"Inscription en cours...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Les inscriptions ouvriront le {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.EnrollableCourseRunList.selectCourseRun":"Sélectionnez une session","components.EnrolledCourseRun.courseRunStartIn":"Le cours commence {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Accéder au cours","components.EnrolledCourseRun.isEnroll":"Vous êtes inscrit","components.EnrolledCourseRun.unenroll":"Se désinscrire","components.EnrolledCourseRun.unenrolling":"Désinscription en cours...","components.EnrollmentDate.enrollClosed":"Inscription fermée depuis le {date}","components.EnrollmentDate.enrollFrom":"Inscription à partir du {date}","components.EnrollmentDate.enrollSince":"Inscription ouverte depuis le {date}","components.EnrollmentDate.enrollUntil":"Inscription jusqu'au {date}","components.Form.utils.errors.mixedInvalid":"Ce champ est invalide.","components.Form.utils.errors.mixedOneOf":"Vous devez sélectionner une valeur.","components.Form.utils.errors.mixedRequired":"Ce champ est obligatoire.","components.Form.utils.errors.stringMax":"La longueur maximale est de {max} {max, plural, one {caractère} other {caractères}}.","components.Form.utils.errors.stringMin":"La longueur minimale est de {min} {min, plural, one {caractère} other {caractères}}.","components.LanguageSelector.currentlySelected":"(actuellement sélectionné)","components.LanguageSelector.languages":"Langues","components.LanguageSelector.selectLanguage":"Sélectionnez une langue:","components.LanguageSelector.switchToLanguage":"Voir en {language}","components.ListFilterOrganization.allOrganizationOption":"Tous les établissements","components.ListFilterOrganization.organizationFilterLabel":"Établissement","components.Modal.closeDialog":"Fermer la fenêtre de dialogue","components.NavigationSelect.responsiveNavLabel":"Accéder à","components.NavigationSelect.settingsLinkLabel":"Paramètres","components.OpenEdxFullNameForm.emailInputLabel":"Courriel","components.OpenEdxFullNameForm.error":"Une erreur s'est produite lors de la mise à jour de votre nom. Veuillez réessayer plus tard.","components.OpenEdxFullNameForm.fullNameInputDescription":"Merci de vérifier que votre nom est correct. Celui-ci sera utilisé dans les documents officiels (e.g : certificat)","components.OpenEdxFullNameForm.fullNameInputLabel":"Nom complet","components.OpenEdxFullNameForm.loadingLabel":"Chargement...","components.OpenEdxFullNameForm.submitButtonLabel":"Sauvegarder","components.PaginateCourseSearch.currentlyReadingLastPageN":"Actuellement sur la dernière page: {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Actuellement sur la page {page}","components.PaginateCourseSearch.lastPageN":"Dernière page: {page}","components.PaginateCourseSearch.nextPageN":"Page suivante: {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Page précédente: {page}","components.PaymentButton.errorAbort":"Vous avez annulé le paiement.","components.PaymentButton.errorDefault":"Une erreur s'est produite lors du paiement. Veuillez réessayer plus tard.","components.PaymentButton.tokenizingPayment":"Définition du moyen de paiement en cours.","components.PaymentScheduleGrid.state.paid":"Payée","components.PaymentScheduleGrid.state.pending":"En attente","components.PaymentScheduleGrid.state.refused":"Refusée","components.PaymentScheduleGrid.withdrawnAt":"Prélevée le {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"Un examen qui délivre un certificat peut être acheté pour ce cours.","components.ProductCertificateFooter.downloadProductCertificateLabel":"Un certificat est disponible en téléchargement.","components.ProductCertificateFooter.examAccessBlocked":"Vous serez en mesure de passer l'examen dès que l'échéance aura été prélevée.","components.ProductCertificateFooter.failedInstallmentMessage":"Le dernier prélèvement a échoué. Merci de régulariser votre situation dès que possible.","components.ProductCertificateFooter.nextInstallmentMessage":"La prochaine échéance ({amount}) sera prélevée le {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Payer {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Terminez ce cours pour obtenir votre certificat.","components.RootSearchSuggestField.searchFieldPlaceholder":"Recherche de cours","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Créer","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Ajouter une adresse","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Sauvegarder","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Modifier l'adresse","components.SaleTunnel.AddressSelector.create":"Créer","components.SaleTunnel.AddressSelector.edit":"Éditer","components.SaleTunnel.AddressSelector.label":"Adresse de facturation","components.SaleTunnel.Certificate.ProductPath.title":"Plan de formation","components.SaleTunnel.Credential.ProductPath.title":"Plan de formation","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Utiliser une autre carte de crédit","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Changer de carte de crédit","components.SaleTunnel.CreditCardSelector.endsWith":"Se termine par •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expire le {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expirée depuis {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choisissez la méthode de paiement par défaut que vous souhaitez utiliser pour cette commande et les paiements à venir.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choisir une carte de crédit","components.SaleTunnel.CreditCardSelector.modalValidate":"Valider","components.SaleTunnel.Information.description":"Ces informations seront utilisées pour la facturation","components.SaleTunnel.Information.email.info":"Ce courriel sera utilisé pour vous envoyer des courriels de confirmation, c'est celui avec lequel vous avez créé votre compte.","components.SaleTunnel.Information.email.label":"Courriel du compte","components.SaleTunnel.Information.fullNameLabel":"Nom complet","components.SaleTunnel.Information.paymentSchedule":"Échéancier","components.SaleTunnel.Information.title":"Informations","components.SaleTunnel.Information.total.info":"Vous payerez ensuite sur la plateforme sécurisée de notre prestataire de paiement.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"Université","components.SaleTunnel.SubscriptionButton.subscribe":"Souscrire","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"Pour vous inscrire, vous serez invité à définir un moyen de paiement.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"Pour vous inscrire, vous serez invité à signer le contrat de formation.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"Pour vous inscrire, vous serez d'abord invité à signer le contrat de formation, puis à définir un moyen de paiement.","components.SaleTunnel.callToActionDescription":"Acheter {product}","components.SaleTunnel.loginToPurchase":"Je me connecte pour m’inscrire {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"Cette session n'est pas active. Ce produit n'est pas actuellement disponible à la vente.","components.SaleTunnel.noCourseRunToPurchaseCredential":"Au moins un cours n'a aucune session ouverte, ce produit n'est pas disponible à la vente actuellement.","components.SaleTunnel.noRemainingOrder":"Il n'y a pas plus de places disponibles pour ce produit.","components.SaleTunnelSavePaymentMethod.cta":"Définir","components.SaleTunnelSavePaymentMethod.description":"Il s'agit de la dernière étape pour valider votre souscription, vous devez définir un moyen de paiement. Celui-ci sera utilisé pour prélever les échéances dues. Aucun prélèvement ne sera effectué durant cette étape. Sélectionnez un moyen de paiement existant ou ajoutez-en un nouveau.","components.SaleTunnelSavePaymentMethod.title":"Définir un moyen de paiement","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}","components.SaleTunnelStepValidation.courseRunDates":"À partir du {start} {end, select, undefined {} other {jusqu'au {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Langue :} other {Langues :} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Aucune session disponible pour ce cours.","components.SaleTunnelSuccess.congratulations":"Souscription confirmée !","components.SaleTunnelSuccess.cta":"Fermer","components.SaleTunnelSuccess.successDetailMessage":"Vous pourrez débuter votre formation dès que la première échéance aura été prélevée.","components.SaleTunnelSuccess.successMessage":"Votre commande a été enregistrée avec succès.","components.Search.errorMessage":"Quelque chose s'est mal passé ! Les cours n'ont pas pu être chargés.","components.Search.hideFiltersPane":"Cacher le menu des filtres","components.Search.resultsTitle":"Résultats de recherche","components.Search.showFiltersPane":"Montrer le menu des filtres","components.Search.spinnerText":"Chargement des résultats de recherche...","components.Search.textQueryLengthWarning":"La recherche de texte nécessite au moins 3 caractères. { query } n'est pas assez long pour la recherche. Les résultats de recherche ne seront pas affectés par cette requête.","components.SearchFilterGroupModal.closeModal":"Fermer la fenêtre modale","components.SearchFilterGroupModal.error":"La recherche de filtres pour {filterName} a rencontré une erreur.","components.SearchFilterGroupModal.inputLabel":"Rechercher des filtres à ajouter","components.SearchFilterGroupModal.inputPlaceholder":"Rechercher parmi les { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Charger plus de résultats","components.SearchFilterGroupModal.loadingResults":"Chargement des résultats de recherche...","components.SearchFilterGroupModal.modalTitle":"Ajouter des filtres pour {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Plus de choix","components.SearchFilterGroupModal.queryTooShort":"Tapez 3 caractères ou plus pour commencer à chercher.","components.SearchFilterValueParent.ariaHideChildren":"Cacher les filtres supplémentaires pour {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Montrer plus de filtres pour {filterValueName}","components.SearchFiltersPane.clearFilters":"Retirer {activeFilterCount, number} {activeFilterCount, plural, one {filtre actif} other {filtres actifs}}","components.SearchFiltersPane.title":"Filtrer les cours","components.SearchInput.button":"Recherche","components.SearchSuggestField.searchFieldPlaceholder":"Recherche des cours, des établissements, des catégories","components.SignContractButton.contractDownloadActionLabel":"Télécharger","components.SignContractButton.contractDownloadError":"Une erreur est survenue lors du téléchargement du contrat de formation. Veuillez réessayer plus tard.","components.SignContractButton.contractSignActionLabel":"Signer","components.StudentDashboardSidebar.header":"Bienvenue {name}","components.StudentDashboardSidebar.subHeader":"Vous êtes sur votre tableau de bord","components.SubscriptionButton.errorAddress":"Vous devez spécifier une adresse de facturation.","components.SubscriptionButton.errorDefault":"Une erreur s'est produite lors de la création de la commande. Veuillez réessayer plus tard.","components.SubscriptionButton.errorFullProduct":"Il n'y a pas plus de places disponibles.","components.SubscriptionButton.orderCreationInProgress":"Création de la commande en cours","components.SyllabusAsideList.archived":"Archivées","components.SyllabusAsideList.courseRunsTitle":"Session de cours","components.SyllabusAsideList.noCourseRuns":"Aucune session","components.SyllabusAsideList.noOtherCourseRuns":"Aucune autre session","components.SyllabusAsideList.ongoing":"En cours","components.SyllabusAsideList.otherCourseRuns":"Autres sessions","components.SyllabusAsideList.toBeScheduled":"À programmer","components.SyllabusAsideList.upcoming":"À venir","components.SyllabusCourseRun.course":"Cours","components.SyllabusCourseRun.coursePeriod":"Du {startDate} {endDate, select, undefined {} other {au {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscription","components.SyllabusCourseRun.enrollmentPeriod":"Du {startDate} {endDate, select, undefined {} other {au {endDate}}}","components.SyllabusCourseRun.languages":"Langues","components.SyllabusCourseRunCompacted.course":"Cours","components.SyllabusCourseRunCompacted.languages":"Langues","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Disponible jusqu'au {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Disponible","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} sessions sont actuellement ouvertes pour ce cours","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choisir maintenant","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Aucune session ouverte","components.SyllabusSimpleCourseRunsList.viewMore":"Voir plus","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Apprenants","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contrats de formation","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"Informations générales","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Apprenants","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cours","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Tous mes cours et formations","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Tableau de bord Enseignant","components.TeacherDashboardCourseList.emptyList":"Vous n'avez pas encore de cours.","components.TeacherDashboardCourseList.loadMore":"Afficher plus","components.TeacherDashboardCourseList.loading":"Chargement des cours...","components.TeacherDashboardCourseLoader.errorNoCourse":"Ce cours n'existe pas","components.TeacherDashboardCourseLoader.loading":"Chargement du cours...","components.TeacherDashboardCourseLoader.pageTitle":"Espace de cours","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Chargement du cours...","components.TeacherDashboardCourseSidebar.subHeader":"Vous êtes sur le tableau de bord du cours","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Accéder au syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archivé","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Vos cours et formations","components.TeacherDashboardCoursesLoader.title.incoming":"À venir","components.TeacherDashboardCoursesLoader.title.ongoing":"En cours","components.TeacherDashboardOrganizationCourseLoader.loading":"Chargement de l'établissement...","components.TeacherDashboardOrganizationCourseLoader.title":"Cours de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Chargement de l'établissement...","components.TeacherDashboardOrganizationSidebar.subHeader":"Vous êtes sur le tableau de bord de l'établissement","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Lien vers l'établissement \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"Mes établissements","components.TeacherDashboardProfileSidebar.subHeader":"Vous êtes sur votre tableau de bord enseignant","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Ce produit n’existe pas","components.TeacherDashboardTrainingLoader.loading":"Chargement de la formation...","components.TeacherDashboardTrainingLoader.pageTitle":"Espace de formation","components.UserLogin.logIn":"Connexion","components.UserLogin.logOut":"Déconnexion","components.UserLogin.signup":"Inscription","components.UserLogin.spinnerText":"Vérification de l'état de connexion...","components.form.messages.formOptionalFieldsText":"Tous les champs sont obligatoires sauf s'ils sont marqués comme optionnel","components.form.messages.optionalFieldText":"(optionnel)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"Vous êtes inscrit à cette session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"Vous êtes inscrit à cette session. Elle débutera {relativeStartDate}, le {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"La session débutera {relativeStartDate}, le {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"Vous êtes inscrit à cette session. Elle est ouverte depuis le {startDate} {endDate, select, undefined {} other {jusqu'au {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"Cette session a débuté le {startDate} {endDate, select, undefined {} other {et se terminera le {endDate}}}","components.useStaticFilters.courses":"Cours","hooks.useAddresses.errorCreate":"Une erreur s'est produite lors de la création de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorDelete":"Une erreur s'est produite lors de la suppression de votre adresse. Veuillez réessayer plus tard.","hooks.useAddresses.errorNotFound":"Adresse introuvable","hooks.useAddresses.errorSelect":"Une erreur s'est produite lors de la récupération de vos adresses. Veuillez réessayer plus tard.","hooks.useAddresses.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre adresse. Veuillez réessayer plus tard.","hooks.useAddressesManagement.actionUpdate":"mettre à jour","hooks.useAddressesManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer l'adresse \"{title}\" ? ⚠️ Ce changement sera irréversible.","hooks.useAddressesManagement.errorCannotPromoteMain":"Vous ne pouvez pas promouvoir l'adresse principale.","hooks.useAddressesManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer l'adresse principale.","hooks.useCertificates.errorGet":"Une erreur s'est produite lors de la récupération des certificats. Veuillez réessayer plus tard.","hooks.useCertificates.errorNotFound":"Certificat introuvable","hooks.useContracts.errorNotFound":"Contrat de formation introuvable","hooks.useContracts.errorSelect":"Une erreur s'est produite lors de la récupération des contrats de formation. Veuillez réessayer plus tard.","hooks.useCourseOrders.errorNotFound":"Impossible de trouver les commandes","hooks.useCourseOrders.errorSelect":"Une erreur s'est produite lors de la récupération des commandes. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProductRelations.errorNotFound":"Formation introuvable.","hooks.useCourseProductUnion.errorGet":"Une erreur s'est produite lors de la récupération des formations. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorGet":"Une erreur s'est produite lors de la récupération du produit. Veuillez réessayer plus tard.","hooks.useCourseProducts.errorNotFound":"Produit introuvable.","hooks.useCourseRuns.errorGet":"Une erreur s'est produite lors de la récupération des sessions de cours. Veuillez réessayer plus tard.","hooks.useCourseRuns.errorNotFound":"Impossible de trouver les sessions de cours.","hooks.useCourses.errorNotFound":"Impossible de trouver le cours.","hooks.useCourses.errorSelect":"Une erreur s'est produite lors de la récupération du cours. Veuillez réessayer plus tard.","hooks.useCreditCards.errorDelete":"Une erreur s'est produite lors de la suppression de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorNotFound":"Carte de crédit introuvable","hooks.useCreditCards.errorSelect":"Une erreur s'est produite lors de la récupération des cartes de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorTokenize":"Une erreur s'est produite lors de l'ajout de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCards.errorUpdate":"Une erreur s'est produite lors de la modification de votre carte de crédit. Veuillez réessayer plus tard.","hooks.useCreditCardsManagement.deletionConfirmation":"Êtes-vous sûr de vouloir supprimer cette carte de crédit ? ⚠️ Ce changement sera irréversible.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Vous ne pouvez pas supprimer la carte de crédit principale.","hooks.useDashboardAddressForm.isMainInputLabel":"Utiliser cette adresse par défaut","hooks.useEnrollments.errorCreate":"Une erreur s'est produite lors de votre inscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorDelete":"Une erreur s'est produite lors de votre désinscription. Veuillez réessayer plus tard.","hooks.useEnrollments.errorNotFound":"Impossible de trouver l'inscription","hooks.useEnrollments.errorSelect":"Une erreur s'est produite lors de la récupération de vos inscriptions. Veuillez réessayer plus tard.","hooks.useEnrollments.errorUpdate":"Une erreur s'est produite lors de la modification de votre inscription. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorGet":"Une erreur s'est produite lors de la récupération des informations utilisateur. Veuillez réessayer plus tard.","hooks.useJoanieUserProfile.errorNotFound":"Vous n'êtes pas connecté.","hooks.useOpenEdxProfile.errorGet":"Une erreur s'est produite lors de la récupération de votre profil. Veuillez réessayer plus tard.","hooks.useOpenEdxProfile.errorUpdate":"Une erreur s'est produite lors de la mise à jour de votre nom. Veuillez réessayer plus tard.","hooks.useOrders.errorCancel":"Impossible d'annuler la commande.","hooks.useOrders.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes. Veuillez réessayer plus tard.","hooks.useOrders.errorNotFound":"Commandes introuvables.","hooks.useOrders.errorSetPaymentMethod":"Impossible de définir un moyen de paiement de cette commande.","hooks.useOrdersEnrollments.errorGet":"Une erreur s'est produite lors de la récupération de vos commandes et inscriptions. Veuillez réessayer plus tard.","hooks.useOrganizations.errorNotFound":"Impossible de trouver l'établissement","hooks.useOrganizations.errorSelect":"Une erreur s'est produite lors de la récupération des établissements. Veuillez réessayer plus tard.","hooks.useResources.errorCreate":"Une erreur s'est produite lors de la création de la ressource. Veuillez réessayer plus tard.","hooks.useResources.errorDelete":"Une erreur s'est produite lors de la suppression de la ressource. Veuillez réessayer plus tard.","hooks.useResources.errorGet":"Une erreur s'est produite lors de la récupération des ressources. Veuillez réessayer plus tard.","hooks.useResources.errorNotFound":"Ressource introuvable.","hooks.useResources.errorUpdate":"Une erreur s'est produite lors de la modification de la ressource. Veuillez réessayer plus tard.","hooks.useUnionResource.errorGet":"Une erreur s'est produite lors de la récupération des données. Veuillez réessayer plus tard.","hooks.useWishlist.errorCreate":"Une erreur s'est produite lors de l'ajout de ce cours à votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorDelete":"Une erreur s'est produite lors de la suppression de ce cours de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorGet":"Une erreur s'est produite lors de la récupération de votre liste de souhaits. Veuillez réessayer plus tard.","hooks.useWishlist.errorNotFound":"Liste de souhaits introuvable.","openEdxProfile.gender.female":"Féminin","openEdxProfile.gender.male":"Masculin","openEdxProfile.gender.other":"Autre","openEdxProfile.levelOfEducation.associateDegree":"Niveau associé","openEdxProfile.levelOfEducation.bachelorDegree":"Diplôme de premier cycle supérieur","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Enseignement primaire","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Collège / enseignement secondaire inférieur","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master ou diplôme professionnel","openEdxProfile.levelOfEducation.none":"--","openEdxProfile.levelOfEducation.other":"Autre","openEdxProfile.levelOfEducation.phdOrDoctorate":"Doctorat","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Lycée / enseignement secondaire","page.PageNotFound.pageNotFoundHomeLink":"Retour à la page d'accueil","page.PageNotFound.pageNotFoundSubTitle":"Le contenu demandé n'existe pas.","page.PageNotFound.pageNotFoundTitle":"Page introuvable","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Apprenant","pages.CourseLearnerDataGrid.columnPurchaseDate":"Inscrit le","pages.CourseLearnerDataGrid.columnState":"État","pages.CourseLearnerDataGrid.contactButton":"Contacter","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Télécharger l'archive des contrats","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Génération de l'archive des contrats en cours...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Demander une archive des contrats","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"État de la signature","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Établissement","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contrats de formation","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Apprenants","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {apprenant inscrit} other {apprenants inscrits}} à cette formation","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Apprenant","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Formation","pages.TeacherDashboardOrganizationContractsLayout.columnState":"État","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contrats de formation","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Signer tous les contrats de formation en attente ({ count })","utils.ContractHelper.learnerHalfSigned":"En attente de la signature de l'établissement","utils.ContractHelper.learnerSigned":"Signé","utils.ContractHelper.learnerUnsigned":"En attente de signature","utils.ContractHelper.organizationHalfSigned":"En attente de signature","utils.ContractHelper.organizationSigned":"Signé","utils.ContractHelper.organizationUnsigned":"En attente de la signature de l'apprenant","utils.joinAnd.and":"et"} \ No newline at end of file diff --git a/src/frontend/js/translations/ko-KR.json b/src/frontend/js/translations/ko-KR.json index 56560b0e4d..286e129979 100755 --- a/src/frontend/js/translations/ko-KR.json +++ b/src/frontend/js/translations/ko-KR.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/js/translations/pt-PT.json b/src/frontend/js/translations/pt-PT.json index 875724d25e..bf03246eab 100644 --- a/src/frontend/js/translations/pt-PT.json +++ b/src/frontend/js/translations/pt-PT.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Raiz","Dashboard.components.SearchBar.clearSearchButtonLabel":"limpar pesquisa atual","Dashboard.components.SearchBar.searchButtonLabel":"Pesquisar","Dashboard.components.SearchBar.searchPlaceholder":"Pesquisar","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {resultado} other {resultados}} que correspondem à sua pesquisa","components.AddressesManagement.actionPromotion":"promoção","components.AddressesManagement.addAddress":"Adicionar um novo endereço","components.AddressesManagement.addressInput":"Endereço","components.AddressesManagement.cancelButton":"Cancelar","components.AddressesManagement.cancelTitleButton":"Cancelar edição","components.AddressesManagement.cityInput":"Cidade","components.AddressesManagement.closeButton":"Voltar","components.AddressesManagement.countryInput":"País","components.AddressesManagement.deleteButton":"Eliminar","components.AddressesManagement.deleteButtonLabel":"Eliminar endereço de \"{title}\"","components.AddressesManagement.editAddress":"Atualizar endereço {title}","components.AddressesManagement.editButton":"Editar","components.AddressesManagement.editButtonLabel":"Editar endereço de \"{title}\"","components.AddressesManagement.first_nameInput":"Primeiro nome do destinatário","components.AddressesManagement.last_nameInput":"Apelido do destinatário","components.AddressesManagement.optionalFieldText":"(opcional)","components.AddressesManagement.postcodeInput":"Código Postal","components.AddressesManagement.promoteButtonLabel":"Defina o endereço \"{title}\" como principal","components.AddressesManagement.registeredAddresses":"Os seus endereços","components.AddressesManagement.requiredFields":"Os campos marcados com {symbol} são obrigatórios","components.AddressesManagement.saveInput":"Guardar este endereço","components.AddressesManagement.selectButton":"Usar esta endereço","components.AddressesManagement.selectButtonLabel":"Selecionar o endereço \"{title}\"","components.AddressesManagement.titleInput":"Título do Endereço","components.AddressesManagement.updateButton":"Atualizar este endereço","components.ContractStatus.learnerSignedOn":"Assinou o contrato de formação. Assinado em {date}","components.ContractStatus.organizationSignedOn":"A organização assinou este contrato e formação. Assinado em {date}","components.ContractStatus.waitingOrganization":"Não é possível descarregar o seu contrato de formação enquanto não for assinado pela organização.","components.ContractStatus.waitingSignature":"Tem de assinar o contrato de formação para ter acesso à formação.","components.CountrySelectField.label":"País","components.CourseAddToWishlist.labelAdd":"Notificar-me","components.CourseAddToWishlist.labelRemove":"Não me notificar mais","components.CourseAddToWishlist.loading":"A carregar a lista de desejos...","components.CourseAddToWishlist.logMe":"Iniciar sessão para ser notificado","components.CourseGlimpse.categoryLabel":"Categoria","components.CourseGlimpse.codeIconAlt":"Código do curso","components.CourseGlimpse.cover":"Capa","components.CourseGlimpse.organizationIconAlt":"Organização","components.CourseGlimpseFooter.dateIconAlt":"Data do curso","components.CourseGlimpseList.courseCount":"A mostrar de {start, number} a {end, number} de {courseCount, number} {courseCount, plural, one {curso} other {cursos}} de acordo com a sua pesquisa","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {curso} other {cursos}} {courseCount, plural, one {corresponde} other {correspondem}} à sua pesquisa","components.CourseProductCertificateItem.certificateExplanation":"Poderá descarregar o seu certificado assim que completar todas as edições de curso.","components.CourseProductCertificateItem.congratulations":"Parabéns, concluiu o curso com sucesso!","components.CourseProductCertificateItem.download":"Descarregar","components.CourseProductCertificateItem.generatingCertificate":"O certificado está a ser gerado...","components.CourseProductItem.availableIn":"Disponível em {languages}","components.CourseProductItem.fromTo":"De {from} {to, select, undefined {} other {para {to}}}","components.CourseProductItem.loadingInitial":"A carregar informação do produto...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {Sem vagas disponíveis} one {Última vaga disponível!} other {# vagas disponíveis} }","components.CourseProductItem.noSeatsAvailable":"Não existem vagas disponíveis por agora. Pedimos desculpa","components.CourseProductItem.purchased":"Comprado","components.CourseProductsList.end":"Fim","components.CourseProductsList.start":"Início","components.CourseRunEnrollment.courseRunStartIn":"O curso inicia em {relativeStartDate}","components.CourseRunEnrollment.enroll":"Inscreva-se já","components.CourseRunEnrollment.enrolled":"Está inscrito nesta edição do curso","components.CourseRunEnrollment.enrollmentClosed":"A inscrição nesta edição do curso está fechada de momento","components.CourseRunEnrollment.enrollmentFailed":"Ocorreu um erro ao processar a inscrição.","components.CourseRunEnrollment.getEnrollmentFailed":"Não foi possível recolher dados da inscrição","components.CourseRunEnrollment.goToCourse":"Ir para o curso","components.CourseRunEnrollment.loadingInitial":"A carregar a informação da inscrição...","components.CourseRunEnrollment.loginToEnroll":"Faça login para se inscrever","components.CourseRunEnrollment.unenroll":"Cancelar a inscrição deste curso","components.CourseRunEnrollment.unenrollmentFailed":"Ocorreu um erro ao remover a inscrição.","components.CourseRunItem.courseRunTitleWithDates":"{title}, de {start} {end, select, undefined {} other {até {end}}}","components.CourseRunItem.courseRunWithDates":"De {start} {end, select, undefined {} other {até {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrito","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Está inscrito nesta edição do curso","components.CourseRunItemWithEnrollment.goToCourse":"Ir para o curso","components.CourseRunList.dataCourseRunLink":"Ir para a área do curso","components.CourseRunList.dataCourseRunPeriod":"De {from} {to, select, undefined {} other {até {to}}}","components.CourseRunList.noCourseRunAvailable":"Nenhuma sessão disponível para este curso.","components.CourseRunUnenrollmentButton.unenroll":"Desinscrever deste curso","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"Os meus atestados de realização","components.Dashboard.DashboardRoutes.certificates.label":"Os meus certificados","components.Dashboard.DashboardRoutes.certificates.order.label":"Os meus certificados","components.Dashboard.DashboardRoutes.contracts.label":"Os meus contratos de formação","components.Dashboard.DashboardRoutes.course.session.label":"Curso","components.Dashboard.DashboardRoutes.courses.label":"Os meus cursos","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informação geral","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Criar endereço","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Editar endereço \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Editar cartão de crédito {creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"As minhas preferências","components.Dashboard.Signature.SignatureDummy.button":"Assinar","components.Dashboard.Signature.SignatureDummy.signing":"Assinando o contrato...","components.Dashboard.Signature.SignatureLexPersona.error":"Ocorreu um erro ao assinar o contrato. Por favor, tente novamente mais tarde.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"Ocorreu um erro ao assinar o contrato com o seguinte status: {status}. Por favor, atualize para tentar novamente.","components.DashboardAddressBox.delete":"Eliminar","components.DashboardAddressBox.edit":"Editar","components.DashboardAddressBox.isMain":"Endereço predefinido","components.DashboardAddressBox.setMain":"Utilizar por predefinição","components.DashboardAddressesManagement.add":"Adicionar um novo endereço","components.DashboardAddressesManagement.emptyList":"Ainda não criou nenhum endereço.","components.DashboardAddressesManagement.error":"Um erro ocorreu. Tente novamente mais tarde.","components.DashboardAddressesManagement.header":"Endereço de faturação","components.DashboardBreadcrumbs.back":"Voltar","components.DashboardCertificate.issuedOn":"Emitido em {date}","components.DashboardCertificate.noCertificateCertificate":"Após obter aprovação no exame, poderá descarregar o seu certificado aqui.","components.DashboardCertificate.noCertificateCredential":"Após obter aprovação em todos os cursos, poderá descarregar o seu certificado aqui.","components.DashboardCertificate.noCertificateUnknown":"Quando todos os requisitos estiverem cumpridos, poderá descarregar o seu certificado aqui.","components.DashboardCertificates.empty":"Ainda não tem certificados.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Atestados de realização","components.DashboardCertificates.loading":"Carregando os certificados...","components.DashboardCertificates.orderCertificateTabLabel":"Certificados","components.DashboardContracts.empty":"Ainda não tem nenhum contrato de formação.","components.DashboardContracts.loading":"A carregar contratos de formação...","components.DashboardCourses.emptyList":"Não tem inscrições nem pedidos.","components.DashboardCourses.loadMoreResults":"Carregar mais","components.DashboardCourses.loading":"Carregando pedidos e inscrições...","components.DashboardCreateAddressForm.header":"Criar novo endereço","components.DashboardCreateAddressForm.submit":"Criar","components.DashboardCreditCardBox.delete":"Eliminar","components.DashboardCreditCardBox.edit":"Editar","components.DashboardCreditCardBox.endsWith":"Termina com ••• {code}","components.DashboardCreditCardBox.expiration":"Expira em {month}/{year}","components.DashboardCreditCardBox.expired":"Expira em {month}/{year}","components.DashboardCreditCardBox.isMain":"Cartão de crédito predefinido","components.DashboardCreditCardBox.setMain":"Utilizar por predefinição","components.DashboardCreditCardsManagement.emptyList":"Ainda não criou nenhum cartão de crédito.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Não é possível promover o cartão de crédito principal.","components.DashboardCreditCardsManagement.header":"Cartões de crédito","components.DashboardEditAddressForm.header":"Atualizar endereço \"{title}\"","components.DashboardEditAddressForm.remove":"Remover","components.DashboardEditAddressForm.submit":"Salvar atualizações","components.DashboardEditCreditCard.delete":"Eliminar","components.DashboardEditCreditCard.expirationInputLabel":"Expiração","components.DashboardEditCreditCard.header":"Editar cartão de crédito","components.DashboardEditCreditCard.isMainInputLabel":"Usar este cartão de crédito como padrão","components.DashboardEditCreditCard.lastNumbersInputLabel":"Números","components.DashboardEditCreditCard.submit":"Salvar atualizações","components.DashboardEditCreditCard.titleInputLabel":"Nome do cartão de crédito","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"A assinatura está a demorar mais tempo do que o esperado... por favor tente mais tarde.","components.DashboardItem.Order.ContractFrame.errorPolling":"Ocorreu um erro ao verificar a assinatura. Por favor, volte mais tarde.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"Ocorreu um erro ao inicializar o processo de assinatura. Por favor, volte mais tarde.","components.DashboardItem.Order.ContractFrame.finishedButton":"Seguinte","components.DashboardItem.Order.ContractFrame.finishedCaption":"Parabéns!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"A carregar o contrato ...","components.DashboardItem.Order.ContractFrame.polling":"A verificar a assinatura ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"Estamos a aguardar a validação da assinatura por parte da nossa plataforma. Este processo pode demorar alguns minutos. Por favor, não feche esta página.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Cancelado","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pendente","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"A assinar","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pendente para assinatura do formando","components.DashboardItem.more_label":"Ver opções adicionais","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"A carregar edições dos cursos...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"As inscrições abrem a partir de {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"Não existem sessões disponíveis para este curso.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Tem a certeza que pretende alterar a sessão? A sua inscrição vai ser removida da sessão anterior!","components.DashboardItemEnrollment.enrollCourse":"Inscrever","components.DashboardItemEnrollment.enrollRun":"Inscrever","components.DashboardItemEnrollment.enrolled":"Inscrito","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Tem a certeza que deseja inscrever-se nesta sessão?","components.DashboardItemEnrollment.gotoCourse":"Acesso ao curso","components.DashboardItemEnrollment.notEnrolled":"Não está inscrito nesta edição do curso","components.DashboardItemEnrollment.statusNotActive":"Não inscrito","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contacto","components.DashboardItemOrder.contactDescription":"A sua referência de formação é {name} - {email}.","components.DashboardItemOrder.gotoCourse":"Ver Detalhes","components.DashboardItemOrder.loadingCertificate":"Carregando o certificado...","components.DashboardItemOrder.organizationDpoContactLabel":"E-mail de proteção de dados","components.DashboardItemOrder.organizationHeader":"Esta formação é ministrada por","components.DashboardItemOrder.organizationLogoAlt":"Logótipo da organização","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Telefone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Ir para o programa de estudos","components.DashboardItemOrder.trainingContractTitle":"Contrato de formação","components.DashboardOpenEdxProfile.EditButtonLabel":"Editar o seu perfil","components.DashboardOpenEdxProfile.additionalInformationHeader":"Informações adicionais sobre a conta","components.DashboardOpenEdxProfile.baseInformationHeader":"Informações básicas sobre a conta","components.DashboardOpenEdxProfile.countryInputLabel":"País","components.DashboardOpenEdxProfile.emailInputDescription":"O e-mail utilizado na inscrição, as comunicações FUN-MOOC e leasons serão enviadas para este endereço","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Língua preferida","components.DashboardOpenEdxProfile.fullNameInputDescription":"O nome que aparece nos seus certificados e acordos de formação. Os outros formandos nunca vêem o seu nome completo","components.DashboardOpenEdxProfile.fullNameInputLabel":"Nome completo","components.DashboardOpenEdxProfile.genderInputLabel":"Género","components.DashboardOpenEdxProfile.header":"Perfil","components.DashboardOpenEdxProfile.languageInputDescription":"A língua utilizada no sítio Web. As línguas do sítio Web são limitadas.","components.DashboardOpenEdxProfile.languageInputLabel":"Língua","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Nível de educação","components.DashboardOpenEdxProfile.usernameInputDescription":"O teu nome no FUN-MOOC. Não pode alterar o seu nome de utilizador.","components.DashboardOpenEdxProfile.usernameInputLabel":"Nome de utilizador","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Ano de nascimento","components.DashboardOrderLoader.loading":"A carregar o pedido...","components.DashboardOrderLoader.signLink":"assinar o seu contrato","components.DashboardOrderLoader.signatureNeeded":"É necessário {signLink} antes de se inscrever num curso","components.DashboardOrderLoader.wrongLinkedProductError":"Esta página não está disponível para este pedido.","components.DesktopUserMenu.menuPurpose":"Acesso às suas configurações de perfil","components.DownloadCertificateButton.download":"Descarregar","components.DownloadCertificateButton.generatingCertificate":"O certificado está a ser gerado...","components.DownloadContractButton.contractDownloadActionLabel":"Descarregar","components.DownloadContractButton.contractDownloadError":"Ocorreu um erro ao descarregar o contrato de formação. Por favor, tente mais tarde.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Selecionar a edição de curso a partir de {start} {end, select, undefined {} other {até {end}}}.","components.EnrollableCourseRunList.enroll":"Inscrever","components.EnrollableCourseRunList.enrolling":"Inscrevendo...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Inscrições abertas a {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Nenhuma sessão disponível para este curso.","components.EnrollableCourseRunList.selectCourseRun":"Selecione uma edição do curso","components.EnrolledCourseRun.courseRunStartIn":"O curso inicia em {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Ir para o curso","components.EnrolledCourseRun.isEnroll":"Está inscrito","components.EnrolledCourseRun.unenroll":"Desinscrever","components.EnrolledCourseRun.unenrolling":"Desinscrevendo...","components.EnrollmentDate.enrollClosed":"Inscrição encerrada desde {date}","components.EnrollmentDate.enrollFrom":"Inscrito desde {date}","components.EnrollmentDate.enrollSince":"Inscrições abertas desde {date}","components.EnrollmentDate.enrollUntil":"Inscrito até {date}","components.Form.utils.errors.mixedInvalid":"Este campo é inválido.","components.Form.utils.errors.mixedOneOf":"É necessário selecionar um valor.","components.Form.utils.errors.mixedRequired":"Este campo é obrigatório.","components.Form.utils.errors.stringMax":"O comprimento máximo é de {max} {max, plural, one {carácter} other {carácteres}}.","components.Form.utils.errors.stringMin":"O comprimento mínimo é de {min} {min, plural, one {carácter} other {carácteres}}.","components.LanguageSelector.currentlySelected":"(selecionado)","components.LanguageSelector.languages":"Idiomas","components.LanguageSelector.selectLanguage":"Selecione um idioma:","components.LanguageSelector.switchToLanguage":"Mudar idioma para {language}","components.ListFilterOrganization.allOrganizationOption":"Todas as organizações","components.ListFilterOrganization.organizationFilterLabel":"Organização","components.Modal.closeDialog":"Fechar janela de diálogo","components.NavigationSelect.responsiveNavLabel":"Navegar para","components.NavigationSelect.settingsLinkLabel":"Definições","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"Ocorreu um erro ao atualizar o seu nome completo. Por favor, tente novamente mais tarde.","components.OpenEdxFullNameForm.fullNameInputDescription":"Verifique se o seu nome completo está correto. Este será utilizado num documento oficial (por exemplo, certificado)","components.OpenEdxFullNameForm.fullNameInputLabel":"Nome completo","components.OpenEdxFullNameForm.loadingLabel":"Carregando...","components.OpenEdxFullNameForm.submitButtonLabel":"Submeter","components.PaginateCourseSearch.currentlyReadingLastPageN":"A ler a última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"A ler a página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página seguinte {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginação","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.PaymentButton.errorAbort":"O pagamento foi cancelado.","components.PaymentButton.errorDefault":"Ocorreu um erro durante o pagamento. Por favor, tente novamente mais tarde.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"Pode adquirir um exame para este curso que confere certificado.","components.ProductCertificateFooter.downloadProductCertificateLabel":"Está disponível um certificado para transferência.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Termine este curso para obter o seu certificado.","components.RootSearchSuggestField.searchFieldPlaceholder":"Pesquisar cursos","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Criar","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Adicionar endereço","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Guardar","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Editar endereço","components.SaleTunnel.AddressSelector.create":"Criar","components.SaleTunnel.AddressSelector.edit":"Editar","components.SaleTunnel.AddressSelector.label":"Endereço de faturação","components.SaleTunnel.Certificate.ProductPath.title":"O seu percurso de aprendizagem","components.SaleTunnel.Credential.ProductPath.title":"O seu percurso de aprendizagem","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Alterar o cartão de crédito","components.SaleTunnel.CreditCardSelector.endsWith":"Termina com •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expira em {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expirado desde {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Seleccione o método de pagamento predefinido que pretende utilizar para esta encomenda e para os pagamentos seguintes.","components.SaleTunnel.CreditCardSelector.modalTitle":"Escolher o cartão de crédito","components.SaleTunnel.CreditCardSelector.modalValidate":"Validar","components.SaleTunnel.Information.description":"Essas informações serão utilizadas para faturação","components.SaleTunnel.Information.email.info":"Este correio electrónico será utilizado para lhe enviar mensagens de confirmação, pois foi com ele que criou a sua conta.","components.SaleTunnel.Information.email.label":"Correio eletrónico da conta","components.SaleTunnel.Information.fullNameLabel":"Nome completo","components.SaleTunnel.Information.title":"Informações","components.SaleTunnel.Information.total.info":"O pagamento será efetuado através da plataforma segura do nosso fornecedor de serviços de pagamento.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Comprar {product}","components.SaleTunnel.loginToPurchase":"Faça entrar para comprar {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"A execução do curso não está ativa. Este produto não está atualmente disponível para venda.","components.SaleTunnel.noCourseRunToPurchaseCredential":"Pelo menos um curso não tem nenhuma edição. Este produto não está atualmente disponível para venda.","components.SaleTunnel.noRemainingOrder":"Não existem lugares disponíveis neste produto.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{count, plural, =0 {Sem edições de curso} one {Uma edição do curso} other {# edições do curso}} {count, plural, =0 {disponíveis} one {disponível} other {disponíveis}}","components.SaleTunnelStepValidation.courseRunDates":"De {start} {end, select, undefined {} other {até {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Língua:} other {Línguas:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Não existem sessões disponíveis para este curso.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Ocorreu um erro! Não foi possível carregar os cursos.","components.Search.hideFiltersPane":"Ocultar painel de filtros","components.Search.resultsTitle":"Resultados da pesquisa","components.Search.showFiltersPane":"Mostrar painel de filtros","components.Search.spinnerText":"A carregar os resultados da pesquisa...","components.Search.textQueryLengthWarning":"A pesquisa de texto requer pelo menos 3 caracteres. { query } não é longo o suficiente para pesquisar. Os resultados da pesquisa não serão alterados por esta consulta.","components.SearchFilterGroupModal.closeModal":"Fechar modal","components.SearchFilterGroupModal.error":"Ocorreu um erro ao pesquisar por {filterName}.","components.SearchFilterGroupModal.inputLabel":"Pesquisar por filtros para adicionar","components.SearchFilterGroupModal.inputPlaceholder":"Pesquisar em { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Carregar mais resultados","components.SearchFilterGroupModal.loadingResults":"A carregar os resultados da pesquisa...","components.SearchFilterGroupModal.modalTitle":"Adicionar filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Mais opções","components.SearchFilterGroupModal.queryTooShort":"Digite pelo menos 3 caracteres para iniciar a pesquisa.","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionais para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar mais filtros para {filterValueName}","components.SearchFiltersPane.clearFilters":"Limpar {activeFilterCount, number} {activeFilterCount, plural, one {filtro} other {filtros}} {activeFilterCount, plural, one {ativo} other {ativos}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchInput.button":"Pesquisar","components.SearchSuggestField.searchFieldPlaceholder":"Pesquisar cursos, organizações, categorias","components.SignContractButton.contractDownloadActionLabel":"Descarregar","components.SignContractButton.contractDownloadError":"Ocorreu um erro ao descarregar o contrato de formação. Por favor, tente mais tarde.","components.SignContractButton.contractSignActionLabel":"Assinar","components.StudentDashboardSidebar.header":"Bem vindo {name}","components.StudentDashboardSidebar.subHeader":"Está no seu painel de controlo","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Arquivado","components.SyllabusAsideList.courseRunsTitle":"Edições do curso","components.SyllabusAsideList.noCourseRuns":"Sem edições disponíveis","components.SyllabusAsideList.noOtherCourseRuns":"Sem outras edições disponíveis","components.SyllabusAsideList.ongoing":"A decorrer","components.SyllabusAsideList.otherCourseRuns":"Outras edições do curso","components.SyllabusAsideList.toBeScheduled":"Por agendar","components.SyllabusAsideList.upcoming":"Brevemente","components.SyllabusCourseRun.course":"Curso","components.SyllabusCourseRun.coursePeriod":"De {startDate} {endDate, select, undefined {} other {até {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscrição","components.SyllabusCourseRun.enrollmentPeriod":"De {startDate} {endDate, select, undefined {} other {até {endDate}}}","components.SyllabusCourseRun.languages":"Idiomas","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} edições estão abertas para este curso","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Selecionar agora","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Sem edições disponíveis","components.SyllabusSimpleCourseRunsList.viewMore":"Ver Mais","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"Informações gerais","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Alunos","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informação Geral","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informação Geral","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"Informações gerais","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Alunos","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cursos","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Todos os meus cursos","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Painel do professor","components.TeacherDashboardCourseList.emptyList":"Ainda não tem cursos.","components.TeacherDashboardCourseList.loadMore":"Carregar mais","components.TeacherDashboardCourseList.loading":"A carregar cursos...","components.TeacherDashboardCourseLoader.errorNoCourse":"Este curso não existe","components.TeacherDashboardCourseLoader.loading":"A carregar o curso...","components.TeacherDashboardCourseLoader.pageTitle":"Área do curso","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"A carregar o curso...","components.TeacherDashboardCourseSidebar.subHeader":"Está no painel de controlo do curso","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Ir para o programa de estudos","components.TeacherDashboardCoursesLoader.title.archived":"Arquivado","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Os seus cursos","components.TeacherDashboardCoursesLoader.title.incoming":"A receber","components.TeacherDashboardCoursesLoader.title.ongoing":"A decorrer","components.TeacherDashboardOrganizationCourseLoader.loading":"A carregar a organização ...","components.TeacherDashboardOrganizationCourseLoader.title":"Cursos de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"A carregar a organização...","components.TeacherDashboardOrganizationSidebar.subHeader":"Está no painel da organização","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Hiperligação para a organização \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"As minhas universidades","components.TeacherDashboardProfileSidebar.subHeader":"Está no seu painel de controlo do professor","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Este produto não existe","components.TeacherDashboardTrainingLoader.loading":"A carregar a formação...","components.TeacherDashboardTrainingLoader.pageTitle":"Área de formação","components.UserLogin.logIn":"Entrar","components.UserLogin.logOut":"Sair","components.UserLogin.signup":"Registar","components.UserLogin.spinnerText":"A carregar estado do login...","components.form.messages.formOptionalFieldsText":"Todos os campos são obrigatórios, exceto se estiverem assinalados como facultativos","components.form.messages.optionalFieldText":"(opcional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"Está inscrito para esta sessão.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"Está inscrito nesta sessão. Começa {relativeStartDate}, a {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"Esta sessão tem início {relativeStartDate}, a {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"Está inscrito para esta sessão. Está aberta a partir de {startDate} {endDate, select, undefined {} other {para {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"Esta sessão teve início em {startDate} {endDate, select, undefined {} other {e terminará em {endDate}}}","components.useStaticFilters.courses":"Cursos","hooks.useAddresses.errorCreate":"Ocorreu um erro ao criar o endereço. Por favor, tente mais tarde.","hooks.useAddresses.errorDelete":"Ocorreu um erro ao remover o endereço. Por favor, tente mais tarde.","hooks.useAddresses.errorNotFound":"Não foi possível encontrar o endereço","hooks.useAddresses.errorSelect":"Ocorreu um erro na recolha de endereços. Por favor, tente mais tarde.","hooks.useAddresses.errorUpdate":"Ocorreu um erro ao atualizar o endereço. Por favor, tente mais tarde.","hooks.useAddressesManagement.actionUpdate":"atualização","hooks.useAddressesManagement.deletionConfirmation":"Tem a certeza que quer remover o endereço \"{title}\"? ⚠️ Esta ação não pode ser desfeita.","hooks.useAddressesManagement.errorCannotPromoteMain":"Impossível promover o endereço principal.","hooks.useAddressesManagement.errorCannotRemoveMain":"Impossível remover o endereço principal.","hooks.useCertificates.errorGet":"Ocorreu um erro ao ir buscar certificados. Por favor, tente novamente mais tarde.","hooks.useCertificates.errorNotFound":"Não é possível encontrar o certificado","hooks.useContracts.errorNotFound":"Não foi possível encontrar o contrato","hooks.useContracts.errorSelect":"Ocorreu um erro durante o carregamento dos contratos. Por favor, tente novamente mais tarde.","hooks.useCourseOrders.errorNotFound":"Não é possível encontrar encomendas","hooks.useCourseOrders.errorSelect":"Ocorreu um erro durante a pesquisa de encomendas. Por favor, tente novamente mais tarde.","hooks.useCourseProductRelations.errorGet":"Ocorreu um erro durante o carregamento das formações. Por favor, tente mais tarde.","hooks.useCourseProductRelations.errorNotFound":"Não foi possível encontrar a formação.","hooks.useCourseProductUnion.errorGet":"Ocorreu um erro durante o processamento de formações. Por favor, tente mais tarde.","hooks.useCourseProducts.errorGet":"Ocorreu um erro durante o carregamento do produto. Por favor, tente mais tarde.","hooks.useCourseProducts.errorNotFound":"Não foi possível encontrar o produto.","hooks.useCourseRuns.errorGet":"Ocorreu um erro ao carregar as edições do curso. Por favor, tente mais tarde.","hooks.useCourseRuns.errorNotFound":"Não foi possível encontrar a edição do curso.","hooks.useCourses.errorNotFound":"Não foi possível encontrar o curso.","hooks.useCourses.errorSelect":"Ocorreu um erro durante a transferência do curso. Por favor, tente novamente mais tarde.","hooks.useCreditCards.errorDelete":"Ocorreu um erro na remoção de cartões de crédito. Por favor, tente mais tarde.","hooks.useCreditCards.errorNotFound":"Não foi possível encontrar o cartão de crédito","hooks.useCreditCards.errorSelect":"Ocorreu um erro na recolha de cartões de crédito. Por favor, tente mais tarde.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"Ocorreu um erro ao atualizar o cartão de crédito. Por favor, tente mais tarde.","hooks.useCreditCardsManagement.deletionConfirmation":"Tem a certeza que pretende remover o cartão de crédito? ⚠️ Esta ação não pode ser desfeita.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Não é possível remover o cartão de crédito principal.","hooks.useDashboardAddressForm.isMainInputLabel":"Usar este endereço como padrão","hooks.useEnrollments.errorCreate":"Ocorreu um erro durante o processamento da inscrição. Por favor, tente mais tarde.","hooks.useEnrollments.errorDelete":"Ocorreu um erro durante a remoção da inscrição. Por favor, tente mais tarde.","hooks.useEnrollments.errorNotFound":"Não foi possível encontrar a inscrição","hooks.useEnrollments.errorSelect":"Ocorreu um erro durante a recolha das inscrições. Por favor, tente mais tarde.","hooks.useEnrollments.errorUpdate":"Ocorreu um erro durante a atualização das inscrições. Por favor, tente mais tarde.","hooks.useJoanieUserProfile.errorGet":"Ocorreu um erro durante o processamento do perfil do utilizador. Por favor, tente mais tarde.","hooks.useJoanieUserProfile.errorNotFound":"Não tem sessão iniciada.","hooks.useOpenEdxProfile.errorGet":"Ocorreu um erro ao procurar o seu perfil. Por favor, tente novamente mais tarde.","hooks.useOpenEdxProfile.errorUpdate":"Ocorreu um erro ao atualizar o seu nome completo. Por favor, tente novamente mais tarde.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"Ocorreu um erro durante o processamento das encomendas. Por favor, tente mais tarde.","hooks.useOrders.errorNotFound":"Não foi possível encontrar encomendas.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"Ocorreu um erro durante a obtenção das inscrições. Por favor, tente mais tarde.","hooks.useOrganizations.errorNotFound":"Não foi possível encontrar a organização","hooks.useOrganizations.errorSelect":"Ocorreu um erro durante a busca de organizações. Por favor, tente novamente mais tarde.","hooks.useResources.errorCreate":"Ocorreu um erro ao criar um recurso. Por favor, tente mais tarde.","hooks.useResources.errorDelete":"Ocorreu um erro ao remover um recurso. Por favor, tente mais tarde.","hooks.useResources.errorGet":"Ocorreu um erro na recolha de recursos. Por favor, tente mais tarde.","hooks.useResources.errorNotFound":"Recurso não encontrado.","hooks.useResources.errorUpdate":"Ocorreu um erro ao atualizar um recurso. Por favor, tente mais tarde.","hooks.useUnionResource.errorGet":"Ocorreu um erro durante o processamento de informação. Por favor, tente mais tarde.","hooks.useWishlist.errorCreate":"Ocorreu um erro ao adicionar este curso à sua lista de desejos. Por favor, tente novamente mais tarde.","hooks.useWishlist.errorDelete":"Ocorreu um erro ao remover este curso da sua lista de desejos. Por favor, tente mais tarde.","hooks.useWishlist.errorGet":"Ocorreu um erro ao ir buscar a lista de desejos. Por favor, tente novamente mais tarde.","hooks.useWishlist.errorNotFound":"Não é possível encontrar a lista de desejos.","openEdxProfile.gender.female":"Feminino","openEdxProfile.gender.male":"Masculino","openEdxProfile.gender.other":"Outros","openEdxProfile.levelOfEducation.associateDegree":"Licenciatura","openEdxProfile.levelOfEducation.bachelorDegree":"Bacharelato","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Escola primária elementar","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Ensino secundário ou médio","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Mestre","openEdxProfile.levelOfEducation.none":"Nenhum","openEdxProfile.levelOfEducation.other":"Outros","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Escola secundária ou liceu","page.PageNotFound.pageNotFoundHomeLink":"Voltar à página inicial","page.PageNotFound.pageNotFoundSubTitle":"O conteúdo solicitado não existe.","page.PageNotFound.pageNotFoundTitle":"Página não encontrada","pages.CourseLearnerDataGrid.columnActions":"Ações","pages.CourseLearnerDataGrid.columnLearnerName":"Formando","pages.CourseLearnerDataGrid.columnPurchaseDate":"Inscrito em","pages.CourseLearnerDataGrid.columnState":"Estado","pages.CourseLearnerDataGrid.contactButton":"Contacto","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Descarregar o arquivo de contratos","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"A gerar arquivo de contratos...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Solicitar arquivo de contratos","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Estado da assinatura","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organização","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contratos","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Alunos","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {aluno está inscrito} other {alunos estão inscritos}} nesta formação","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Estudante","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Formação","pages.TeacherDashboardOrganizationContractsLayout.columnState":"Estado","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contratos","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Assinar todos os contratos pendentes ({ count })","utils.ContractHelper.learnerHalfSigned":"A aguardar a assinatura da organização","utils.ContractHelper.learnerSigned":"Assinado","utils.ContractHelper.learnerUnsigned":"A aguardar assinatura","utils.ContractHelper.organizationHalfSigned":"A aguardar assinatura","utils.ContractHelper.organizationSigned":"Assinado","utils.ContractHelper.organizationUnsigned":"A aguardar assinatura do estudante","utils.joinAnd.and":"e"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Raiz","Dashboard.components.SearchBar.clearSearchButtonLabel":"limpar pesquisa atual","Dashboard.components.SearchBar.searchButtonLabel":"Pesquisar","Dashboard.components.SearchBar.searchPlaceholder":"Pesquisar","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {resultado} other {resultados}} que correspondem à sua pesquisa","components.AddressesManagement.actionPromotion":"promoção","components.AddressesManagement.addAddress":"Adicionar um novo endereço","components.AddressesManagement.addressInput":"Endereço","components.AddressesManagement.cancelButton":"Cancelar","components.AddressesManagement.cancelTitleButton":"Cancelar edição","components.AddressesManagement.cityInput":"Cidade","components.AddressesManagement.closeButton":"Voltar","components.AddressesManagement.countryInput":"País","components.AddressesManagement.deleteButton":"Eliminar","components.AddressesManagement.deleteButtonLabel":"Eliminar endereço de \"{title}\"","components.AddressesManagement.editAddress":"Atualizar endereço {title}","components.AddressesManagement.editButton":"Editar","components.AddressesManagement.editButtonLabel":"Editar endereço de \"{title}\"","components.AddressesManagement.first_nameInput":"Primeiro nome do destinatário","components.AddressesManagement.last_nameInput":"Apelido do destinatário","components.AddressesManagement.optionalFieldText":"(opcional)","components.AddressesManagement.postcodeInput":"Código Postal","components.AddressesManagement.promoteButtonLabel":"Defina o endereço \"{title}\" como principal","components.AddressesManagement.registeredAddresses":"Os seus endereços","components.AddressesManagement.requiredFields":"Os campos marcados com {symbol} são obrigatórios","components.AddressesManagement.saveInput":"Guardar este endereço","components.AddressesManagement.selectButton":"Usar esta endereço","components.AddressesManagement.selectButtonLabel":"Selecionar o endereço \"{title}\"","components.AddressesManagement.titleInput":"Título do Endereço","components.AddressesManagement.updateButton":"Atualizar este endereço","components.ContractStatus.learnerSignedOn":"Assinou o contrato de formação. Assinado em {date}","components.ContractStatus.organizationSignedOn":"A organização assinou este contrato e formação. Assinado em {date}","components.ContractStatus.waitingOrganization":"Não é possível descarregar o seu contrato de formação enquanto não for assinado pela organização.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"País","components.CourseAddToWishlist.labelAdd":"Notificar-me","components.CourseAddToWishlist.labelRemove":"Não me notificar mais","components.CourseAddToWishlist.loading":"A carregar a lista de desejos...","components.CourseAddToWishlist.logMe":"Iniciar sessão para ser notificado","components.CourseGlimpse.categoryLabel":"Categoria","components.CourseGlimpse.codeIconAlt":"Código do curso","components.CourseGlimpse.cover":"Capa","components.CourseGlimpse.organizationIconAlt":"Organização","components.CourseGlimpseFooter.dateIconAlt":"Data do curso","components.CourseGlimpseList.courseCount":"A mostrar de {start, number} a {end, number} de {courseCount, number} {courseCount, plural, one {curso} other {cursos}} de acordo com a sua pesquisa","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {curso} other {cursos}} {courseCount, plural, one {corresponde} other {correspondem}} à sua pesquisa","components.CourseProductCertificateItem.certificateExplanation":"Poderá descarregar o seu certificado assim que completar todas as edições de curso.","components.CourseProductCertificateItem.congratulations":"Parabéns, concluiu o curso com sucesso!","components.CourseProductCertificateItem.download":"Descarregar","components.CourseProductCertificateItem.generatingCertificate":"O certificado está a ser gerado...","components.CourseProductItem.availableIn":"Disponível em {languages}","components.CourseProductItem.fromTo":"De {from} {to, select, undefined {} other {para {to}}}","components.CourseProductItem.loadingInitial":"A carregar informação do produto...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {Sem vagas disponíveis} one {Última vaga disponível!} other {# vagas disponíveis} }","components.CourseProductItem.noSeatsAvailable":"Não existem vagas disponíveis por agora. Pedimos desculpa","components.CourseProductItem.purchased":"Comprado","components.CourseProductsList.end":"Fim","components.CourseProductsList.start":"Início","components.CourseRunEnrollment.courseRunStartIn":"O curso inicia em {relativeStartDate}","components.CourseRunEnrollment.enroll":"Inscreva-se já","components.CourseRunEnrollment.enrolled":"Está inscrito nesta edição do curso","components.CourseRunEnrollment.enrollmentClosed":"A inscrição nesta edição do curso está fechada de momento","components.CourseRunEnrollment.enrollmentFailed":"Ocorreu um erro ao processar a inscrição.","components.CourseRunEnrollment.getEnrollmentFailed":"Não foi possível recolher dados da inscrição","components.CourseRunEnrollment.goToCourse":"Ir para o curso","components.CourseRunEnrollment.loadingInitial":"A carregar a informação da inscrição...","components.CourseRunEnrollment.loginToEnroll":"Faça login para se inscrever","components.CourseRunEnrollment.unenroll":"Cancelar a inscrição deste curso","components.CourseRunEnrollment.unenrollmentFailed":"Ocorreu um erro ao remover a inscrição.","components.CourseRunItem.courseRunTitleWithDates":"{title}, de {start} {end, select, undefined {} other {até {end}}}","components.CourseRunItem.courseRunWithDates":"De {start} {end, select, undefined {} other {até {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Inscrito","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"Está inscrito nesta edição do curso","components.CourseRunItemWithEnrollment.goToCourse":"Ir para o curso","components.CourseRunList.dataCourseRunLink":"Ir para a área do curso","components.CourseRunList.dataCourseRunPeriod":"De {from} {to, select, undefined {} other {até {to}}}","components.CourseRunList.noCourseRunAvailable":"Nenhuma sessão disponível para este curso.","components.CourseRunUnenrollmentButton.unenroll":"Desinscrever deste curso","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"Os meus atestados de realização","components.Dashboard.DashboardRoutes.certificates.label":"Os meus certificados","components.Dashboard.DashboardRoutes.certificates.order.label":"Os meus certificados","components.Dashboard.DashboardRoutes.contracts.label":"Os meus contratos de formação","components.Dashboard.DashboardRoutes.course.session.label":"Curso","components.Dashboard.DashboardRoutes.courses.label":"Os meus cursos","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"Informação geral","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Criar endereço","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Editar endereço \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Editar cartão de crédito {creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"As minhas preferências","components.Dashboard.Signature.SignatureDummy.button":"Assinar","components.Dashboard.Signature.SignatureDummy.signing":"Assinando o contrato...","components.Dashboard.Signature.SignatureLexPersona.error":"Ocorreu um erro ao assinar o contrato. Por favor, tente novamente mais tarde.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"Ocorreu um erro ao assinar o contrato com o seguinte status: {status}. Por favor, atualize para tentar novamente.","components.DashboardAddressBox.delete":"Eliminar","components.DashboardAddressBox.edit":"Editar","components.DashboardAddressBox.isMain":"Endereço predefinido","components.DashboardAddressBox.setMain":"Utilizar por predefinição","components.DashboardAddressesManagement.add":"Adicionar um novo endereço","components.DashboardAddressesManagement.emptyList":"Ainda não criou nenhum endereço.","components.DashboardAddressesManagement.error":"Um erro ocorreu. Tente novamente mais tarde.","components.DashboardAddressesManagement.header":"Endereço de faturação","components.DashboardBreadcrumbs.back":"Voltar","components.DashboardCertificate.issuedOn":"Emitido em {date}","components.DashboardCertificate.noCertificateCertificate":"Após obter aprovação no exame, poderá descarregar o seu certificado aqui.","components.DashboardCertificate.noCertificateCredential":"Após obter aprovação em todos os cursos, poderá descarregar o seu certificado aqui.","components.DashboardCertificate.noCertificateUnknown":"Quando todos os requisitos estiverem cumpridos, poderá descarregar o seu certificado aqui.","components.DashboardCertificates.empty":"Ainda não tem certificados.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Atestados de realização","components.DashboardCertificates.loading":"Carregando os certificados...","components.DashboardCertificates.orderCertificateTabLabel":"Certificados","components.DashboardContracts.empty":"Ainda não tem nenhum contrato de formação.","components.DashboardContracts.loading":"A carregar contratos de formação...","components.DashboardCourses.emptyList":"Não tem inscrições nem pedidos.","components.DashboardCourses.loadMoreResults":"Carregar mais","components.DashboardCourses.loading":"Carregando pedidos e inscrições...","components.DashboardCreateAddressForm.header":"Criar novo endereço","components.DashboardCreateAddressForm.submit":"Criar","components.DashboardCreditCardBox.delete":"Eliminar","components.DashboardCreditCardBox.edit":"Editar","components.DashboardCreditCardBox.endsWith":"Termina com ••• {code}","components.DashboardCreditCardBox.expiration":"Expira em {month}/{year}","components.DashboardCreditCardBox.expired":"Expira em {month}/{year}","components.DashboardCreditCardBox.isMain":"Cartão de crédito predefinido","components.DashboardCreditCardBox.setMain":"Utilizar por predefinição","components.DashboardCreditCardsManagement.emptyList":"Ainda não criou nenhum cartão de crédito.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Não é possível promover o cartão de crédito principal.","components.DashboardCreditCardsManagement.header":"Cartões de crédito","components.DashboardEditAddressForm.header":"Atualizar endereço \"{title}\"","components.DashboardEditAddressForm.remove":"Remover","components.DashboardEditAddressForm.submit":"Salvar atualizações","components.DashboardEditCreditCard.delete":"Eliminar","components.DashboardEditCreditCard.expirationInputLabel":"Expiração","components.DashboardEditCreditCard.header":"Editar cartão de crédito","components.DashboardEditCreditCard.isMainInputLabel":"Usar este cartão de crédito como padrão","components.DashboardEditCreditCard.lastNumbersInputLabel":"Números","components.DashboardEditCreditCard.submit":"Salvar atualizações","components.DashboardEditCreditCard.titleInputLabel":"Nome do cartão de crédito","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"A assinatura está a demorar mais tempo do que o esperado... por favor tente mais tarde.","components.DashboardItem.Order.ContractFrame.errorPolling":"Ocorreu um erro ao verificar a assinatura. Por favor, volte mais tarde.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"Ocorreu um erro ao inicializar o processo de assinatura. Por favor, volte mais tarde.","components.DashboardItem.Order.ContractFrame.finishedButton":"Seguinte","components.DashboardItem.Order.ContractFrame.finishedCaption":"Parabéns!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"A carregar o contrato ...","components.DashboardItem.Order.ContractFrame.polling":"A verificar a assinatura ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"Estamos a aguardar a validação da assinatura por parte da nossa plataforma. Este processo pode demorar alguns minutos. Por favor, não feche esta página.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Cancelado","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pendente","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"A assinar","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pendente para assinatura do formando","components.DashboardItem.more_label":"Ver opções adicionais","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"A carregar edições dos cursos...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"As inscrições abrem a partir de {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"Não existem sessões disponíveis para este curso.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Tem a certeza que pretende alterar a sessão? A sua inscrição vai ser removida da sessão anterior!","components.DashboardItemEnrollment.enrollCourse":"Inscrever","components.DashboardItemEnrollment.enrollRun":"Inscrever","components.DashboardItemEnrollment.enrolled":"Inscrito","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Tem a certeza que deseja inscrever-se nesta sessão?","components.DashboardItemEnrollment.gotoCourse":"Acesso ao curso","components.DashboardItemEnrollment.notEnrolled":"Não está inscrito nesta edição do curso","components.DashboardItemEnrollment.statusNotActive":"Não inscrito","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"Ver Detalhes","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Ir para o programa de estudos","components.DashboardOpenEdxProfile.EditButtonLabel":"Editar o seu perfil","components.DashboardOpenEdxProfile.additionalInformationHeader":"Informações adicionais sobre a conta","components.DashboardOpenEdxProfile.baseInformationHeader":"Informações básicas sobre a conta","components.DashboardOpenEdxProfile.countryInputLabel":"País","components.DashboardOpenEdxProfile.emailInputDescription":"O e-mail utilizado na inscrição, as comunicações FUN-MOOC e leasons serão enviadas para este endereço","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Língua preferida","components.DashboardOpenEdxProfile.fullNameInputDescription":"O nome que aparece nos seus certificados e acordos de formação. Os outros formandos nunca vêem o seu nome completo","components.DashboardOpenEdxProfile.fullNameInputLabel":"Nome completo","components.DashboardOpenEdxProfile.genderInputLabel":"Género","components.DashboardOpenEdxProfile.header":"Perfil","components.DashboardOpenEdxProfile.languageInputDescription":"A língua utilizada no sítio Web. As línguas do sítio Web são limitadas.","components.DashboardOpenEdxProfile.languageInputLabel":"Língua","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Nível de educação","components.DashboardOpenEdxProfile.usernameInputDescription":"O teu nome no FUN-MOOC. Não pode alterar o seu nome de utilizador.","components.DashboardOpenEdxProfile.usernameInputLabel":"Nome de utilizador","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Ano de nascimento","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"A carregar o pedido...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"Esta página não está disponível para este pedido.","components.DesktopUserMenu.menuPurpose":"Acesso às suas configurações de perfil","components.DownloadCertificateButton.download":"Descarregar","components.DownloadCertificateButton.generatingCertificate":"O certificado está a ser gerado...","components.DownloadContractButton.contractDownloadActionLabel":"Descarregar","components.DownloadContractButton.contractDownloadError":"Ocorreu um erro ao descarregar o contrato de formação. Por favor, tente mais tarde.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Selecionar a edição de curso a partir de {start} {end, select, undefined {} other {até {end}}}.","components.EnrollableCourseRunList.enroll":"Inscrever","components.EnrollableCourseRunList.enrolling":"Inscrevendo...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Inscrições abertas a {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Nenhuma sessão disponível para este curso.","components.EnrollableCourseRunList.selectCourseRun":"Selecione uma edição do curso","components.EnrolledCourseRun.courseRunStartIn":"O curso inicia em {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Ir para o curso","components.EnrolledCourseRun.isEnroll":"Está inscrito","components.EnrolledCourseRun.unenroll":"Desinscrever","components.EnrolledCourseRun.unenrolling":"Desinscrevendo...","components.EnrollmentDate.enrollClosed":"Inscrição encerrada desde {date}","components.EnrollmentDate.enrollFrom":"Inscrito desde {date}","components.EnrollmentDate.enrollSince":"Inscrições abertas desde {date}","components.EnrollmentDate.enrollUntil":"Inscrito até {date}","components.Form.utils.errors.mixedInvalid":"Este campo é inválido.","components.Form.utils.errors.mixedOneOf":"É necessário selecionar um valor.","components.Form.utils.errors.mixedRequired":"Este campo é obrigatório.","components.Form.utils.errors.stringMax":"O comprimento máximo é de {max} {max, plural, one {carácter} other {carácteres}}.","components.Form.utils.errors.stringMin":"O comprimento mínimo é de {min} {min, plural, one {carácter} other {carácteres}}.","components.LanguageSelector.currentlySelected":"(selecionado)","components.LanguageSelector.languages":"Idiomas","components.LanguageSelector.selectLanguage":"Selecione um idioma:","components.LanguageSelector.switchToLanguage":"Mudar idioma para {language}","components.ListFilterOrganization.allOrganizationOption":"Todas as organizações","components.ListFilterOrganization.organizationFilterLabel":"Organização","components.Modal.closeDialog":"Fechar janela de diálogo","components.NavigationSelect.responsiveNavLabel":"Navegar para","components.NavigationSelect.settingsLinkLabel":"Definições","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"Ocorreu um erro ao atualizar o seu nome completo. Por favor, tente novamente mais tarde.","components.OpenEdxFullNameForm.fullNameInputDescription":"Verifique se o seu nome completo está correto. Este será utilizado num documento oficial (por exemplo, certificado)","components.OpenEdxFullNameForm.fullNameInputLabel":"Nome completo","components.OpenEdxFullNameForm.loadingLabel":"Carregando...","components.OpenEdxFullNameForm.submitButtonLabel":"Submeter","components.PaginateCourseSearch.currentlyReadingLastPageN":"A ler a última página {page}","components.PaginateCourseSearch.currentlyReadingPageN":"A ler a página {page}","components.PaginateCourseSearch.lastPageN":"Última página {page}","components.PaginateCourseSearch.nextPageN":"Página seguinte {page}","components.PaginateCourseSearch.pageN":"Página {page}","components.PaginateCourseSearch.pagination":"Paginação","components.PaginateCourseSearch.previousPageN":"Página anterior {page}","components.PaymentButton.errorAbort":"O pagamento foi cancelado.","components.PaymentButton.errorDefault":"Ocorreu um erro durante o pagamento. Por favor, tente novamente mais tarde.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"Pode adquirir um exame para este curso que confere certificado.","components.ProductCertificateFooter.downloadProductCertificateLabel":"Está disponível um certificado para transferência.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Termine este curso para obter o seu certificado.","components.RootSearchSuggestField.searchFieldPlaceholder":"Pesquisar cursos","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Criar","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Adicionar endereço","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Guardar","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Editar endereço","components.SaleTunnel.AddressSelector.create":"Criar","components.SaleTunnel.AddressSelector.edit":"Editar","components.SaleTunnel.AddressSelector.label":"Endereço de faturação","components.SaleTunnel.Certificate.ProductPath.title":"O seu percurso de aprendizagem","components.SaleTunnel.Credential.ProductPath.title":"O seu percurso de aprendizagem","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Alterar o cartão de crédito","components.SaleTunnel.CreditCardSelector.endsWith":"Termina com •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expira em {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expirado desde {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Seleccione o método de pagamento predefinido que pretende utilizar para esta encomenda e para os pagamentos seguintes.","components.SaleTunnel.CreditCardSelector.modalTitle":"Escolher o cartão de crédito","components.SaleTunnel.CreditCardSelector.modalValidate":"Validar","components.SaleTunnel.Information.description":"Essas informações serão utilizadas para faturação","components.SaleTunnel.Information.email.info":"Este correio electrónico será utilizado para lhe enviar mensagens de confirmação, pois foi com ele que criou a sua conta.","components.SaleTunnel.Information.email.label":"Correio eletrónico da conta","components.SaleTunnel.Information.fullNameLabel":"Nome completo","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Informações","components.SaleTunnel.Information.total.info":"O pagamento será efetuado através da plataforma segura do nosso fornecedor de serviços de pagamento.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Comprar {product}","components.SaleTunnel.loginToPurchase":"Faça entrar para comprar {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"A execução do curso não está ativa. Este produto não está atualmente disponível para venda.","components.SaleTunnel.noCourseRunToPurchaseCredential":"Pelo menos um curso não tem nenhuma edição. Este produto não está atualmente disponível para venda.","components.SaleTunnel.noRemainingOrder":"Não existem lugares disponíveis neste produto.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{count, plural, =0 {Sem edições de curso} one {Uma edição do curso} other {# edições do curso}} {count, plural, =0 {disponíveis} one {disponível} other {disponíveis}}","components.SaleTunnelStepValidation.courseRunDates":"De {start} {end, select, undefined {} other {até {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Língua:} other {Línguas:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"Não existem sessões disponíveis para este curso.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Ocorreu um erro! Não foi possível carregar os cursos.","components.Search.hideFiltersPane":"Ocultar painel de filtros","components.Search.resultsTitle":"Resultados da pesquisa","components.Search.showFiltersPane":"Mostrar painel de filtros","components.Search.spinnerText":"A carregar os resultados da pesquisa...","components.Search.textQueryLengthWarning":"A pesquisa de texto requer pelo menos 3 caracteres. { query } não é longo o suficiente para pesquisar. Os resultados da pesquisa não serão alterados por esta consulta.","components.SearchFilterGroupModal.closeModal":"Fechar modal","components.SearchFilterGroupModal.error":"Ocorreu um erro ao pesquisar por {filterName}.","components.SearchFilterGroupModal.inputLabel":"Pesquisar por filtros para adicionar","components.SearchFilterGroupModal.inputPlaceholder":"Pesquisar em { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Carregar mais resultados","components.SearchFilterGroupModal.loadingResults":"A carregar os resultados da pesquisa...","components.SearchFilterGroupModal.modalTitle":"Adicionar filtros para {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Mais opções","components.SearchFilterGroupModal.queryTooShort":"Digite pelo menos 3 caracteres para iniciar a pesquisa.","components.SearchFilterValueParent.ariaHideChildren":"Ocultar filtros adicionais para {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Mostrar mais filtros para {filterValueName}","components.SearchFiltersPane.clearFilters":"Limpar {activeFilterCount, number} {activeFilterCount, plural, one {filtro} other {filtros}} {activeFilterCount, plural, one {ativo} other {ativos}}","components.SearchFiltersPane.title":"Filtrar cursos","components.SearchInput.button":"Pesquisar","components.SearchSuggestField.searchFieldPlaceholder":"Pesquisar cursos, organizações, categorias","components.SignContractButton.contractDownloadActionLabel":"Descarregar","components.SignContractButton.contractDownloadError":"Ocorreu um erro ao descarregar o contrato de formação. Por favor, tente mais tarde.","components.SignContractButton.contractSignActionLabel":"Assinar","components.StudentDashboardSidebar.header":"Bem vindo {name}","components.StudentDashboardSidebar.subHeader":"Está no seu painel de controlo","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Arquivado","components.SyllabusAsideList.courseRunsTitle":"Edições do curso","components.SyllabusAsideList.noCourseRuns":"Sem edições disponíveis","components.SyllabusAsideList.noOtherCourseRuns":"Sem outras edições disponíveis","components.SyllabusAsideList.ongoing":"A decorrer","components.SyllabusAsideList.otherCourseRuns":"Outras edições do curso","components.SyllabusAsideList.toBeScheduled":"Por agendar","components.SyllabusAsideList.upcoming":"Brevemente","components.SyllabusCourseRun.course":"Curso","components.SyllabusCourseRun.coursePeriod":"De {startDate} {endDate, select, undefined {} other {até {endDate}}}","components.SyllabusCourseRun.enrollment":"Inscrição","components.SyllabusCourseRun.enrollmentPeriod":"De {startDate} {endDate, select, undefined {} other {até {endDate}}}","components.SyllabusCourseRun.languages":"Idiomas","components.SyllabusCourseRunCompacted.course":"Curso","components.SyllabusCourseRunCompacted.languages":"Idiomas","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Disponível até {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Disponível","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} edições estão abertas para este curso","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Selecionar agora","components.SyllabusCourseRunsList.noOpenedCourseRuns":"Sem edições disponíveis","components.SyllabusSimpleCourseRunsList.viewMore":"Ver Mais","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"Informações gerais","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Alunos","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"Informação Geral","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"Informação Geral","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contratos","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"Informações gerais","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Alunos","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Cursos","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"Todos os meus cursos","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Painel do professor","components.TeacherDashboardCourseList.emptyList":"Ainda não tem cursos.","components.TeacherDashboardCourseList.loadMore":"Carregar mais","components.TeacherDashboardCourseList.loading":"A carregar cursos...","components.TeacherDashboardCourseLoader.errorNoCourse":"Este curso não existe","components.TeacherDashboardCourseLoader.loading":"A carregar o curso...","components.TeacherDashboardCourseLoader.pageTitle":"Área do curso","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"A carregar o curso...","components.TeacherDashboardCourseSidebar.subHeader":"Está no painel de controlo do curso","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Ir para o programa de estudos","components.TeacherDashboardCoursesLoader.title.archived":"Arquivado","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Os seus cursos","components.TeacherDashboardCoursesLoader.title.incoming":"A receber","components.TeacherDashboardCoursesLoader.title.ongoing":"A decorrer","components.TeacherDashboardOrganizationCourseLoader.loading":"A carregar a organização ...","components.TeacherDashboardOrganizationCourseLoader.title":"Cursos de {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"A carregar a organização...","components.TeacherDashboardOrganizationSidebar.subHeader":"Está no painel da organização","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Hiperligação para a organização \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"As minhas universidades","components.TeacherDashboardProfileSidebar.subHeader":"Está no seu painel de controlo do professor","components.TeacherDashboardTraining.errorNoCourseProductRelation":"Este produto não existe","components.TeacherDashboardTrainingLoader.loading":"A carregar a formação...","components.TeacherDashboardTrainingLoader.pageTitle":"Área de formação","components.UserLogin.logIn":"Entrar","components.UserLogin.logOut":"Sair","components.UserLogin.signup":"Registar","components.UserLogin.spinnerText":"A carregar estado do login...","components.form.messages.formOptionalFieldsText":"Todos os campos são obrigatórios, exceto se estiverem assinalados como facultativos","components.form.messages.optionalFieldText":"(opcional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"Está inscrito para esta sessão.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"Está inscrito nesta sessão. Começa {relativeStartDate}, a {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"Esta sessão tem início {relativeStartDate}, a {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"Está inscrito para esta sessão. Está aberta a partir de {startDate} {endDate, select, undefined {} other {para {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"Esta sessão teve início em {startDate} {endDate, select, undefined {} other {e terminará em {endDate}}}","components.useStaticFilters.courses":"Cursos","hooks.useAddresses.errorCreate":"Ocorreu um erro ao criar o endereço. Por favor, tente mais tarde.","hooks.useAddresses.errorDelete":"Ocorreu um erro ao remover o endereço. Por favor, tente mais tarde.","hooks.useAddresses.errorNotFound":"Não foi possível encontrar o endereço","hooks.useAddresses.errorSelect":"Ocorreu um erro na recolha de endereços. Por favor, tente mais tarde.","hooks.useAddresses.errorUpdate":"Ocorreu um erro ao atualizar o endereço. Por favor, tente mais tarde.","hooks.useAddressesManagement.actionUpdate":"atualização","hooks.useAddressesManagement.deletionConfirmation":"Tem a certeza que quer remover o endereço \"{title}\"? ⚠️ Esta ação não pode ser desfeita.","hooks.useAddressesManagement.errorCannotPromoteMain":"Impossível promover o endereço principal.","hooks.useAddressesManagement.errorCannotRemoveMain":"Impossível remover o endereço principal.","hooks.useCertificates.errorGet":"Ocorreu um erro ao ir buscar certificados. Por favor, tente novamente mais tarde.","hooks.useCertificates.errorNotFound":"Não é possível encontrar o certificado","hooks.useContracts.errorNotFound":"Não foi possível encontrar o contrato","hooks.useContracts.errorSelect":"Ocorreu um erro durante o carregamento dos contratos. Por favor, tente novamente mais tarde.","hooks.useCourseOrders.errorNotFound":"Não é possível encontrar encomendas","hooks.useCourseOrders.errorSelect":"Ocorreu um erro durante a pesquisa de encomendas. Por favor, tente novamente mais tarde.","hooks.useCourseProductRelations.errorGet":"Ocorreu um erro durante o carregamento das formações. Por favor, tente mais tarde.","hooks.useCourseProductRelations.errorNotFound":"Não foi possível encontrar a formação.","hooks.useCourseProductUnion.errorGet":"Ocorreu um erro durante o processamento de formações. Por favor, tente mais tarde.","hooks.useCourseProducts.errorGet":"Ocorreu um erro durante o carregamento do produto. Por favor, tente mais tarde.","hooks.useCourseProducts.errorNotFound":"Não foi possível encontrar o produto.","hooks.useCourseRuns.errorGet":"Ocorreu um erro ao carregar as edições do curso. Por favor, tente mais tarde.","hooks.useCourseRuns.errorNotFound":"Não foi possível encontrar a edição do curso.","hooks.useCourses.errorNotFound":"Não foi possível encontrar o curso.","hooks.useCourses.errorSelect":"Ocorreu um erro durante a transferência do curso. Por favor, tente novamente mais tarde.","hooks.useCreditCards.errorDelete":"Ocorreu um erro na remoção de cartões de crédito. Por favor, tente mais tarde.","hooks.useCreditCards.errorNotFound":"Não foi possível encontrar o cartão de crédito","hooks.useCreditCards.errorSelect":"Ocorreu um erro na recolha de cartões de crédito. Por favor, tente mais tarde.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"Ocorreu um erro ao atualizar o cartão de crédito. Por favor, tente mais tarde.","hooks.useCreditCardsManagement.deletionConfirmation":"Tem a certeza que pretende remover o cartão de crédito? ⚠️ Esta ação não pode ser desfeita.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Não é possível remover o cartão de crédito principal.","hooks.useDashboardAddressForm.isMainInputLabel":"Usar este endereço como padrão","hooks.useEnrollments.errorCreate":"Ocorreu um erro durante o processamento da inscrição. Por favor, tente mais tarde.","hooks.useEnrollments.errorDelete":"Ocorreu um erro durante a remoção da inscrição. Por favor, tente mais tarde.","hooks.useEnrollments.errorNotFound":"Não foi possível encontrar a inscrição","hooks.useEnrollments.errorSelect":"Ocorreu um erro durante a recolha das inscrições. Por favor, tente mais tarde.","hooks.useEnrollments.errorUpdate":"Ocorreu um erro durante a atualização das inscrições. Por favor, tente mais tarde.","hooks.useJoanieUserProfile.errorGet":"Ocorreu um erro durante o processamento do perfil do utilizador. Por favor, tente mais tarde.","hooks.useJoanieUserProfile.errorNotFound":"Não tem sessão iniciada.","hooks.useOpenEdxProfile.errorGet":"Ocorreu um erro ao procurar o seu perfil. Por favor, tente novamente mais tarde.","hooks.useOpenEdxProfile.errorUpdate":"Ocorreu um erro ao atualizar o seu nome completo. Por favor, tente novamente mais tarde.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"Ocorreu um erro durante o processamento das encomendas. Por favor, tente mais tarde.","hooks.useOrders.errorNotFound":"Não foi possível encontrar encomendas.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"Ocorreu um erro durante a obtenção das inscrições. Por favor, tente mais tarde.","hooks.useOrganizations.errorNotFound":"Não foi possível encontrar a organização","hooks.useOrganizations.errorSelect":"Ocorreu um erro durante a busca de organizações. Por favor, tente novamente mais tarde.","hooks.useResources.errorCreate":"Ocorreu um erro ao criar um recurso. Por favor, tente mais tarde.","hooks.useResources.errorDelete":"Ocorreu um erro ao remover um recurso. Por favor, tente mais tarde.","hooks.useResources.errorGet":"Ocorreu um erro na recolha de recursos. Por favor, tente mais tarde.","hooks.useResources.errorNotFound":"Recurso não encontrado.","hooks.useResources.errorUpdate":"Ocorreu um erro ao atualizar um recurso. Por favor, tente mais tarde.","hooks.useUnionResource.errorGet":"Ocorreu um erro durante o processamento de informação. Por favor, tente mais tarde.","hooks.useWishlist.errorCreate":"Ocorreu um erro ao adicionar este curso à sua lista de desejos. Por favor, tente novamente mais tarde.","hooks.useWishlist.errorDelete":"Ocorreu um erro ao remover este curso da sua lista de desejos. Por favor, tente mais tarde.","hooks.useWishlist.errorGet":"Ocorreu um erro ao ir buscar a lista de desejos. Por favor, tente novamente mais tarde.","hooks.useWishlist.errorNotFound":"Não é possível encontrar a lista de desejos.","openEdxProfile.gender.female":"Feminino","openEdxProfile.gender.male":"Masculino","openEdxProfile.gender.other":"Outros","openEdxProfile.levelOfEducation.associateDegree":"Licenciatura","openEdxProfile.levelOfEducation.bachelorDegree":"Bacharelato","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Escola primária elementar","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Ensino secundário ou médio","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Mestre","openEdxProfile.levelOfEducation.none":"Nenhum","openEdxProfile.levelOfEducation.other":"Outros","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Escola secundária ou liceu","page.PageNotFound.pageNotFoundHomeLink":"Voltar à página inicial","page.PageNotFound.pageNotFoundSubTitle":"O conteúdo solicitado não existe.","page.PageNotFound.pageNotFoundTitle":"Página não encontrada","pages.CourseLearnerDataGrid.columnActions":"Ações","pages.CourseLearnerDataGrid.columnLearnerName":"Formando","pages.CourseLearnerDataGrid.columnPurchaseDate":"Inscrito em","pages.CourseLearnerDataGrid.columnState":"Estado","pages.CourseLearnerDataGrid.contactButton":"Contacto","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Descarregar o arquivo de contratos","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"A gerar arquivo de contratos...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Solicitar arquivo de contratos","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Estado da assinatura","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organização","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contratos","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Alunos","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {aluno está inscrito} other {alunos estão inscritos}} nesta formação","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Estudante","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Formação","pages.TeacherDashboardOrganizationContractsLayout.columnState":"Estado","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contratos","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Assinar todos os contratos pendentes ({ count })","utils.ContractHelper.learnerHalfSigned":"A aguardar a assinatura da organização","utils.ContractHelper.learnerSigned":"Assinado","utils.ContractHelper.learnerUnsigned":"A aguardar assinatura","utils.ContractHelper.organizationHalfSigned":"A aguardar assinatura","utils.ContractHelper.organizationSigned":"Assinado","utils.ContractHelper.organizationUnsigned":"A aguardar assinatura do estudante","utils.joinAnd.and":"e"} \ No newline at end of file diff --git a/src/frontend/js/translations/ru-RU.json b/src/frontend/js/translations/ru-RU.json index 9478e39235..3c98911d24 100644 --- a/src/frontend/js/translations/ru-RU.json +++ b/src/frontend/js/translations/ru-RU.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"повышение","components.AddressesManagement.addAddress":"Добавить новый адрес","components.AddressesManagement.addressInput":"Адрес","components.AddressesManagement.cancelButton":"Отменить","components.AddressesManagement.cancelTitleButton":"Отменить редактирование","components.AddressesManagement.cityInput":"Город","components.AddressesManagement.closeButton":"Назад","components.AddressesManagement.countryInput":"Страна","components.AddressesManagement.deleteButton":"Удалить","components.AddressesManagement.deleteButtonLabel":"Удалить \"{title}\" адрес","components.AddressesManagement.editAddress":"Обновить адрес {title}","components.AddressesManagement.editButton":"Изменить","components.AddressesManagement.editButtonLabel":"Изменить \"{title}\" адрес","components.AddressesManagement.first_nameInput":"Имя получателя","components.AddressesManagement.last_nameInput":"Фамилия получателя","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Индекс","components.AddressesManagement.promoteButtonLabel":"Определить \"{title}\" адрес как основной","components.AddressesManagement.registeredAddresses":"Ваши адреса","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Сохранить этот адрес","components.AddressesManagement.selectButton":"Использовать этот адрес","components.AddressesManagement.selectButtonLabel":"Выберите \"{title}\" адрес","components.AddressesManagement.titleInput":"Название адреса","components.AddressesManagement.updateButton":"Обновить этот адрес","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Категория","components.CourseGlimpse.codeIconAlt":"Код курса","components.CourseGlimpse.cover":"Обложка","components.CourseGlimpse.organizationIconAlt":"Организация","components.CourseGlimpseFooter.dateIconAlt":"Дата курса","components.CourseGlimpseList.courseCount":"Показано от {start, number} до {end, number} на {courseCount, number} {courseCount, plural, one {курсе} few {курсах} many {курсах} other {курсах}} в соответствии с вашим поиском","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {курс} few {курса} many {курсов} other {курсов}} соответствуют вашему запросу","components.CourseProductCertificateItem.certificateExplanation":"После прохождения всех этапов курса вы сможете загрузить свой сертификат.","components.CourseProductCertificateItem.congratulations":"Поздравляем, вы прошли этот курс!","components.CourseProductCertificateItem.download":"Скачать","components.CourseProductCertificateItem.generatingCertificate":"Сертификат создается...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"Окончание","components.CourseProductsList.start":"Начало","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Записаться сейчас","components.CourseRunEnrollment.enrolled":"Вы зачислены на этот курс","components.CourseRunEnrollment.enrollmentClosed":"Регистрация на курс в данный момент закрыта","components.CourseRunEnrollment.enrollmentFailed":"Не удалось выполнить запрос на зачисление.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Перейти к курсу","components.CourseRunEnrollment.loadingInitial":"Загрузка информации о зачислении...","components.CourseRunEnrollment.loginToEnroll":"Войти для записи","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"Нет доступных сессий для этого курса.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Доступ к настройкам вашего профиля","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Присоединиться","components.EnrollableCourseRunList.enrolling":"Зачисление...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Зачисление будет открыто {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Нет доступных сессий для этого курса.","components.EnrollableCourseRunList.selectCourseRun":"Выберите этап курса","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Перейти к курсу","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(сейчас выбрано)","components.LanguageSelector.languages":"Языки","components.LanguageSelector.selectLanguage":"Выберите язык:","components.LanguageSelector.switchToLanguage":"Переключиться на {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"В настоящее время чтение последней страницы {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Сейчас чтение страницы {page}","components.PaginateCourseSearch.lastPageN":"Последняя страница {page}","components.PaginateCourseSearch.nextPageN":"Следующая страница {page}","components.PaginateCourseSearch.pageN":"Страница {page}","components.PaginateCourseSearch.pagination":"Постраничная навигация","components.PaginateCourseSearch.previousPageN":"Предыдущая страница {page}","components.PaymentButton.errorAbort":"Вы прервали оплату.","components.PaymentButton.errorDefault":"Произошла ошибка во время оплаты. Пожалуйста, повторите попытку позже.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Поиск курсов","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Нет этапов курса} one {# этап курса} few {# этапа курса} many {# этапов курса} other {# этапов курса} }","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Что-то не так! Курсы не могут быть загружены.","components.Search.hideFiltersPane":"Скрыть панель фильтров","components.Search.resultsTitle":"Результаты поиска","components.Search.showFiltersPane":"Показать панель фильтров","components.Search.spinnerText":"Загрузка результатов поиска...","components.Search.textQueryLengthWarning":"Текстовый поиск требует не менее 3 символов. { query } не достаточно длинный, чтобы искать. Этот запрос не повлияет на результаты поиска.","components.SearchFilterGroupModal.closeModal":"Закрыть модальное окно","components.SearchFilterGroupModal.error":"Произошла ошибка при поиске {filterName}.","components.SearchFilterGroupModal.inputLabel":"Поиск фильтров для добавления","components.SearchFilterGroupModal.inputPlaceholder":"Искать в { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Загрузить больше результатов","components.SearchFilterGroupModal.loadingResults":"Загрузка результатов поиска...","components.SearchFilterGroupModal.modalTitle":"Добавить фильтры для {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Ещё опции","components.SearchFilterGroupModal.queryTooShort":"Введите минимум 3 символа, чтобы начать поиск.","components.SearchFilterValueParent.ariaHideChildren":"Скрыть дополнительные фильтры для {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Показать больше фильтров для {filterValueName}","components.SearchFiltersPane.clearFilters":"Очистите {activeFilterCount, number} {activeFilterCount, plural, one {активный фильтр} few {активных фильтра} many {активных фильтров} other {активных фильтров}}","components.SearchFiltersPane.title":"Фильтровать курсы","components.SearchInput.button":"Поиск","components.SearchSuggestField.searchFieldPlaceholder":"Поиск курсов, организаций, категорий","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Вход","components.UserLogin.logOut":"Выход","components.UserLogin.signup":"Зарегистрироваться","components.UserLogin.spinnerText":"Загрузка статуса входа...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Курсы","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"повышение","components.AddressesManagement.addAddress":"Добавить новый адрес","components.AddressesManagement.addressInput":"Адрес","components.AddressesManagement.cancelButton":"Отменить","components.AddressesManagement.cancelTitleButton":"Отменить редактирование","components.AddressesManagement.cityInput":"Город","components.AddressesManagement.closeButton":"Назад","components.AddressesManagement.countryInput":"Страна","components.AddressesManagement.deleteButton":"Удалить","components.AddressesManagement.deleteButtonLabel":"Удалить \"{title}\" адрес","components.AddressesManagement.editAddress":"Обновить адрес {title}","components.AddressesManagement.editButton":"Изменить","components.AddressesManagement.editButtonLabel":"Изменить \"{title}\" адрес","components.AddressesManagement.first_nameInput":"Имя получателя","components.AddressesManagement.last_nameInput":"Фамилия получателя","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Индекс","components.AddressesManagement.promoteButtonLabel":"Определить \"{title}\" адрес как основной","components.AddressesManagement.registeredAddresses":"Ваши адреса","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Сохранить этот адрес","components.AddressesManagement.selectButton":"Использовать этот адрес","components.AddressesManagement.selectButtonLabel":"Выберите \"{title}\" адрес","components.AddressesManagement.titleInput":"Название адреса","components.AddressesManagement.updateButton":"Обновить этот адрес","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Категория","components.CourseGlimpse.codeIconAlt":"Код курса","components.CourseGlimpse.cover":"Обложка","components.CourseGlimpse.organizationIconAlt":"Организация","components.CourseGlimpseFooter.dateIconAlt":"Дата курса","components.CourseGlimpseList.courseCount":"Показано от {start, number} до {end, number} на {courseCount, number} {courseCount, plural, one {курсе} few {курсах} many {курсах} other {курсах}} в соответствии с вашим поиском","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {курс} few {курса} many {курсов} other {курсов}} соответствуют вашему запросу","components.CourseProductCertificateItem.certificateExplanation":"После прохождения всех этапов курса вы сможете загрузить свой сертификат.","components.CourseProductCertificateItem.congratulations":"Поздравляем, вы прошли этот курс!","components.CourseProductCertificateItem.download":"Скачать","components.CourseProductCertificateItem.generatingCertificate":"Сертификат создается...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"Окончание","components.CourseProductsList.start":"Начало","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Записаться сейчас","components.CourseRunEnrollment.enrolled":"Вы зачислены на этот курс","components.CourseRunEnrollment.enrollmentClosed":"Регистрация на курс в данный момент закрыта","components.CourseRunEnrollment.enrollmentFailed":"Не удалось выполнить запрос на зачисление.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Перейти к курсу","components.CourseRunEnrollment.loadingInitial":"Загрузка информации о зачислении...","components.CourseRunEnrollment.loginToEnroll":"Войти для записи","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"Нет доступных сессий для этого курса.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Доступ к настройкам вашего профиля","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Присоединиться","components.EnrollableCourseRunList.enrolling":"Зачисление...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Зачисление будет открыто {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"Нет доступных сессий для этого курса.","components.EnrollableCourseRunList.selectCourseRun":"Выберите этап курса","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Перейти к курсу","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(сейчас выбрано)","components.LanguageSelector.languages":"Языки","components.LanguageSelector.selectLanguage":"Выберите язык:","components.LanguageSelector.switchToLanguage":"Переключиться на {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"В настоящее время чтение последней страницы {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Сейчас чтение страницы {page}","components.PaginateCourseSearch.lastPageN":"Последняя страница {page}","components.PaginateCourseSearch.nextPageN":"Следующая страница {page}","components.PaginateCourseSearch.pageN":"Страница {page}","components.PaginateCourseSearch.pagination":"Постраничная навигация","components.PaginateCourseSearch.previousPageN":"Предыдущая страница {page}","components.PaymentButton.errorAbort":"Вы прервали оплату.","components.PaymentButton.errorDefault":"Произошла ошибка во время оплаты. Пожалуйста, повторите попытку позже.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Поиск курсов","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {Нет этапов курса} one {# этап курса} few {# этапа курса} many {# этапов курса} other {# этапов курса} }","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Что-то не так! Курсы не могут быть загружены.","components.Search.hideFiltersPane":"Скрыть панель фильтров","components.Search.resultsTitle":"Результаты поиска","components.Search.showFiltersPane":"Показать панель фильтров","components.Search.spinnerText":"Загрузка результатов поиска...","components.Search.textQueryLengthWarning":"Текстовый поиск требует не менее 3 символов. { query } не достаточно длинный, чтобы искать. Этот запрос не повлияет на результаты поиска.","components.SearchFilterGroupModal.closeModal":"Закрыть модальное окно","components.SearchFilterGroupModal.error":"Произошла ошибка при поиске {filterName}.","components.SearchFilterGroupModal.inputLabel":"Поиск фильтров для добавления","components.SearchFilterGroupModal.inputPlaceholder":"Искать в { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Загрузить больше результатов","components.SearchFilterGroupModal.loadingResults":"Загрузка результатов поиска...","components.SearchFilterGroupModal.modalTitle":"Добавить фильтры для {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"Ещё опции","components.SearchFilterGroupModal.queryTooShort":"Введите минимум 3 символа, чтобы начать поиск.","components.SearchFilterValueParent.ariaHideChildren":"Скрыть дополнительные фильтры для {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Показать больше фильтров для {filterValueName}","components.SearchFiltersPane.clearFilters":"Очистите {activeFilterCount, number} {activeFilterCount, plural, one {активный фильтр} few {активных фильтра} many {активных фильтров} other {активных фильтров}}","components.SearchFiltersPane.title":"Фильтровать курсы","components.SearchInput.button":"Поиск","components.SearchSuggestField.searchFieldPlaceholder":"Поиск курсов, организаций, категорий","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Вход","components.UserLogin.logOut":"Выход","components.UserLogin.signup":"Зарегистрироваться","components.UserLogin.spinnerText":"Загрузка статуса входа...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Курсы","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/js/translations/vi-VN.json b/src/frontend/js/translations/vi-VN.json index 56560b0e4d..286e129979 100644 --- a/src/frontend/js/translations/vi-VN.json +++ b/src/frontend/js/translations/vi-VN.json @@ -1 +1 @@ -{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to access your training.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Repayment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.contactButton":"Contact","components.DashboardItemOrder.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.organizationHeader":"This training is provided by","components.DashboardItemOrder.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.organizationMailContactLabel":"Email","components.DashboardItemOrder.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.paymentButton":"Manage payment","components.DashboardItemOrder.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.paymentTitle":"Payment","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.trainingContractTitle":"Training contract","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.signLink":"sign your contract","components.DashboardOrderLoader.signatureNeeded":"You need to {signLink} before enrolling in a course run","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file +{"16uca+":"Sub \"{value}\"","9vqPaF":"Root","Dashboard.components.SearchBar.clearSearchButtonLabel":"clear current research","Dashboard.components.SearchBar.searchButtonLabel":"Search","Dashboard.components.SearchBar.searchPlaceholder":"Search","Dashboard.components.SearchResultsCount.searchCountText":"{nbResults} {nbResults, plural, one {result} other {results}} matching your search","components.AddressesManagement.actionPromotion":"promotion","components.AddressesManagement.addAddress":"Add a new address","components.AddressesManagement.addressInput":"Address","components.AddressesManagement.cancelButton":"Cancel","components.AddressesManagement.cancelTitleButton":"Cancel edition","components.AddressesManagement.cityInput":"City","components.AddressesManagement.closeButton":"Go back","components.AddressesManagement.countryInput":"Country","components.AddressesManagement.deleteButton":"Delete","components.AddressesManagement.deleteButtonLabel":"Delete \"{title}\" address","components.AddressesManagement.editAddress":"Update address {title}","components.AddressesManagement.editButton":"Edit","components.AddressesManagement.editButtonLabel":"Edit \"{title}\" address","components.AddressesManagement.first_nameInput":"Recipient's first name","components.AddressesManagement.last_nameInput":"Recipient's last name","components.AddressesManagement.optionalFieldText":"(optional)","components.AddressesManagement.postcodeInput":"Postcode","components.AddressesManagement.promoteButtonLabel":"Define \"{title}\" address as main","components.AddressesManagement.registeredAddresses":"Your addresses","components.AddressesManagement.requiredFields":"Fields marked with {symbol} are required","components.AddressesManagement.saveInput":"Save this address","components.AddressesManagement.selectButton":"Use this address","components.AddressesManagement.selectButtonLabel":"Select \"{title}\" address","components.AddressesManagement.titleInput":"Address title","components.AddressesManagement.updateButton":"Update this address","components.ContractStatus.learnerSignedOn":"You signed this training contract. Signed on {date}","components.ContractStatus.organizationSignedOn":"The organization has signed this training contract. Signed on {date}","components.ContractStatus.waitingOrganization":"You cannot download your training contract until it had been signed by the organization.","components.ContractStatus.waitingSignature":"You have to sign this training contract to finalize your subscription.","components.CountrySelectField.label":"Country","components.CourseAddToWishlist.labelAdd":"Notify me","components.CourseAddToWishlist.labelRemove":"Do not notify me anymore","components.CourseAddToWishlist.loading":"Loading your wishlist...","components.CourseAddToWishlist.logMe":"Log in to be notified","components.CourseGlimpse.categoryLabel":"Category","components.CourseGlimpse.codeIconAlt":"Course code","components.CourseGlimpse.cover":"Cover","components.CourseGlimpse.organizationIconAlt":"Organization","components.CourseGlimpseFooter.dateIconAlt":"Course date","components.CourseGlimpseList.courseCount":"Showing {start, number} to {end, number} of {courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseGlimpseList.offscreenCourseCount":"{courseCount, number} {courseCount, plural, one {course} other {courses}} matching your search","components.CourseProductCertificateItem.certificateExplanation":"You will be able to download your certificate once you will pass all course runs.","components.CourseProductCertificateItem.congratulations":"Congratulations, you passed this course!","components.CourseProductCertificateItem.download":"Download","components.CourseProductCertificateItem.generatingCertificate":"Certificate is being generated...","components.CourseProductItem.availableIn":"Available in {languages}","components.CourseProductItem.fromTo":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseProductItem.loadingInitial":"Loading product information...","components.CourseProductItem.nbSeatsAvailable":"{ nb, plural, =0 {No remaining seat} one {Last remaining seat!} other {# remaining seats} }","components.CourseProductItem.noSeatsAvailable":"Sorry, no seats available for now","components.CourseProductItem.purchased":"Purchased","components.CourseProductsList.end":"End","components.CourseProductsList.start":"Start","components.CourseRunEnrollment.courseRunStartIn":"The course starts {relativeStartDate}","components.CourseRunEnrollment.enroll":"Enroll now","components.CourseRunEnrollment.enrolled":"You are enrolled in this course run","components.CourseRunEnrollment.enrollmentClosed":"Enrollment in this course run is closed at the moment","components.CourseRunEnrollment.enrollmentFailed":"Your enrollment request failed.","components.CourseRunEnrollment.getEnrollmentFailed":"Enrollment fetching failed","components.CourseRunEnrollment.goToCourse":"Go to course","components.CourseRunEnrollment.loadingInitial":"Loading enrollment information...","components.CourseRunEnrollment.loginToEnroll":"Log in to enroll","components.CourseRunEnrollment.unenroll":"Unenroll from this course","components.CourseRunEnrollment.unenrollmentFailed":"Your unenrollment request failed.","components.CourseRunItem.courseRunTitleWithDates":"{title}, from {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItem.courseRunWithDates":"From {start} {end, select, undefined {} other {to {end}}}","components.CourseRunItemWithEnrollment.enrolled":"Enrolled","components.CourseRunItemWithEnrollment.enrolledAriaLabel":"You are enrolled in this course run","components.CourseRunItemWithEnrollment.goToCourse":"Go to course","components.CourseRunList.dataCourseRunLink":"Go to course area","components.CourseRunList.dataCourseRunPeriod":"From {from} {to, select, undefined {} other {to {to}}}","components.CourseRunList.noCourseRunAvailable":"No session available for this course.","components.CourseRunUnenrollmentButton.unenroll":"Unenroll from this course","components.Dashboard.DashboardRoutes.certificates.enrollment.label":"My attestations of achievement","components.Dashboard.DashboardRoutes.certificates.label":"My certificates","components.Dashboard.DashboardRoutes.certificates.order.label":"My certificates","components.Dashboard.DashboardRoutes.contracts.label":"My training contracts","components.Dashboard.DashboardRoutes.course.session.label":"Course","components.Dashboard.DashboardRoutes.courses.label":"My courses","components.Dashboard.DashboardRoutes.order.label":"{orderTitle}","components.Dashboard.DashboardRoutes.order.runs.label":"General information","components.Dashboard.DashboardRoutes.preferences.addresses.creation.label":"Create address","components.Dashboard.DashboardRoutes.preferences.addresses.edition.label":"Edit address \"{addressTitle}\"","components.Dashboard.DashboardRoutes.preferences.creditCards.label":"Edit credit card \"{creditCardTitle}\"","components.Dashboard.DashboardRoutes.preferences.label":"My preferences","components.Dashboard.Signature.SignatureDummy.button":"Sign","components.Dashboard.Signature.SignatureDummy.signing":"Signing the contract ...","components.Dashboard.Signature.SignatureLexPersona.error":"An error happened while signing the contract. Please try again later.","components.Dashboard.Signature.SignatureLexPersona.errorStatus":"An error happened while signing the contract with the following status: {status}. Please refresh to try again.","components.DashboardAddressBox.delete":"Delete","components.DashboardAddressBox.edit":"Edit","components.DashboardAddressBox.isMain":"Default address","components.DashboardAddressBox.setMain":"Use by default","components.DashboardAddressesManagement.add":"Add a new address","components.DashboardAddressesManagement.emptyList":"You haven't created any addresses yet.","components.DashboardAddressesManagement.error":"An error occurred. Please retry later.","components.DashboardAddressesManagement.header":"Billing addresses","components.DashboardBreadcrumbs.back":"Back","components.DashboardCertificate.issuedOn":"Issued on {date}","components.DashboardCertificate.noCertificateCertificate":"When you pass your exam, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateCredential":"When all your courses have been passed, you will be able to download your certificate here.","components.DashboardCertificate.noCertificateUnknown":"When all requirements are met, you will be able to download your certificate here.","components.DashboardCertificates.empty":"You have no certificates yet.","components.DashboardCertificates.enrollmentCertificateTabLabel":"Attestations of achievement","components.DashboardCertificates.loading":"Loading certificates...","components.DashboardCertificates.orderCertificateTabLabel":"Certificates","components.DashboardContracts.empty":"You have no training contract yet.","components.DashboardContracts.loading":"Loading training contracts...","components.DashboardCourses.emptyList":"You have no enrollments nor orders yet.","components.DashboardCourses.loadMoreResults":"Load more","components.DashboardCourses.loading":"Loading orders and enrollments...","components.DashboardCreateAddressForm.header":"Create an address","components.DashboardCreateAddressForm.submit":"Create","components.DashboardCreditCardBox.delete":"Delete","components.DashboardCreditCardBox.edit":"Edit","components.DashboardCreditCardBox.endsWith":"Ends with •••• {code}","components.DashboardCreditCardBox.expiration":"Expires on {month}/{year}","components.DashboardCreditCardBox.expired":"Expired since {month}/{year}","components.DashboardCreditCardBox.isMain":"Default credit card","components.DashboardCreditCardBox.setMain":"Use by default","components.DashboardCreditCardsManagement.emptyList":"You haven't created any credit cards yet.","components.DashboardCreditCardsManagement.errorCannotPromoteMain":"Cannot promote main credit card.","components.DashboardCreditCardsManagement.header":"Credit cards","components.DashboardEditAddressForm.header":"Edit address \"{title}\"","components.DashboardEditAddressForm.remove":"Remove","components.DashboardEditAddressForm.submit":"Save updates","components.DashboardEditCreditCard.delete":"Delete","components.DashboardEditCreditCard.expirationInputLabel":"Expiration","components.DashboardEditCreditCard.header":"Edit credit card","components.DashboardEditCreditCard.isMainInputLabel":"Use this credit card as default","components.DashboardEditCreditCard.lastNumbersInputLabel":"Numbers","components.DashboardEditCreditCard.submit":"Save updates","components.DashboardEditCreditCard.titleInputLabel":"Name of the credit card","components.DashboardItem.Order.ContractFrame.errorMaxPolling":"The signature is taking more time than expected ... please come back later.","components.DashboardItem.Order.ContractFrame.errorPolling":"An error happened while verifying signature. Please come back later.","components.DashboardItem.Order.ContractFrame.errorSubmitForSignature":"An error happened while initializing the signature process. Please retry later.","components.DashboardItem.Order.ContractFrame.finishedButton":"Next","components.DashboardItem.Order.ContractFrame.finishedCaption":"Congratulations!","components.DashboardItem.Order.ContractFrame.finishedDescription":"You will receive an email once your contract will be fully signed. You can now finalize your subscription.","components.DashboardItem.Order.ContractFrame.loadingContract":"Loading your contract ...","components.DashboardItem.Order.ContractFrame.polling":"Verifying signature ...","components.DashboardItem.Order.ContractFrame.pollingDescription":"We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page.","components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed":"Successfully completed","components.DashboardItem.Order.OrderStateLearnerMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature":"On going","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature":"Signature required","components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled":"Canceled","components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft":"Pending","components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment":"Last direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment":"First direct debit has failed","components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed":"Certified","components.DashboardItem.Order.OrderStateTeacherMessage.statusPending":"Pending for the first direct debit","components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment":"On going","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature":"To be signed","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod":"Payment method is missing","components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature":"Pending for learner's signature","components.DashboardItem.more_label":"See additional options","components.DashboardItemCourseEnrollingRun.cannotEnroll":"You cannot enroll yet to this training.","components.DashboardItemCourseEnrollingRun.courseRunsLoading":"Loading course runs...","components.DashboardItemCourseEnrollingRun.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.DashboardItemCourseEnrollingRun.noCourseRunAvailable":"No session available for this course.","components.DashboardItemEnrollment.changeEnrollCourseConfirmation":"Are you sure you want to change your session? You will be unrolled from the other session!","components.DashboardItemEnrollment.enrollCourse":"Enroll","components.DashboardItemEnrollment.enrollRun":"Enroll","components.DashboardItemEnrollment.enrolled":"Enrolled","components.DashboardItemEnrollment.firstEnrollCourseConfirmation":"Are you sure that you want to enroll in this session?","components.DashboardItemEnrollment.gotoCourse":"Access to course","components.DashboardItemEnrollment.notEnrolled":"You are not enrolled in this course","components.DashboardItemEnrollment.statusNotActive":"Not enrolled","components.DashboardItemEnrollment.syllabusLinkLabel":"Go to syllabus","components.DashboardItemOrder.CertificateItem.loadingCertificate":"Loading certificate...","components.DashboardItemOrder.ContractItem.trainingContractTitle":"Training contract","components.DashboardItemOrder.Installment.defineButton":"Define","components.DashboardItemOrder.Installment.paymentButton":"Manage payment","components.DashboardItemOrder.Installment.paymentInactiveDescription":"You will able to manage your payment installment here once your subscription is finalized.","components.DashboardItemOrder.Installment.paymentLabel":"You can see and manage all installments.","components.DashboardItemOrder.Installment.paymentMethodMissingMessage":"To finalize your subscription, you must define a payment method.","components.DashboardItemOrder.Installment.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.Installment.paymentNeededMessage":"A payment failed, please update your payment method","components.DashboardItemOrder.Installment.paymentTitle":"Payment","components.DashboardItemOrder.OrderPaymentRetryModal.description":"The payment failed, please choose another payment method or add a new one during the payment","components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling":"Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later.","components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment":"Failed to submit installment payment, please retry later.","components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress":"Payment in progress","components.DashboardItemOrder.OrderPaymentRetryModal.submit":"Pay {amount}","components.DashboardItemOrder.OrderPaymentRetryModal.successDescription":"The payment was successful","components.DashboardItemOrder.OrderPaymentRetryModal.successTitle":"Payment successful","components.DashboardItemOrder.OrderPaymentRetryModal.title":"Retry payment","components.DashboardItemOrder.OrganizationBlock.contactButton":"Contact","components.DashboardItemOrder.OrganizationBlock.contactDescription":"Your training reference is {name} - {email}.","components.DashboardItemOrder.OrganizationBlock.organizationDpoContactLabel":"Data protection email","components.DashboardItemOrder.OrganizationBlock.organizationHeader":"This training is provided by","components.DashboardItemOrder.OrganizationBlock.organizationLogoAlt":"Logo of the organization","components.DashboardItemOrder.OrganizationBlock.organizationMailContactLabel":"Email","components.DashboardItemOrder.OrganizationBlock.organizationPhoneContactLabel":"Phone","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleAddress":"Address","components.DashboardItemOrder.OrganizationBlock.organizationSubtitleContacts":"Contacts","components.DashboardItemOrder.PaymentModal.paymentMethodTitle":"Payment method","components.DashboardItemOrder.PaymentModal.scheduleTitle":"Payment schedule","components.DashboardItemOrder.PaymentModal.title":"Payment details","components.DashboardItemOrder.gotoCourse":"View details","components.DashboardItemOrder.missingPaymentMethodCTA":"Define","components.DashboardItemOrder.missingPaymentMethodDescription":"You must define a payment method to finalize your subscription.","components.DashboardItemOrder.missingPaymentMethodTitle":"A payment method is missing","components.DashboardItemOrder.notResumable":"The subscription process cannot be resumed. The related training is no more purchasable.","components.DashboardItemOrder.paymentNeededButton":"Pay {amount}","components.DashboardItemOrder.paymentNeededMessage":"The payment failed, please update your payment method","components.DashboardItemOrder.syllabusLinkLabel":"Go to syllabus","components.DashboardOpenEdxProfile.EditButtonLabel":"Edit your profile","components.DashboardOpenEdxProfile.additionalInformationHeader":"Additional account information","components.DashboardOpenEdxProfile.baseInformationHeader":"Basic account information","components.DashboardOpenEdxProfile.countryInputLabel":"Country","components.DashboardOpenEdxProfile.emailInputDescription":"Email used when sign-up, FUN-MOOC and leasons communications will be sent at this address","components.DashboardOpenEdxProfile.emailInputLabel":"Email","components.DashboardOpenEdxProfile.favoriteLanguageInputLabel":"Favorite language","components.DashboardOpenEdxProfile.fullNameInputDescription":"The name that appears on your certificates and training agreements. Other learners never see your full name","components.DashboardOpenEdxProfile.fullNameInputLabel":"Full name","components.DashboardOpenEdxProfile.genderInputLabel":"Sex","components.DashboardOpenEdxProfile.header":"Profile","components.DashboardOpenEdxProfile.languageInputDescription":"The language used on the website. The website languages are limitated.","components.DashboardOpenEdxProfile.languageInputLabel":"Langue","components.DashboardOpenEdxProfile.levelOfEducationInputLabel":"Level of education","components.DashboardOpenEdxProfile.usernameInputDescription":"Your name on FUN-MOOC. You cannot change your username.","components.DashboardOpenEdxProfile.usernameInputLabel":"Username","components.DashboardOpenEdxProfile.yearOfBirthInputLabel":"Year of birth","components.DashboardOrderLoader.definePaymentMethodLink":"define a payment method","components.DashboardOrderLoader.loading":"Loading order ...","components.DashboardOrderLoader.paymentMethodMissing":"You have to {definePaymentMethodLink} to finalize your subscription.","components.DashboardOrderLoader.signLink":"sign your training contract","components.DashboardOrderLoader.signatureNeeded":"You have to {signLink} to finalize your subscription.","components.DashboardOrderLoader.wrongLinkedProductError":"This page is not available for this order.","components.DesktopUserMenu.menuPurpose":"Access to your profile settings","components.DownloadCertificateButton.download":"Download","components.DownloadCertificateButton.generatingCertificate":"Certificate is being generated...","components.DownloadContractButton.contractDownloadActionLabel":"Download","components.DownloadContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.EnrollableCourseRunList.ariaSelectCourseRun":"Select course run from {start} {end, select, undefined {} other {to {end}}}.","components.EnrollableCourseRunList.enroll":"Enroll","components.EnrollableCourseRunList.enrolling":"Enrolling...","components.EnrollableCourseRunList.enrollmentNotYetOpened":"Enrollment will open on {enrollment_start}","components.EnrollableCourseRunList.noCourseRunAvailable":"No session available for this course.","components.EnrollableCourseRunList.selectCourseRun":"Select a course run","components.EnrolledCourseRun.courseRunStartIn":"The course starts {relativeStartDate}","components.EnrolledCourseRun.goToCourse":"Go to course","components.EnrolledCourseRun.isEnroll":"You are enrolled","components.EnrolledCourseRun.unenroll":"Unenroll","components.EnrolledCourseRun.unenrolling":"Unenrolling...","components.EnrollmentDate.enrollClosed":"Enrollment closed since {date}","components.EnrollmentDate.enrollFrom":"Enrollment from {date}","components.EnrollmentDate.enrollSince":"Enrollment open since {date}","components.EnrollmentDate.enrollUntil":"Enrollment until {date}","components.Form.utils.errors.mixedInvalid":"This field is invalid.","components.Form.utils.errors.mixedOneOf":"You must select a value.","components.Form.utils.errors.mixedRequired":"This field is required.","components.Form.utils.errors.stringMax":"The maximum length is {max} {max, plural, one {char} other {chars}}.","components.Form.utils.errors.stringMin":"The minimum length is {min} {min, plural, one {char} other {chars}}.","components.LanguageSelector.currentlySelected":"(currently selected)","components.LanguageSelector.languages":"Languages","components.LanguageSelector.selectLanguage":"Select a language:","components.LanguageSelector.switchToLanguage":"Switch to {language}","components.ListFilterOrganization.allOrganizationOption":"All organizations","components.ListFilterOrganization.organizationFilterLabel":"Organization","components.Modal.closeDialog":"Close dialog","components.NavigationSelect.responsiveNavLabel":"Navigate to","components.NavigationSelect.settingsLinkLabel":"Settings","components.OpenEdxFullNameForm.emailInputLabel":"Email","components.OpenEdxFullNameForm.error":"There was an error while updating your full name. Please try again later.","components.OpenEdxFullNameForm.fullNameInputDescription":"Please check that your fullname is correct. It will be used on official document (e.g: certificate)","components.OpenEdxFullNameForm.fullNameInputLabel":"Full name","components.OpenEdxFullNameForm.loadingLabel":"Loading...","components.OpenEdxFullNameForm.submitButtonLabel":"Submit","components.PaginateCourseSearch.currentlyReadingLastPageN":"Currently reading last page {page}","components.PaginateCourseSearch.currentlyReadingPageN":"Currently reading page {page}","components.PaginateCourseSearch.lastPageN":"Last page {page}","components.PaginateCourseSearch.nextPageN":"Next page {page}","components.PaginateCourseSearch.pageN":"Page {page}","components.PaginateCourseSearch.pagination":"Pagination","components.PaginateCourseSearch.previousPageN":"Previous page {page}","components.PaymentButton.errorAbort":"You have aborted the payment.","components.PaymentButton.errorDefault":"An error occurred during payment. Please retry later.","components.PaymentButton.tokenizingPayment":"Payment method definition in progress.","components.PaymentScheduleGrid.state.paid":"Paid","components.PaymentScheduleGrid.state.pending":"Pending","components.PaymentScheduleGrid.state.refused":"Refused","components.PaymentScheduleGrid.withdrawnAt":"Withdrawn on {date}","components.ProductCertificateFooter.buyProductCertificateLabel":"An exam which delivers a certificate can be purchased for this course.","components.ProductCertificateFooter.downloadProductCertificateLabel":"A certificate is available for download.","components.ProductCertificateFooter.examAccessBlocked":"You will be able to pass the exam once the installment has been paid.","components.ProductCertificateFooter.failedInstallmentMessage":"Last direct debit has failed. Please resolve your situation as soon as possible.","components.ProductCertificateFooter.nextInstallmentMessage":"The next installment ({amount}) will be withdrawn on the {due_date}.","components.ProductCertificateFooter.paymentNeededButton":"Pay {amount}","components.ProductCertificateFooter.pendingProductCertificateLabel":"Finish this course to obtain your certificate.","components.RootSearchSuggestField.searchFieldPlaceholder":"Search for courses","components.SaleTunnel.AddressSelector.CreateAddressFormModal.submit":"Create","components.SaleTunnel.AddressSelector.CreateAddressFormModal.title":"Add address","components.SaleTunnel.AddressSelector.EditAddressFormModal.save":"Save","components.SaleTunnel.AddressSelector.EditAddressFormModal.title":"Edit address","components.SaleTunnel.AddressSelector.create":"Create","components.SaleTunnel.AddressSelector.edit":"Edit","components.SaleTunnel.AddressSelector.label":"Billing address","components.SaleTunnel.Certificate.ProductPath.title":"Your learning path","components.SaleTunnel.Credential.ProductPath.title":"Your learning path","components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription":"Use another credit card","components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel":"Change credit card","components.SaleTunnel.CreditCardSelector.endsWith":"Ends with •••• {code}","components.SaleTunnel.CreditCardSelector.expiration":"Expires on {month}/{year}","components.SaleTunnel.CreditCardSelector.expired":"Expired since {month}/{year}","components.SaleTunnel.CreditCardSelector.modalDescription":"Choose the default payment method you want to use for this order and the upcoming payments.","components.SaleTunnel.CreditCardSelector.modalTitle":"Choose credit card","components.SaleTunnel.CreditCardSelector.modalValidate":"Validate","components.SaleTunnel.Information.description":"Those information will be used for billing","components.SaleTunnel.Information.email.info":"This email will be used to send you confirmation mails, it is the one you created your account with.","components.SaleTunnel.Information.email.label":"Account email","components.SaleTunnel.Information.fullNameLabel":"Full name","components.SaleTunnel.Information.paymentSchedule":"Payment schedule","components.SaleTunnel.Information.title":"Information","components.SaleTunnel.Information.total.info":"You will then pay on the secured platform of our payment provider.","components.SaleTunnel.Information.total.label":"Total","components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle":"University","components.SaleTunnel.SubscriptionButton.subscribe":"Subscribe","components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment":"To enroll in the training, you will be invited to define a payment method.","components.SaleTunnel.SubscriptionButton.walkthroughToSign":"To enroll in the training, you will be invited to sign the training agreement.","components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment":"To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method.","components.SaleTunnel.callToActionDescription":"Purchase {product}","components.SaleTunnel.loginToPurchase":"Login to purchase {product}","components.SaleTunnel.noCourseRunToPurchaseCertificate":"The course run is not active. This product is not currently available for sale.","components.SaleTunnel.noCourseRunToPurchaseCredential":"At least one course has no course runs. This product is not currently available for sale.","components.SaleTunnel.noRemainingOrder":"There are no more places available for this product.","components.SaleTunnelSavePaymentMethod.cta":"Define","components.SaleTunnelSavePaymentMethod.description":"This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one.","components.SaleTunnelSavePaymentMethod.title":"Define a payment method","components.SaleTunnelStepValidation.availableCourseRuns":"{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available","components.SaleTunnelStepValidation.courseRunDates":"From {start} {end, select, undefined {} other {to {end}}}","components.SaleTunnelStepValidation.language":"{ count, plural, one {Language:} other {Languages:} }","components.SaleTunnelStepValidation.noCourseRunAvailable":"No session available for this course.","components.SaleTunnelSuccess.congratulations":"Subscription confirmed!","components.SaleTunnelSuccess.cta":"Close","components.SaleTunnelSuccess.successDetailMessage":"You will be able to start your training once the first installment will be paid.","components.SaleTunnelSuccess.successMessage":"Your order has been successfully registered.","components.Search.errorMessage":"Something's wrong! Courses could not be loaded.","components.Search.hideFiltersPane":"Hide filters pane","components.Search.resultsTitle":"Search results","components.Search.showFiltersPane":"Show filters pane","components.Search.spinnerText":"Loading search results...","components.Search.textQueryLengthWarning":"Text search requires at least 3 characters. { query } is not long enough to search. Search results will not be affected by this query.","components.SearchFilterGroupModal.closeModal":"Close modal","components.SearchFilterGroupModal.error":"There was an error while searching for {filterName}.","components.SearchFilterGroupModal.inputLabel":"Search for filters to add","components.SearchFilterGroupModal.inputPlaceholder":"Search in { filterName }","components.SearchFilterGroupModal.loadMoreResults":"Load more results","components.SearchFilterGroupModal.loadingResults":"Loading search results...","components.SearchFilterGroupModal.modalTitle":"Add filters for {filterName}","components.SearchFilterGroupModal.moreOptionsButton":"More options","components.SearchFilterGroupModal.queryTooShort":"Type at least 3 characters to start searching.","components.SearchFilterValueParent.ariaHideChildren":"Hide additional filters for {filterValueName}","components.SearchFilterValueParent.ariaShowChildren":"Show more filters for {filterValueName}","components.SearchFiltersPane.clearFilters":"Clear {activeFilterCount, number} active {activeFilterCount, plural, one {filter} other {filters}}","components.SearchFiltersPane.title":"Filter courses","components.SearchInput.button":"Search","components.SearchSuggestField.searchFieldPlaceholder":"Search for courses, organizations, categories","components.SignContractButton.contractDownloadActionLabel":"Download","components.SignContractButton.contractDownloadError":"An error happened while downloading the training contract. Please try again later.","components.SignContractButton.contractSignActionLabel":"Sign","components.StudentDashboardSidebar.header":"Welcome {name}","components.StudentDashboardSidebar.subHeader":"You are on your dashboard","components.SubscriptionButton.errorAddress":"You must have a billing address.","components.SubscriptionButton.errorDefault":"An error occurred during order creation. Please retry later.","components.SubscriptionButton.errorFullProduct":"There are no more places available for this product.","components.SubscriptionButton.orderCreationInProgress":"Order creation in progress","components.SyllabusAsideList.archived":"Archived","components.SyllabusAsideList.courseRunsTitle":"Course runs","components.SyllabusAsideList.noCourseRuns":"No course runs","components.SyllabusAsideList.noOtherCourseRuns":"No other course runs","components.SyllabusAsideList.ongoing":"Ongoing","components.SyllabusAsideList.otherCourseRuns":"Other course runs","components.SyllabusAsideList.toBeScheduled":"To be scheduled","components.SyllabusAsideList.upcoming":"Upcoming","components.SyllabusCourseRun.course":"Course","components.SyllabusCourseRun.coursePeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.enrollment":"Enrollment","components.SyllabusCourseRun.enrollmentPeriod":"From {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.SyllabusCourseRun.languages":"Languages","components.SyllabusCourseRunCompacted.course":"Course","components.SyllabusCourseRunCompacted.languages":"Languages","components.SyllabusCourseRunCompacted.selfPaceCoursePeriod":"Available until {endDate}","components.SyllabusCourseRunCompacted.selfPaceNoEndDate":"Available","components.SyllabusCourseRunsList.multipleOpenedCourseRuns":"{count} course runs are currently open for this course","components.SyllabusCourseRunsList.multipleOpenedCourseRunsButton":"Choose now","components.SyllabusCourseRunsList.noOpenedCourseRuns":"No opened course runs","components.SyllabusSimpleCourseRunsList.viewMore":"View more","components.TeacherDashboard.TeacherDashboardRoutes.course.label":"{courseTitle}","components.TeacherDashboard.TeacherDashboardRoutes.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.generalInformation.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.contracts.label":"Contracts","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.label":"General information","components.TeacherDashboard.TeacherDashboardRoutes.organization.course.product.learnerList.label":"Learners","components.TeacherDashboard.TeacherDashboardRoutes.organization.courses.label":"Courses","components.TeacherDashboard.TeacherDashboardRoutes.organization.label":"{organizationTitle}","components.TeacherDashboard.TeacherDashboardRoutes.profile.courses.label":"All my courses","components.TeacherDashboard.TeacherDashboardRoutes.root.label":"Teacher dashboard","components.TeacherDashboardCourseList.emptyList":"You have no courses yet.","components.TeacherDashboardCourseList.loadMore":"Load more","components.TeacherDashboardCourseList.loading":"Loading courses...","components.TeacherDashboardCourseLoader.errorNoCourse":"This course doesn't exist","components.TeacherDashboardCourseLoader.loading":"Loading course...","components.TeacherDashboardCourseLoader.pageTitle":"Course area","components.TeacherDashboardCourseSidebar.header":"{courseTitle}","components.TeacherDashboardCourseSidebar.loading":"Loading course...","components.TeacherDashboardCourseSidebar.subHeader":"You are on the course dashboard","components.TeacherDashboardCourseSidebar.syllabusLinkLabel":"Go to syllabus","components.TeacherDashboardCoursesLoader.title.archived":"Archived","components.TeacherDashboardCoursesLoader.title.filteredCourses":"Your courses","components.TeacherDashboardCoursesLoader.title.incoming":"Incoming","components.TeacherDashboardCoursesLoader.title.ongoing":"Ongoing","components.TeacherDashboardOrganizationCourseLoader.loading":"Loading organization ...","components.TeacherDashboardOrganizationCourseLoader.title":"Courses of {organizationTitle}","components.TeacherDashboardOrganizationSidebar.loading":"Loading organization...","components.TeacherDashboardOrganizationSidebar.subHeader":"You are on the organization dashboard","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationLinkTitle":"Link to organization \"{organizationTitle}\"","components.TeacherDashboardProfileSidebar.OrganizationLinks.organizationsTitle":"My universities","components.TeacherDashboardProfileSidebar.subHeader":"You are on your teacher dashboard","components.TeacherDashboardTraining.errorNoCourseProductRelation":"This product doesn't exist","components.TeacherDashboardTrainingLoader.loading":"Loading training...","components.TeacherDashboardTrainingLoader.pageTitle":"Training area","components.UserLogin.logIn":"Log in","components.UserLogin.logOut":"Log out","components.UserLogin.signup":"Sign up","components.UserLogin.spinnerText":"Loading login status...","components.form.messages.formOptionalFieldsText":"All fields are required unless marked optional","components.form.messages.optionalFieldText":"(optional)","components.useCourseRunPeriodMessage.archivedEnrolledRunPeriod":"You are enrolled for this session.","components.useCourseRunPeriodMessage.futureEnrolledRunPeriod":"You are enrolled for this session. It starts {relativeStartDate}, the {startDate}.","components.useCourseRunPeriodMessage.futureRunPeriod":"This session starts {relativeStartDate}, the {startDate}","components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod":"You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}","components.useCourseRunPeriodMessage.onGoingRunPeriod":"This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}","components.useStaticFilters.courses":"Courses","hooks.useAddresses.errorCreate":"An error occurred while creating the address. Please retry later.","hooks.useAddresses.errorDelete":"An error occurred while deleting the address. Please retry later.","hooks.useAddresses.errorNotFound":"Cannot find the address","hooks.useAddresses.errorSelect":"An error occurred while fetching addresses. Please retry later.","hooks.useAddresses.errorUpdate":"An error occurred while updating the address. Please retry later.","hooks.useAddressesManagement.actionUpdate":"update","hooks.useAddressesManagement.deletionConfirmation":"Are you sure you want to delete the \"{title}\" address? ⚠️ You cannot undo this change after.","hooks.useAddressesManagement.errorCannotPromoteMain":"Cannot promote main address.","hooks.useAddressesManagement.errorCannotRemoveMain":"Cannot remove main address.","hooks.useCertificates.errorGet":"An error occurred while fetching certificates. Please retry later.","hooks.useCertificates.errorNotFound":"Cannot find the certificate","hooks.useContracts.errorNotFound":"Cannot find the contract","hooks.useContracts.errorSelect":"An error occurred while fetching contracts. Please retry later.","hooks.useCourseOrders.errorNotFound":"Cannot find orders","hooks.useCourseOrders.errorSelect":"An error occurred while fetching orders. Please retry later.","hooks.useCourseProductRelations.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProductRelations.errorNotFound":"Cannot find the training.","hooks.useCourseProductUnion.errorGet":"An error occurred while fetching trainings. Please retry later.","hooks.useCourseProducts.errorGet":"An error occurred while fetching product. Please retry later.","hooks.useCourseProducts.errorNotFound":"Cannot find the product.","hooks.useCourseRuns.errorGet":"An error occurred while fetching course runs. Please retry later.","hooks.useCourseRuns.errorNotFound":"Cannot find the course runs.","hooks.useCourses.errorNotFound":"Cannot find the course.","hooks.useCourses.errorSelect":"An error occurred while fetching course. Please retry later.","hooks.useCreditCards.errorDelete":"An error occurred while deleting the credit card. Please retry later.","hooks.useCreditCards.errorNotFound":"Cannot find the credit card","hooks.useCreditCards.errorSelect":"An error occurred while fetching credit cards. Please retry later.","hooks.useCreditCards.errorTokenize":"An error occurred while adding a credit card. Please retry later.","hooks.useCreditCards.errorUpdate":"An error occurred while updating the credit card. Please retry later.","hooks.useCreditCardsManagement.deletionConfirmation":"Are you sure you want to delete the credit card? ⚠️ You cannot undo this change after.","hooks.useCreditCardsManagement.errorCannotRemoveMain":"Cannot remove main credit card.","hooks.useDashboardAddressForm.isMainInputLabel":"Use this address as default","hooks.useEnrollments.errorCreate":"An error occurred while creating the enrollment. Please retry later.","hooks.useEnrollments.errorDelete":"An error occurred while deleting the enrollment. Please retry later.","hooks.useEnrollments.errorNotFound":"Cannot find the enrollment","hooks.useEnrollments.errorSelect":"An error occurred while fetching enrollments. Please retry later.","hooks.useEnrollments.errorUpdate":"An error occurred while updating the enrollment. Please retry later.","hooks.useJoanieUserProfile.errorGet":"An error occurred while fetching user profile information. Please retry later.","hooks.useJoanieUserProfile.errorNotFound":"You aren't logged in.","hooks.useOpenEdxProfile.errorGet":"An error occurred while fetching your profile. Please retry later.","hooks.useOpenEdxProfile.errorUpdate":"An error occurred while updating your full name. Please retry later.","hooks.useOrders.errorCancel":"Cannot cancel the order.","hooks.useOrders.errorGet":"An error occurred while fetching orders. Please retry later.","hooks.useOrders.errorNotFound":"Cannot find the orders.","hooks.useOrders.errorSetPaymentMethod":"Cannot set the order's payment method.","hooks.useOrdersEnrollments.errorGet":"An error occurred while fetching orders and enrollments. Please retry later.","hooks.useOrganizations.errorNotFound":"Cannot find the organization","hooks.useOrganizations.errorSelect":"An error occurred while fetching organizations. Please retry later.","hooks.useResources.errorCreate":"An error occurred while creating a resource. Please retry later.","hooks.useResources.errorDelete":"An error occurred while deleting a resource. Please retry later.","hooks.useResources.errorGet":"An error occurred while fetching resources. Please retry later.","hooks.useResources.errorNotFound":"Cannot find the resource.","hooks.useResources.errorUpdate":"An error occurred while updating a resource. Please retry later.","hooks.useUnionResource.errorGet":"An error occurred while fetching data. Please retry later.","hooks.useWishlist.errorCreate":"An error occurred when adding this course to your wishlist. Please retry later.","hooks.useWishlist.errorDelete":"An error occurred when removing this course from your wishlist. Please retry later.","hooks.useWishlist.errorGet":"An error occurred while fetching wishlist. Please retry later.","hooks.useWishlist.errorNotFound":"Cannot find the wishlist.","openEdxProfile.gender.female":"Female","openEdxProfile.gender.male":"Male","openEdxProfile.gender.other":"Other","openEdxProfile.levelOfEducation.associateDegree":"Associate degree","openEdxProfile.levelOfEducation.bachelorDegree":"Bachelor degree","openEdxProfile.levelOfEducation.elementaryPrimarySchool":"Elementary primary school","openEdxProfile.levelOfEducation.juniorSecondaryOrMiddleSchool":"Junior secondary or middle school","openEdxProfile.levelOfEducation.masterOrProfessionnalDegree":"Master","openEdxProfile.levelOfEducation.none":"None","openEdxProfile.levelOfEducation.other":"Other","openEdxProfile.levelOfEducation.phdOrDoctorate":"PHD","openEdxProfile.levelOfEducation.secondaryOrHighSchool":"Secondary or high school","page.PageNotFound.pageNotFoundHomeLink":"Back to the home page","page.PageNotFound.pageNotFoundSubTitle":"The requested content does not exist.","page.PageNotFound.pageNotFoundTitle":"Page not found","pages.CourseLearnerDataGrid.columnActions":"Actions","pages.CourseLearnerDataGrid.columnLearnerName":"Learner","pages.CourseLearnerDataGrid.columnPurchaseDate":"Enrolled on","pages.CourseLearnerDataGrid.columnState":"State","pages.CourseLearnerDataGrid.contactButton":"Contact","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonDownloadLabel":"Download contracts archive","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonPendingLabel":"Generating contracts archive...","pages.TeacherDashboardContractsLayout.BulkDownloadContractButton.bulkDownloadButtonRequestArchiveLabel":"Request contracts archive","pages.TeacherDashboardContractsLayout.ContractFilters.contractSignatureStateFilterLabel":"Signature state","pages.TeacherDashboardContractsLayout.ContractFilters.organizationFilterLabel":"Organization","pages.TeacherDashboardCourseContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardCourseLearnersLayout.pageTitle":"Learners","pages.TeacherDashboardCourseLearnersLayout.totalLearnerText":"{nbLearners} {nbLearners, plural, one {learner is enrolled} other {learners are enrolled}} for this training","pages.TeacherDashboardOrganizationContractsLayout.columnLearnerName":"Learner","pages.TeacherDashboardOrganizationContractsLayout.columnProductTitle":"Training","pages.TeacherDashboardOrganizationContractsLayout.columnState":"State","pages.TeacherDashboardOrganizationContractsLayout.pageTitle":"Contracts","pages.TeacherDashboardOrganizationContractsLayout.signAllPendingContracts":"Sign all pending contracts ({ count })","utils.ContractHelper.learnerHalfSigned":"Pending for organization signature","utils.ContractHelper.learnerSigned":"Signed","utils.ContractHelper.learnerUnsigned":"Pending for signature","utils.ContractHelper.organizationHalfSigned":"Pending for signature","utils.ContractHelper.organizationSigned":"Signed","utils.ContractHelper.organizationUnsigned":"Pending for learner signature","utils.joinAnd.and":"and"} \ No newline at end of file diff --git a/src/frontend/package.json b/src/frontend/package.json index 1c8cb92c82..38d984c7f4 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -1,6 +1,6 @@ { "name": "richie-education", - "version": "2.29.2", + "version": "2.30.0", "description": "A CMS to build learning portals for Open Education", "main": "sandbox/manage.py", "scripts": { diff --git a/src/richie/locale/ar_SA/LC_MESSAGES/django.mo b/src/richie/locale/ar_SA/LC_MESSAGES/django.mo index 76b91a7aa7..42fcecfc02 100644 Binary files a/src/richie/locale/ar_SA/LC_MESSAGES/django.mo and b/src/richie/locale/ar_SA/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/ar_SA/LC_MESSAGES/django.po b/src/richie/locale/ar_SA/LC_MESSAGES/django.po index 1279f8b9f1..f10dbf520b 100644 --- a/src/richie/locale/ar_SA/LC_MESSAGES/django.po +++ b/src/richie/locale/ar_SA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Arabic, Saudi Arabia\n" "Language: ar_SA\n" @@ -1039,7 +1039,7 @@ msgstr "" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1099,7 +1099,7 @@ msgstr "رخصة للمحتوى الذي أنشأه المشاركون في ال #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1189,34 +1189,34 @@ msgstr "" msgid "Full width" msgstr "العرض الكامل" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "لا توجد فئات حتى الآن." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "لم تنشر بعد" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "لا يوجد مؤلف بعد" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "لا يوجد محتوى مقتطف" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "لا يوجد محتوى للجسم" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "" @@ -1793,6 +1793,10 @@ msgstr "" msgid "Hero introduction" msgstr "" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "" @@ -1805,14 +1809,15 @@ msgstr "" msgid "Choose template to render plugin." msgstr "" -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "" diff --git a/src/richie/locale/es_ES/LC_MESSAGES/django.mo b/src/richie/locale/es_ES/LC_MESSAGES/django.mo index 74a2f3732f..5baefa4699 100644 Binary files a/src/richie/locale/es_ES/LC_MESSAGES/django.mo and b/src/richie/locale/es_ES/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/es_ES/LC_MESSAGES/django.po b/src/richie/locale/es_ES/LC_MESSAGES/django.po index bde7a409f8..624c5ae6e5 100644 --- a/src/richie/locale/es_ES/LC_MESSAGES/django.po +++ b/src/richie/locale/es_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -1035,7 +1035,7 @@ msgstr "Tercer contenido" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1095,7 +1095,7 @@ msgstr "Licencia para el contenido creado por los participantes del curso" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1185,34 +1185,34 @@ msgstr "Botón cesura" msgid "Full width" msgstr "Anchura total" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "No hay categorías aún." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "Sin publicar" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "No hay autor aún" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "No hay extracto de contenido" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "No hay contenido en el cuerpo" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "Entradas relacionadas" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "" @@ -1791,6 +1791,10 @@ msgstr "Medias" msgid "Hero introduction" msgstr "Introducción" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "imagen de fondo" @@ -1803,14 +1807,15 @@ msgstr "Plantilla" msgid "Choose template to render plugin." msgstr "Elija la plantilla para proveer el plugin." -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "Buscar en nuestros cursos" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "Explore nuestro catálogo" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "Buscar en nuestros cursos" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "" diff --git a/src/richie/locale/fr_CA/LC_MESSAGES/django.mo b/src/richie/locale/fr_CA/LC_MESSAGES/django.mo index f85623fb0d..ebe44f5176 100644 Binary files a/src/richie/locale/fr_CA/LC_MESSAGES/django.mo and b/src/richie/locale/fr_CA/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/fr_CA/LC_MESSAGES/django.po b/src/richie/locale/fr_CA/LC_MESSAGES/django.po index 2aa64c2bff..2e5d7d9c4d 100644 --- a/src/richie/locale/fr_CA/LC_MESSAGES/django.po +++ b/src/richie/locale/fr_CA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: French, Canada\n" "Language: fr_CA\n" @@ -1035,7 +1035,7 @@ msgstr "Troisième contenu" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1095,7 +1095,7 @@ msgstr "Licence pour le contenu créé par les participants du cours" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1185,34 +1185,34 @@ msgstr "Bouton caesura" msgid "Full width" msgstr "Pleine largeur" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "Pas de catégories." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "Pas encore publié" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "Pas d'auteur" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "Aucun extrait de contenu" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "Aucun contenu" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "Billets de blog liés" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "Autres catégories d'articles" @@ -1803,6 +1803,10 @@ msgstr "Médias" msgid "Hero introduction" msgstr "Introduction" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "image d'arrière-plan" @@ -1815,14 +1819,15 @@ msgstr "Modèle" msgid "Choose template to render plugin." msgstr "Choisir un modèle d'affichage pour le plugin." -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "Rechercher dans nos cours" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "Explorez notre catalogue" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "Rechercher dans nos cours" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "Paramètres avancés" diff --git a/src/richie/locale/fr_FR/LC_MESSAGES/django.mo b/src/richie/locale/fr_FR/LC_MESSAGES/django.mo index 881bf88e5b..d4e566d4cc 100644 Binary files a/src/richie/locale/fr_FR/LC_MESSAGES/django.mo and b/src/richie/locale/fr_FR/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/fr_FR/LC_MESSAGES/django.po b/src/richie/locale/fr_FR/LC_MESSAGES/django.po index 88ea0405a8..f7e94bcd3b 100644 --- a/src/richie/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/richie/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -1035,7 +1035,7 @@ msgstr "Troisième contenu" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1095,7 +1095,7 @@ msgstr "Licence pour le contenu créé par les participants du cours" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1185,34 +1185,34 @@ msgstr "Bouton caesura" msgid "Full width" msgstr "Pleine largeur" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "Pas de catégories." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "Pas encore publié" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "Pas d'auteur" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "Pas d'extrait" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "Pas de contenu" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "Articles liés" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "Autres catégories d'articles" @@ -1803,6 +1803,10 @@ msgstr "Media" msgid "Hero introduction" msgstr "Introduction" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "Introduction compactée" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "image d'arrière-plan" @@ -1815,14 +1819,15 @@ msgstr "Modèle" msgid "Choose template to render plugin." msgstr "Choisir un modèle pour afficher le plugin." -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "Chercher dans nos cours" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "Explorer notre catalogue" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "Chercher dans nos cours" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "Paramètres avancés" diff --git a/src/richie/locale/ko_KR/LC_MESSAGES/django.mo b/src/richie/locale/ko_KR/LC_MESSAGES/django.mo index d019653d3c..6351cb54e6 100755 Binary files a/src/richie/locale/ko_KR/LC_MESSAGES/django.mo and b/src/richie/locale/ko_KR/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/ko_KR/LC_MESSAGES/django.po b/src/richie/locale/ko_KR/LC_MESSAGES/django.po index 8cb4cc6aee..b48df38de6 100644 --- a/src/richie/locale/ko_KR/LC_MESSAGES/django.po +++ b/src/richie/locale/ko_KR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -1034,7 +1034,7 @@ msgstr "" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1094,7 +1094,7 @@ msgstr "" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1184,34 +1184,34 @@ msgstr "" msgid "Full width" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "" @@ -1783,6 +1783,10 @@ msgstr "" msgid "Hero introduction" msgstr "" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "" @@ -1795,14 +1799,15 @@ msgstr "" msgid "Choose template to render plugin." msgstr "" -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "" diff --git a/src/richie/locale/pt_PT/LC_MESSAGES/django.mo b/src/richie/locale/pt_PT/LC_MESSAGES/django.mo index 20f7a442c7..287cf4c11f 100644 Binary files a/src/richie/locale/pt_PT/LC_MESSAGES/django.mo and b/src/richie/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/pt_PT/LC_MESSAGES/django.po b/src/richie/locale/pt_PT/LC_MESSAGES/django.po index 4ed69eb028..df9f76e138 100644 --- a/src/richie/locale/pt_PT/LC_MESSAGES/django.po +++ b/src/richie/locale/pt_PT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -1035,7 +1035,7 @@ msgstr "Conteúdo terciário" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1095,7 +1095,7 @@ msgstr "Licença para o conteúdo criado pelos participantes do curso" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1185,34 +1185,34 @@ msgstr "Botão de quebra de secção" msgid "Full width" msgstr "Largura total" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "Não existem categorias." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "Não publicado" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "Nenhum autor" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "Sem conteúdo no excerto" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "Sem conteúdo de corpo de texto" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "Publicações relacionadas" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "Outras categorias de artigos" @@ -1803,6 +1803,10 @@ msgstr "Multimédia" msgid "Hero introduction" msgstr "Introdução do Hero" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "imagem de fundo" @@ -1815,14 +1819,15 @@ msgstr "Modelo" msgid "Choose template to render plugin." msgstr "Escolha o modelo para renderizar o plugin." -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "Pesquisar nos cursos" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "Explore o nosso catálogo" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "Pesquisar nos cursos" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "Definições avançadas" diff --git a/src/richie/locale/ru_RU/LC_MESSAGES/django.mo b/src/richie/locale/ru_RU/LC_MESSAGES/django.mo index 826b9b108e..58dd7e50fb 100644 Binary files a/src/richie/locale/ru_RU/LC_MESSAGES/django.mo and b/src/richie/locale/ru_RU/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/ru_RU/LC_MESSAGES/django.po b/src/richie/locale/ru_RU/LC_MESSAGES/django.po index 685378ca68..bc3fe66ddb 100644 --- a/src/richie/locale/ru_RU/LC_MESSAGES/django.po +++ b/src/richie/locale/ru_RU/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -1037,7 +1037,7 @@ msgstr "Третье содержимое" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1097,7 +1097,7 @@ msgstr "Лицензия на контент, созданный участни #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1187,34 +1187,34 @@ msgstr "Кнопка цезура" msgid "Full width" msgstr "Во всю ширину" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "Еще нет категорий." -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "Ещё не опубликовано" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "Пока нет автора" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "Контент без выдержки" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "Контент без тела" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "Похожие записи" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "Другие категории статей" @@ -1795,6 +1795,10 @@ msgstr "СМИ" msgid "Hero introduction" msgstr "Hero введение" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "фоновое изображение" @@ -1807,14 +1811,15 @@ msgstr "Шаблон" msgid "Choose template to render plugin." msgstr "Выберите шаблон для плагина рендеринга." -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "Поиск в наших курсах" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "Ознакомьтесь с нашим каталогом" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "Поиск в наших курсах" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "Расширенные настройки" diff --git a/src/richie/locale/vi_VN/LC_MESSAGES/django.mo b/src/richie/locale/vi_VN/LC_MESSAGES/django.mo index 1691b4d396..3235eb666c 100644 Binary files a/src/richie/locale/vi_VN/LC_MESSAGES/django.mo and b/src/richie/locale/vi_VN/LC_MESSAGES/django.mo differ diff --git a/src/richie/locale/vi_VN/LC_MESSAGES/django.po b/src/richie/locale/vi_VN/LC_MESSAGES/django.po index e82b2db6f4..4d2ffb847a 100644 --- a/src/richie/locale/vi_VN/LC_MESSAGES/django.po +++ b/src/richie/locale/vi_VN/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: richie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-03 14:08+0000\n" -"PO-Revision-Date: 2024-08-13 13:46\n" +"POT-Creation-Date: 2024-10-08 09:59+0000\n" +"PO-Revision-Date: 2024-10-16 09:25\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -1034,7 +1034,7 @@ msgstr "" #: apps/courses/settings/__init__.py:170 apps/courses/settings/__init__.py:345 #: apps/courses/settings/__init__.py:365 -#: apps/courses/templates/courses/cms/blogpost_detail.html:95 +#: apps/courses/templates/courses/cms/blogpost_detail.html:89 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:10 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:42 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:86 @@ -1094,7 +1094,7 @@ msgstr "" #: apps/courses/settings/__init__.py:233 apps/courses/settings/__init__.py:269 #: apps/courses/settings/__init__.py:309 apps/courses/settings/__init__.py:341 -#: apps/courses/templates/courses/cms/blogpost_detail.html:51 +#: apps/courses/templates/courses/cms/blogpost_detail.html:45 #: apps/courses/templates/courses/cms/blogpost_list.html:16 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:67 #: apps/courses/templates/courses/cms/fragment_blogpost_glimpse.html:116 @@ -1184,34 +1184,34 @@ msgstr "" msgid "Full width" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:53 +#: apps/courses/templates/courses/cms/blogpost_detail.html:47 msgid "No categories yet." msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:65 +#: apps/courses/templates/courses/cms/blogpost_detail.html:59 msgid "Not published yet" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:75 +#: apps/courses/templates/courses/cms/blogpost_detail.html:69 msgid "No author yet" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:127 +#: apps/courses/templates/courses/cms/blogpost_detail.html:121 #: apps/courses/templates/courses/cms/organization_detail.html:102 #: apps/courses/templates/courses/cms/program_detail.html:65 msgid "No excerpt content" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:137 +#: apps/courses/templates/courses/cms/blogpost_detail.html:131 #: apps/courses/templates/courses/cms/program_detail.html:73 msgid "No body content" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:156 +#: apps/courses/templates/courses/cms/blogpost_detail.html:150 msgid "Related posts" msgstr "" -#: apps/courses/templates/courses/cms/blogpost_detail.html:165 +#: apps/courses/templates/courses/cms/blogpost_detail.html:159 msgid "Other categories of articles" msgstr "" @@ -1783,6 +1783,10 @@ msgstr "" msgid "Hero introduction" msgstr "" +#: plugins/large_banner/defaults.py:14 +msgid "Compacted introduction" +msgstr "" + #: plugins/large_banner/models.py:32 msgid "background image" msgstr "" @@ -1795,14 +1799,15 @@ msgstr "" msgid "Choose template to render plugin." msgstr "" -#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 -msgid "Search in our courses" -msgstr "" - +#: plugins/large_banner/templates/richie/large_banner/compacted.html:14 #: plugins/large_banner/templates/richie/large_banner/hero-intro.html:24 msgid "Explore our catalog" msgstr "" +#: plugins/large_banner/templates/richie/large_banner/hero-intro.html:17 +msgid "Search in our courses" +msgstr "" + #: plugins/lti_consumer/cms_plugins.py:38 msgid "Advanced settings" msgstr "" diff --git a/tests_e2e/package.json b/tests_e2e/package.json index 1efdd1d07f..5c12ba4940 100644 --- a/tests_e2e/package.json +++ b/tests_e2e/package.json @@ -1,6 +1,6 @@ { "name": "richie-tests-e2e", - "version": "2.29.2", + "version": "2.30.0", "description": "End-to-end tests for the Richie project", "repository": "https://github.com/openfun/richie", "author": "Open FUN (France Université Numérique)", diff --git a/website/package.json b/website/package.json index 636ebb1e16..c6b3ca0d80 100644 --- a/website/package.json +++ b/website/package.json @@ -1,6 +1,6 @@ { "name": "richie-education-docs", - "version": "2.29.2", + "version": "2.30.0", "description": "Documentation website for the Richie project", "scripts": { "build": "docusaurus build", diff --git a/website/versioned_docs/version-2.30.0/accessibility-testing.md b/website/versioned_docs/version-2.30.0/accessibility-testing.md new file mode 100644 index 0000000000..6b0eedcc72 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/accessibility-testing.md @@ -0,0 +1,46 @@ +--- +id: accessibility-testing +title: Automated accessibility checks +sidebar_label: Accessibility testing +--- + +Richie includes automated accessibility checks built through a `Cypress` end-to-end testing infrastructure. + +Automated accessibility checks can only surface around 30% of possible problems on any given page. This does not mean they are not useful, but they cannot replace human audits and developer proficiency. + +We use `axe` to run these checks. You can find more about axe on the [`axe-core` GitHub repository](https://github.com/dequelabs/axe-core). + +## Testing environment setup + +Both `Cypress` and `axe` are used through their respective NPM packages. This means everything goes through `yarn` commands. You need to have `node` and `yarn` installed locally to run the tests. + +```bash +cd tests_e2e +yarn install +``` + +This should install everything you need. + +## Running the tests + +There are two ways to use the `Cypress` tests: through a terminal-based runner and through the `Cypress` UI. Both are started through `yarn` but they have different use cases. + +```bash +yarn cypress run +``` + +You can start by running the tests directly from the terminal. This is the quickest way to make sure all views pass checks (or find out which ones do not). This is also the starting point for work on running `Cypress` in the CI. + +```bash +yarn cypress open +``` + +This command simply opens the `Cypress` UI. From there, you can run all or some of the test suites with live reloading. This is a great way to understand why some tests are failing, especially when it comes to a11y violations. + +When there are a11y violations, an assertion fails and prints out a list in the `Cypress` UI. You can then click on a violation to print more information in the browser console. + +## Documentation reference + +- [List of all possible violations covered by `axe`](https://dequeuniversity.com/rules/axe/3.4) +- [`Cypress` documentation](https://docs.cypress.io) +- [`axe` and `Cypress` integration](https://github.com/avanslaars/cypress-axe) diff --git a/website/versioned_docs/version-2.30.0/api/course-run-synchronization-api.md b/website/versioned_docs/version-2.30.0/api/course-run-synchronization-api.md new file mode 100644 index 0000000000..eae4f07e43 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/api/course-run-synchronization-api.md @@ -0,0 +1,56 @@ +--- +id: course-run-synchronization-api +title: Course run synchronization API +sidebar_label: course run sync +--- + +API endpoint allowing remote systems to synchronize their course runs with a Richie instance. + +## Synchronization endpoint [/api/1.0/course-runs-sync] + +This documentation describes version "1.0" of this API endpoint. + +### Synchronize a course run [POST] + +It takes a JSON object containing the course run details: + +- resource_link: `https://lms.example.com/courses/course-v1:001+001+001/info` (string, required) - + url of the course syllabus on the LMS from which a unique course identifier can be extracted +- start: `2018-02-01T06:00:00Z` (string, optional) - ISO 8601 date, when this session of the + course starts +- end: `2018-02-28T06:00:00Z` (string, optional) - ISO 8601 date, when this session of the course + ends +- enrollment_start: `2018-01-01T06:00:00Z` (string, optional) - ISO 8601 date, when enrollment + for this session of the course starts +- enrollment_end: `2018-01-31T06:00:00Z` (string, optional) - ISO 8601 date, when enrollment for + this session of the course ends +- languages: ['fr', 'en'] (array[string], required) - ISO 639-1 code (2 letters) for the course's + languages + + ++ Request (application/json) + + Headers + + Authorization: `SIG-HMAC-SHA256 xxxxxxx` (string, required) - Authorization header + containing the digest of the utf-8 encoded json representation of the submitted data + for the given secret key and SHA256 digest algorithm (see [synchronizing-course-runs] + for an example). + + Body + ```json + { + "resource_link": "https://lms.example.com/courses/course-v1:001+001+001/info", + "start": "2021-02-01T00:00:00Z", + "end": "2021-02-31T23:59:59Z", + "enrollment_start": "2021-01-01T00:00:00Z", + "enrollment_end": "2021-01-31T23:59:59Z", + "languages": ["en", "fr"] + } + ``` + ++ Response 200 (application/json) + + + Body + ```json + { + "success": True + } + ``` diff --git a/website/versioned_docs/version-2.30.0/assets/images/crowdin-join-richie.gif b/website/versioned_docs/version-2.30.0/assets/images/crowdin-join-richie.gif new file mode 100644 index 0000000000..dc7aa84464 Binary files /dev/null and b/website/versioned_docs/version-2.30.0/assets/images/crowdin-join-richie.gif differ diff --git a/website/versioned_docs/version-2.30.0/assets/images/demo-screenshot.jpg b/website/versioned_docs/version-2.30.0/assets/images/demo-screenshot.jpg new file mode 100644 index 0000000000..5ce932ca8a Binary files /dev/null and b/website/versioned_docs/version-2.30.0/assets/images/demo-screenshot.jpg differ diff --git a/website/versioned_docs/version-2.30.0/building-the-frontend.md b/website/versioned_docs/version-2.30.0/building-the-frontend.md new file mode 100644 index 0000000000..ac099791e3 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/building-the-frontend.md @@ -0,0 +1,81 @@ +--- +id: building-the-frontend +title: Building Richie's frontend in your own project +sidebar_label: Building the frontend +--- + +Richie offers plenty of opportunities to customize the way it works and make it suit the needs of your own project. Most of these go through Django settings. + +Part of Richie is a React frontend however. If you want to change how it works in ways that cannot be changed from the Django settings, you will need to build your own frontend. + +## Installing `richie-education` + +If you have not already, you should create a directory for the frontend in your project. We recommend you mirror Richie's file structure so it's easier to keep track of the changes you make. + +```bash +mkdir -p src/frontend +``` + +Then, you need to bootstrap your own frontend project in this new directory. + +```bash +cd src/frontend +yarn init +``` + +With each version of Richie, we build and publish an `NPM` package to enable Richie users to build their own Javascript and CSS. You're now ready to install it. + +```bash +yarn add richie-education +``` + +In your `package.json` file, you should see it in the list of dependencies. Also, there's a `node_modules` directory where the package and its dependencies are actually installed. + +```json +"dependencies": { + "richie-education": "1.12.0" +}, +``` + +## Building the Javascript bundle + +You are now ready to run your own frontend build. We'll just be using webpack directly. + +```bash +yarn webpack --config node_modules/richie-education/webpack.config.js --output-path ./build --richie-dependent-build +``` + +Here is everything that is happening: + +- `yarn webpack` — run the webpack CLI; +- `--config node_modules/richie-education/webpack.config.js` — point webpack to `richie-education`'s webpack config file; +- `--output-path ./build` — make sure we get our output where we need it to be; +- `--richie-dependent-build` — enable some affordances with import paths. We pre-configured Richie's webpack to be able to run it from a dependent project. + +You can now run your build to change frontend settings or override frontend components with your own. + +## Building the CSS + +If you want to change styles in Richie, or add new styles for components & templates you develop yourself, you can run the SASS/CSS build yourself. + +Start by creating your own `main` file. The `_` underscore at the beginning is there to prevent sass from auto-compiling the file. + +```bash +mkdir -p src/frontend/scss +touch src/frontend/scss/_mains.scss +``` + +Start by importing Richie's main scss file. If you prefer, you can also directly import any files you want to include — in effect re-doing Richie's `_main.scss` on your own. + +```sass +@import "richie-education/scss/main"; +``` + +You are now ready to run the CSS build: + +``` +cd src/frontend +yarn build-sass +``` + +This gives you one output CSS file that you can put in the static files directory of your project and use to override Richie's style or add your own parts. diff --git a/website/versioned_docs/version-2.30.0/contributing.md b/website/versioned_docs/version-2.30.0/contributing.md new file mode 100644 index 0000000000..ad7f1a5375 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/contributing.md @@ -0,0 +1,65 @@ +--- +id: contributing-guide +title: Contributing guide +sidebar_label: Contributing guide +--- + +This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions. + +We try to raise our code quality standards and expect contributors to follow the recommandations +from our [handbook](https://openfun.gitbooks.io/handbook/content). + +## Checking your code + +We use strict flake8, pylint, isort and black linters to check the validity of our backend code: + + $ make lint-back + +We use strict eslint and prettier to check the validity of our frontend code: + + $ make lint-front + +## Running tests + +On the backend, we use pytest to run our test suite: + + $ make test-back + +On the frontend, we use karma to run our test suite: + + $ make test-front + +## Running migrations + +The first time you start the project with `make bootstrap`, the `db` container automatically +creates a fresh database named `richie` and performs database migrations. Each time a new +**database migration** is added to the code, you can synchronize the database schema by running: + + $ make migrate + +## Handling new dependencies + +Each time you add new front-end or back-end dependencies, you will need to rebuild the +application. We recommend to use: + + $ make bootstrap + +## Going further + +To see all available commands, run: + + $ make + +We also provide shortcuts for docker compose commands as sugar scripts in the +`bin/` directory: + +``` +bin +├── exec +├── pylint +├── pytest +└── run +``` + +More details and tips & tricks can be found in our [development with Docker +documentation](docker-development.md) diff --git a/website/versioned_docs/version-2.30.0/cookiecutter.md b/website/versioned_docs/version-2.30.0/cookiecutter.md new file mode 100644 index 0000000000..bb39fa0d3c --- /dev/null +++ b/website/versioned_docs/version-2.30.0/cookiecutter.md @@ -0,0 +1,123 @@ +--- +id: cookiecutter +title: Start your own site +sidebar_label: Start your own site +--- + +We use [Cookiecutter](https://github.com/audreyr/cookiecutter) to help you +set up a production-ready learning portal website based on +[Richie](https://github.com/openfun/richie) in seconds. + +## Run Cookiecutter + +There are 2 options to run Cookiecutter: +- [install it on your machine][1] +- run it with Docker + +While you think of it, navigate to the directory in which you want to create +your site factory: + +``` +cd /path/to/your/code/directory +``` + +If you chose to install Cookiecutter, you can now run it against our +[template][2] as follows: + +```bash +cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.30.0 +``` + +If you didn't want to install it on your machine, we provide a Docker image +built with our [own repository][4] that you can use as follows: + +```bash +docker run --rm -it -u $(id -u):$(id -g) -v $PWD:/app \ +fundocker/cookiecutter gh:openfun/richie --directory cookiecutter --checkout v2.30.0 +``` + +The `--directory` option is to indicate that our Cookiecutter template is in +a `cookiecutter` directory inside our git repository and not at the root. + +You will be prompted to enter an organization name, which will determine the +name of your repository. For example, if you choose "foo" as organization +name, your repository will be named `foo-richie-site-factory`. It's +nice if you keep it that way so all richie site factories follow this +convention. + +When you confirm the organization name, Cookiecutter will generate your +project from the Cookiecutter template and place it at the level where you +currently are. + +### Bootstrap your project + +Enter the newly created project and add a new site to your site factory: + +```bash +cd foo-richie-site-factory +make add-site +``` + +This script also uses Cookiecutter against our [site template][3]. + +Once your new site is created, activate it: + +```bash +bin/activate +``` + +Now bootstrap the site to build its docker image, create its media folder, +database, etc.: + +```bash +make bootstrap +``` + +Once the bootstrap phase is finished, you should be able to view the site at +[localhost:8070](http://localhost:8070). + +You can create a full fledge demo to test your site by running: + +```bash +make demo-site +``` + +Note that the README of your newly created site factory contains detailed +information about how to configure and run a site. + +Once you're happy with your site, don't forget to backup your work e.g. by +committing it and pushing it to a new git repository. + +## Theming + +You probably want to change the default theme. The cookiecutter adds an extra scss frontend folder with a couple of templates that you can use to change the default styling of the site. +* `sites//src/frontend/scss/extras/colors/_palette.scss` +* `sites//src/frontend/scss/extras/colors/_theme.scss` + +To change the default logo of the site, you need to create the folder `sites//src/backend/base/static/richie/images` and then override the new `logo.png` picture. + +For more advanced customization, refer to our recipes: + +* [How to customize search filters](filters-customization.md) +* [How to override frontend components in Richie](frontend-overrides.md) + +## Update your Richie site factory + +If we later improve our scripts, you will be able to update your own site +factory by replaying Cookiecutter. This will override your files in the +project's scaffolding but, don't worry, it will respect all the sites you +will have created in the `sites` directory: + +``` +cookiecutter --overwrite-if-exists gh:openfun/richie --directory=cookiecutter +``` + +## Help us improve this project + +After starting your project, please submit an issue let us know how it went and +what other features we should add to make it better. + +[1]: https://cookiecutter.readthedocs.io/en/latest/installation.html +[2]: https://github.com/openfun/richie/tree/master/cookiecutter +[3]: https://github.com/openfun/richie/tree/master/cookiecutter/{{cookiecutter.organization}}-richie-site-factory/template +[4]: https://github.com/openfun/dockerfiles diff --git a/website/versioned_docs/version-2.30.0/css-guidelines.md b/website/versioned_docs/version-2.30.0/css-guidelines.md new file mode 100644 index 0000000000..eb51e8b672 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/css-guidelines.md @@ -0,0 +1,45 @@ +--- +id: css-guidelines +title: CSS Guidelines +sidebar_label: CSS Guidelines +--- + +The purpose of these CSS guidelines is to make our CSS as easy as possible to maintain, prune and/or modify over time. To that end, they forgo some of the unwanted parts of CSS. They also require the use of a CSS preprocessor (we picked SASS) to be used effortlessly. + +Our approach is two-pronged. First, we put every piece of CSS as close as we can to the place it is used in a template or component. Second, we use strict class naming rules that act as a replacement to CSS selector combinations. + +## File structuration + +Rules should be placed where their purpose is most apparent, and where they are easiest to find. + +Generally, this means CSS rules should live as close as possible to the place they are used. For example, the selectors and rules that define the look for a component should live in a `.scss` file in the same folder as the JS file for this component. This goes for templates too. Such files can only contain rules that are __specific to this component/template and this one only__ + +Only general base rules, utility rules, site layout rules as well as our custom variables should live in the central `app/static/scss` folder. + +## Code structuration + +In order to understand what classes are about at a glance and avoid collisions, naming conventions must be enforced for classes. + +Following the [BEM naming convention](http://getbem.com/introduction/), we will write our classes as follows : + + .block {} + .block__element {} + .block--modifier {} + +- `.block` represents the higher level of an abstraction or component. +- `.block__element` represents a descendent of .block that helps form .block as a whole. +- `.block--modifier` represents a different state or version of .block. + +We use double hyphens and double underscores as delimiters so that names themselves can be hyphen-delimited (e.g. `.site-search__field--full`). + +Yes, this notation is ugly. However, it allows our classes to express what they are doing. Both our CSS and our markup become more meaningful. It allows us to easily see what classes are related to others, and how they are related, when we look at the markup. + +## Quick pointers + +- In general, __do not use IDs__. _They can cause specificity wars and are not supposed to be reusable, and are therefore not very useful._ +- Do not nest selectors unnecessarily. _It will increase specificity and affect where else you can use your styles._ +- Do not qualify selectors unnecessarily. _It will impact the number of different elements you can apply styles to._ +- Comment profusely, _whenever you think the CSS is getting complex or it would not be easy to understand its intent._ +- Use !important proactively. _!important is a very useful tool when used proactively to make a state or a very specific rule on a tightly-scoped selector stronger. It is however to be avoided at all costs as an easy solution to specificity issues, reactively._ + +(Direct) child selectors can sometimes be useful. Please remember that the key selector to determine performance is the rightmost one. i.e. `div > #example` is A LOT more efficient than `#example > div` although it may appear otherwise at first glance. Browsers parse multi part selectors from the right. See [CSS Wizardry](http://csswizardry.com/2011/09/writing-efficient-css-selectors/) for more details. diff --git a/website/versioned_docs/version-2.30.0/discover.md b/website/versioned_docs/version-2.30.0/discover.md new file mode 100644 index 0000000000..08d9d09adb --- /dev/null +++ b/website/versioned_docs/version-2.30.0/discover.md @@ -0,0 +1,60 @@ +--- +id: discover +title: Discover Richie +sidebar_label: Discover Richie +--- + +`Learning Management Systems` (LMS) are great tools for hosting and playing interactive online +courses and MOOCs. + +However, if you need to build a complete website with flexible content to aggregate your courses, +in several languages and from different sources, **you will soon need a CMS**. + +At "France Université Numérique", we wanted to build an OpenSource portal with `Python` and +`Django`. That's why we built `Richie` on top of [DjangoCMS](https://www.django-cms.org), one of +the best CMS on the market, as a toolbox to easily create full fledged websites with a catalog of +online courses. + +![screenshot of richie demo site](assets/images/demo-screenshot.jpg) + +Among the features that `Richie` offers out of the box: + +- multi-lingual by default, +- advanced access rights and moderation, +- catalog of courses synchronized with one or more `LMS` instances, +- search engine based on `Elasticsearch` and pre-configured to offer full-text queries, + multi-facetting, auto-complete,... +- flexible custom pages for courses, organizations, categories, teachers, blog posts, + programs (and their inter-relations), +- Extensible with any third-party `DjangoCMS` plugin or any third-party `Django` application. + +## Quick preview + +If you're looking for a quick preview of `Richie`, you can take a look and have a tour of +`Richie` on our dedicated [demo site](https://demo.richie.education). + +It is connected back-to-back with a demo of OpenEdX running on +[OpenEdX Docker](https://github.com/openfun/openedx-docker). + +Two users are available for testing: + +- admin: `admin@example.com`/`admin` +- student: `edx@example.com`/`edx` + +The database is regularly flushed. + +## Start your own site + +The next step after discovering Richie on the demo is to start your own project. We provide a +production-ready template based on [Cookiecutter](https://github.com/audreyr/cookiecutter) that +allows you to generate your project in seconds. + +Follow the guide on [starting your own Richie site with Cookiecutter](./cookiecutter.md). + +Once you created a new site, you will be able to fully customize it: + +- override any Django template or portion of template, +- [override ReactJS components](./frontend-overrides.md), +- override some css rules or rebuild the whole css with your own variables and customizations, +- add any [DjangoCMS](https://www.django-cms.org) plugin or feature, +- add any [Django third-party application](https://djangopackages.org). diff --git a/website/versioned_docs/version-2.30.0/displaying-connection-status.md b/website/versioned_docs/version-2.30.0/displaying-connection-status.md new file mode 100644 index 0000000000..bcf0a9ec36 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/displaying-connection-status.md @@ -0,0 +1,127 @@ +--- +id: displaying-connection-status +title: Displaying OpenEdX connection status in Richie +sidebar_label: Displaying connection status +--- + +This guide explains how to configure Richie and OpenEdX to share the OpenEdX connection status +and display profile information for the logged-in user in Richie. + +In Richie, the only users that are actually authenticated on the DjangoCMS instance producing the +site, are editors and staff users. Your instructors and learners will not have user accounts on +Richie, but authentication is delegated to a remote service that can be OpenEdX, KeyCloack, or +your own centralized identity management service. + +In the following, we will explain how to use OpenEdX as your authentication delegation service. + +## Prerequisites + +Richie will need to make CORS requests to the OpenEdX instance. As a consequence, you need to +activate CORS requests on your OpenEdX instance: + +```python +FEATURES = { + ... + "ENABLE_CORS_HEADERS": True, +} +``` + +Then, make sure the following settings are set as follows on your OpenEdX instance: + +```python +CORS_ALLOW_CREDENTIALS = True +CORS_ALLOW_INSECURE = False +CORS_ORIGIN_ALLOW_ALL = False +CORS_ORIGIN_WHITELIST: ["richie.example.com"] # The domain on which Richie is hosted +``` + +## Allow redirects + +When Richie sends the user to the OpenEdX instance for authentication, and wants OpenEdX to +redirect the user back to Richie after a successful login or signup, it prefixes the path with +`/richie`. Adding the following rule to your Nginx server (or equivalent) and replacing the +richie host by yours will allow this redirect to follow through to your Richie instance: + +``` +rewrite ^/richie/(.*)$ https://richie.example.com/$1 permanent; +``` + +## Configure authentication delegation + +Now, on your Richie instance, you need to configure the service to which Richie will delegate +authentication using the `RICHIE_AUTHENTICATION_DELEGATION` setting: + +```python +RICHIE_AUTHENTICATION_DELEGATION = { + "BASE_URL": "https://lms.example.com", + "BACKEND": "openedx-hawthorn", + "PROFILE_URLS": { + "dashboard": { + "label": _("Dashboard"), + "href": "{base_url:s}/dashboard", + }, + }, +} +``` + +The following should help you understand how to configure this setting: + +### BASE_URL + +The base url on which the OpenEdX instance is hosted. This is used to construct the complete url +of the login/signup pages to which the frontend application will send the user for authentication. + +- Type: string +- Required: Yes +- Value: for example https://lms.example.com + + +### BACKEND + +The name of the ReactJS backend to use for the targeted LMS. + +- Type: string +- Required: Yes +- Value: Richie ships with the following Javascript backends: + + `openedx-dogwood`: backend for OpenEdX versions equal to `dogwood` or `eucalyptus` + + `openedx-hawthorn`: backend for OpenEdX versions equal to `hawthorn` or higher + + `openedx-fonzie`: backend for OpenEdX via [Fonzie](https://github.com/openfun/fonzie) + (extra user info and JWT tokens) + + `base`: fake backend for development purposes + + +### PROFILE_URLS + +Mapping definition of custom links presented to the logged-in user as a dropdown menu when he/she +clicks on his/her username in Richie's page header. + +Links order will be respected to build the dropdown menu. + +- Type: dictionary +- Required: No +- Value: For example, to emulate the links proposed in OpenEdX, you can configure this setting + as follows: + + ```python + { + "dashboard": { + "label": _("Dashboard"), + "href": "{base_url:s}/dashboard", + }, + "profile": { + "label": _("Profile"), + "href": "{base_url:s}/u/(username)", + }, + "account": { + "label": _("Account"), + "href": "{base_url:s}/account/settings", + } + } + ``` + + The `base_url` variable is used as a Python format parameter and will be replaced by the value + set for the above authentication delegation `BASE_URL` setting. + + If you need to bind user data into a url, wrap the property between brackets. For example, the + link configured above for the profile page `{base_url:s}/u/(username)` would point to + `https://lms.example.com/u/johndoe` for a user carrying the username `johndoe`. diff --git a/website/versioned_docs/version-2.30.0/django-react-interop.md b/website/versioned_docs/version-2.30.0/django-react-interop.md new file mode 100644 index 0000000000..8eac2352a0 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/django-react-interop.md @@ -0,0 +1,119 @@ +--- +id: django-react-interop +title: Connecting React components with Django +sidebar_label: Django & React +--- + +`richie` is a hybrid app, that relies on both HTML pages generated by the backend (Django/DjangoCMS) based on templates, and React components rendered on the frontend for parts of these HTML pages. + +## Rendering components + +We needed a convention that enables us to easily mark those areas of the page that React needs to take control of, and to tell React which component to load there. + +We decided to use a specific CSS class name along with its modifiers. We reserve the `richie-react` class and its modified children for this purpose. + +Additionally, components including internationalized data or strings need to know which locale to use. They will pick up the locale specified through the `lang` attribute of the `` element, which is a requirement to have an accessible page anyway. + +They use the BCP47/RFC5646 format. + +```html + +``` + +### Example + +Here is how we would call a `` component from a template, a plugin or a snippet: + +```html + +``` + +When our JS is loaded, it will recognize this as an element it must take over, and render the FeaturedCourses component in this element. + +## Passing properties to components + +Some of Richie's React components, and some of those you might want to write, require arguments or "props" to be passed to them. We could work around that by adding API routes to fetch these props, but that would add complexity and reduce performance. + +Instead, we decided to normalize a simpler way for components in Richie to accept input from the Django template that is adding them to the DOM. + +We can add a `data-props` attribute on the element with the `richie-react` class and write a JSON object as the value for this attribute. Each key-value pair in this object will be passed as a `propName={propValue}` to the React component. + +### Example + +Here is how we would pass a `categories={[ "sociology", "anthropology" ]}` prop to our `` component: + +```html + +``` + +When the component is rendered, it will be passed a `categories` prop with the relevant categories. + +## Built-in components + +Here are the React component that Richie comes with and uses out of the box. + +### <RootSearchSuggestField /> + +Renders a course search bar, like the one that appears in the default `Search` page. + +Interactions will send the user to the `courseSearchPageUrl` url passed in the props, including the selected filter and/or search terms. + +It also autocompletes user input with course names and allows users to go directly to the course page if they select a course name among the selected results. + +Props: + +- `courseSearchPageUrl` [required] — URL for the course search page users should be sent to when they select a suggestion that is not a course, or launch a search with text terms. +- `context` [required] — see [context](#context). + +### <Search /> + +Renders the full-page course search engine interface, including the search results, and filters pane, but not the suggest field (which can be added separately with ``) nor the page title. + +NB: the `Search` Django template basically renders just this page. If you need this, use it instead. It is included here for completeness' sake. + +Props: + +- `context` [required] — see [context](#context). + +### <SearchSuggestField /> + +Renders the course search bar that interacts directly with ``. + +It automatically communicates with `` through browser history APIs and a shared React provider. This one, unlike ``, is meant to be used in combination with `` (on the same page). + +Props: + +- `context` [required] — see [context](#context). + +### <UserLogin /> + +Renders a component that uses the `/users/whoami` endpoint to determine if the user is logged in and show them the appropriate interface: Signup/Login buttons or their name along with a Logout button. + +Props: + +- `loginUrl` [required] — the URL where the user is sent when they click on "Log in"; +- `logoutUrl` [required] — a link that logs the user out and redirects them (can be the standard django logout URL); +- `signupUrl` [required] — the URL where the user is sent when they click on "Sign up". + +## Context + +All built-in components for Richie accept a `context` prop, that may be required or optional, depending on the component. + +It is used to pass app-wide contextual information pertaining to the current instance, deployment or theme of Richie. + +Here is the expected shape for this object: + +```js + { + assets: { + // SVG sprite used throughout Richie + icons: "/path/to/icons/sprite.svg" + } + } +``` +Note that it might be expanded in further versions of Richie. diff --git a/website/versioned_docs/version-2.30.0/docker-development.md b/website/versioned_docs/version-2.30.0/docker-development.md new file mode 100644 index 0000000000..450d043a79 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/docker-development.md @@ -0,0 +1,124 @@ +--- +id: docker-development +title: Developing Richie with Docker +sidebar_label: Docker development +--- + +Now that you have `Richie` up and running, you can start working with it. + +## Settings + +Settings are defined using [Django +Configurations](https://django-configurations.readthedocs.io/en/stable/) for +different environments: + +- `Development`: settings for development on developers' local environment, +- `Test`: settings used to run our test suite, +- `ContinousIntegration`: settings used on the continuous integration platform, +- `Feature`: settings for deployment of each developers' feature branches, +- `Staging`: settings for deployment to the staging environment, +- `PreProduction`: settings for deployment to the pre-production environment, +- `Production`: settings for deployment to the production environment. + +The `Development` environment is defined as the default environment. + +## Front-end tools + +If you intend to work on the front-end development of the CMS, we also have +sweet candies for you! 🤓 + +```bash +# Start the Sass watcher +$ make watch-sass + +# In a new terminal or session, start the TypeScript watcher +$ make watch-ts +``` + +## Container control + +You can stop/start/restart a container: + + $ docker compose [stop|start|restart] [app|postgresql|mysql|elasticsearch] + +or stop/start/restart all containers in one command: + + $ docker compose [stop|start|restart] + +## Debugging + +You can easily see the latest logs for a container: + + $ docker compose logs [app|postgresql|mysql|elasticsearch] + +Or follow the stream of logs: + + $ docker compose logs --follow [app|postgresql|mysql|elasticsearch] + +If you need to debug a running container, you can open a Linux shell with the +`docker compose exec` command (we use a sugar script here, see next section): + + $ bin/exec [app|postgresql|mysql|elasticsearch] bash + +While developing on `Richie`, you will also need to run a `Django shell` and it +has to be done in the `app` container (we use a sugar script here, see next +section): + + $ bin/run app python sandbox/manage.py shell + +## Using sugar scripts + +While developing using Docker, you will fall into permission issues if you mount +the code directory as a volume in the container. Indeed, the Docker engine will, +by default, run the containers using the `root` user. Any file created or +updated by the app container on your host, as a result of the volume mounts, +will be owned by the local root user. One way to solve this is to use the +`--user="$(id -u)"` flag when calling the `docker compose run` or +`docker compose exec` commands. By using the user flag trick, the running +container user ID will match your local user ID. But, as it's repetitive and +error-prone, we provide shortcuts that we call our "sugar scripts": + +- `bin/run`: is a shortcut for `docker compose run --rm --user="$(id -u)"` +- `bin/exec`: is a shortcut for `docker compose exec --user="$(id -u)"` +- `bin/pylint`: runs `pylint` in the `app` service using the test docker compose + file +- `bin/pytest`: runs `pytest` in the `app` service using the test docker compose + file + +## Cleanup + +If you work on the Docker configuration and make repeated modifications, +remember to periodically clean the unused docker images and containers by +running: + + $ docker image prune + $ docker container prune + +## Troubleshooting + +### ElasticSearch service is always down + +If your `elasticsearch` container fails at booting, checkout the logs via: + +```bash +$ docker compose logs elasticsearch +``` + +You may see entries similar to: + +``` +[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] +``` + +In this case, increase virtual memory as follows (UNIX systems): + +``` +$ sudo sysctl -w vm/max_map_count=262144 +``` + +This fix will apply to your current session. To make it permanent on your system, edit the +`/etc/sysctl.conf` file and add the following line: + +``` +vm.max_map_count=262144 +``` diff --git a/website/versioned_docs/version-2.30.0/filters-customization.md b/website/versioned_docs/version-2.30.0/filters-customization.md new file mode 100644 index 0000000000..0ec9408189 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/filters-customization.md @@ -0,0 +1,198 @@ +--- +id: filters-customization +title: Customizing search filters +sidebar_label: Search filters customization +--- + +You may want to customize the filters on the left side bar of the search page. + +Richie makes it easy to choose which filters you want to display among the existing filters +and in which order. You can also configure the existing filters to change their title or the +way they behave. Lastly, you can completely override a filter or create your own custom filter +from scratch. + +## Filters configuration + +Filters must first be defined in the `FILTERS_CONFIGURATION` setting. It is a dictionary defining +for each filter, a predefined `class` in the code where the filter is implemented and the +parameters to apply to this class when instantiating it. + +Let's study a few examples of filters in the default configuration: + +``` +FILTERS_CONFIGURATION = { + ... + "pace": { + "class": "richie.apps.search.filter_definitions.StaticChoicesFilterDefinition", + "params": { + "fragment_map": { + "self-paced": [{"bool": {"must_not": {"exists": {"field": "pace"}}}}], + "lt-1h": [{"range": {"pace": {"lt": 60}}}], + "1h-2h": [{"range": {"pace": {"gte": 60, "lte": 120}}}], + "gt-2h": [{"range": {"pace": {"gt": 120}}}], + }, + "human_name": _("Weekly pace"), + "min_doc_count": 0, + "sorting": "conf", + "values": { + "self-paced": _("Self-paced"), + "lt-1h": _("Less than one hour"), + "1h-2h": _("One to two hours"), + "gt-2h": _("More than two hours"), + }, + }, + }, + ... +} +``` + +This filter uses the `StaticChoicesFilterDefinition` filter definition class and allows filtering +on the `pace` field present in the Elasticsearch index. The `values` parameter defines 4 ranges +and their human readable format that will appear as 4 filtering options to the user. + +The `fragment_map` parameter defines a fragment of the Elasticsearch query to apply on the `pace` +field when one of these options is selected. + +The `human_name`parameter defines how the filter is entitled. It is defined as a lazy i18n string +so that it can be translated. + +The `sorting` parameter determines how the facets are sorted in the left side panel of the filter: +- `conf`: facets are sorted as defined in the `values` configuration parameter +- `count`: facets are sorted according to the number of course results associated with each facet +- `name`: facets are sorted by their name in alphabetical order + +The `min_doc_count` parameter defines how many associated results a facet must have at the minimum +before it is displayed as an option for the filter. + +Let's study another interesting example: + +``` +FILTERS_CONFIGURATION = { + ... + "organizations": { + "class": "richie.apps.search.filter_definitions.IndexableHierarchicalFilterDefinition", + "params": { + "human_name": _("Organizations"), + "is_autocompletable": True, + "is_drilldown": False, + "is_searchable": True, + "min_doc_count": 0, + "reverse_id": "organizations", + }, + }, + ... +} +``` + +This filter uses the `IndexableHierarchicalFilterDefinition` filter definition class and allows +filtering on the link between course pages and other pages identified by their IDs like for +example here `Organization` pages. + +In the example above, when an option is selected, results will only include the courses for which +the `organizations` field in the index is including the ID of the selected organization page. + +The `reverse_id` parameter should point to a page's reverse ID (see DjangoCMS documentation) in +the CMS. The filter will propose a filtering option for each children organization under this +page. + +The `is_autocompletable` field determines whether organizations should be searched and suggested +by the autocomplete feature (organizations must have an associated index and API endpoint for +autocompletion carrying the same name). + +The `is_drilldown` parameter determines whether the filter is limited to one active value at a +time or allows multi-facetting. + +The `is_searchable` field determines whether organizations filters should present a "more options" +button in case there are more facet options in results than can be displayed (organizations must +have an associated API endpoint for full-text search, carrying the same name). + +Lastly, let's look at nested filters which, as their name indicates, allow filtering on nested +fields. + +For example, in the course index, one of the fields is named `course_runs` and contains a list of +objects in the following format: + +``` +"course_runs": [ + { + "start": "2022-09-09T09:00:00.000000", + "end": "2021-10-30T00:00:00.000000Z", + "enrollment_start": "2022-08-01T09:00:00.000000Z", + "enrollment_end": "2022-09-08T00:00:00.000000Z", + "languages": ["en", "fr"], + }, + { + "start": "2023-03-01T09:00:00.000000", + "end": "2023-06-03T00:00:00.000000Z", + "enrollment_start": "2023-01-01T09:00:00.000000Z", + "enrollment_end": "2023-03-01T00:00:00.000000Z", + "languages": ["fr"], + }, +] +``` + +If we want to filter courses that are available in the english language, we can thus configure the +following filter: + +``` +FILTERS_CONFIGURATION = { + ... + "course_runs": { + "class": "richie.apps.search.filter_definitions.NestingWrapper", + "params": { + "filters": { + "languages": { + "class": "richie.apps.search.filter_definitions.LanguagesFilterDefinition", + "params": { + "human_name": _("Languages"), + # There are too many available languages to show them all, all the time. + # Eg. 200 languages, 190+ of which will have 0 matching courses. + "min_doc_count": 1, + }, + }, + } + }, + }, + ... +} +``` + +## Filters presentation + +Which filters are displayed in the left side bar of the search page and in which order is defined +by the `RICHIE_FILTERS_PRESENTATION` setting. + +This setting is expecting a list of strings, which are the names of the filters as defined +in the `FILTERS_CONFIGURATION` setting decribed in the previous section. If it, for example, +contains the 3 filters presented in the previous section, we could define the following +presentation: + +``` +RICHIE_FILTERS_PRESENTATION = ["organizations", "languages", "pace"] +``` + +## Writing your own custom filters + +You can write your own filters from scratch although we must warn you that it is not trivial +because it requires a good knowledge of Elasticsearch and studying the mapping defined in the +[courses indexer][1]. + +A filter is a class deriving from [BaseFilterDefinition][2] and defining methods to return the +information to display the filter and query fragments for elasticsearch: +- `get_form_fields`: returns the form field instance that will be used to parse and validate this + filter's values from the querystring +- `get_query_fragment`: returns the query fragment to use as filter in ElasticSearch +- `get_aggs_fragment`: returns the query fragment to use to extract facets from + ElasticSearch aggregations +- `get_facet_info`: returns the dynamic facet information from a filter's Elasticsearch facet + results. Together with the facet's static information, it will be used to display the filter + in its current status in the left side panel of the search page. + +We will not go into more details here about how filter definition classes work, but you can refer +to the code of the existing filters as good examples of what is possible. The code, although not +trivial, was given much care and includes many comments in an attempt to help writing new custom +filters. Of course, don't hesitate to ask for help by +[opening an issue](https://github.com/openfun/richie/issues)! + +[1]: https://github.com/openfun/richie/blob/master/src/richie/apps/search/indexers/courses.py +[2]: https://github.com/openfun/richie/blob/master/src/richie/apps/search/filter_definitions/base.py diff --git a/website/versioned_docs/version-2.30.0/frontend-overrides.md b/website/versioned_docs/version-2.30.0/frontend-overrides.md new file mode 100644 index 0000000000..032297ac2c --- /dev/null +++ b/website/versioned_docs/version-2.30.0/frontend-overrides.md @@ -0,0 +1,105 @@ +--- +id: frontend-overrides +title: Overriding frontend components +sidebar_label: Frontend overrides +--- + +Once you are able to build the frontend in your project (see previous section), you can override some parts of the frontend with a drop-in replacement you built yourself. + +This enables you to customize Richie to your own needs in the same way you could do it with backend templates by overriding templates or blocks which do not suit your needs. + +## Defining your overrides + +Create a `json` settings files somewhere in your project. You'll use it to declare the overrides for your custom Richie build. + +Currently, it is only possible to override components. Richie's build is only set up to handle them. + +Inside, create an object with only one key: `"overrides"`. This is an object, whose key-value pairs is the name of a component as a key and the path to the drop-in replacement as the value. + +```json +{ + "overrides": { + "CourseGlimpse": "src/richie/components/CustomCourseGlimpse.tsx" + } +} +``` + +## Building a component override + +As overrides are supposed to be drop-in replacements, directly processed by the bundler instead of the original file, they need to expose the same API. + +For example, if our component to override was the following: + +```tsx +export interface CourseGlimpseProps { + course: Course; + context: { someProp: string }; +} + +export const CourseGlimpse: React.FC = ({ course, context }) => { + // Whatever happens in this component + return

The glimpse

; +}; +``` + +Then, your override needs to provide the same exports, explicitly a named `CourseGlimpseProps` interface and a named `CourseGlimpse` component. + +You also need to respect the assumptions made by other components that use your overridden version, if you are not overriding a root component. + +For example returning `null` might break a layout if the original component never returned such a value, etc. You also need to make sure to avoid conflict with the parameters accepted by the original component. + +## Override translation +When you create an application based on richie, you can encounter two cases about translations: +1. You created or overrode a react component and created new translation keys +2. You just want to override a translation in an existing richie component + + + +### Create new translation keys + +Once you created your new component with its translation keys, you have to extract them with the following command: +``` + formatjs extract './**/*.ts*' --ignore ./node_modules --ignore './**/*.d.ts' --out-file './i18n/frontend.json --id-interpolation-pattern '[sha512:contenthash:base64:6]' --format crowdin +``` + +This command extracts all translations defined in your typescript files then generates a `frontend.json` file in `i18n/` directory. This file is like a pot file, this is the base to create your translations in any language you want. + +As `--format` option indicates, this command generates a file compatible with crowdin. If you want to customize this command to fit your needs, read the [formatjs/cli documentation](https://formatjs.io/docs/tooling/cli/). + +Once translations keys are extracted and your local translations are ready, you need to compile these translations. In fact, the compilation process first aggregates all translation files found from provided paths then merges them with richie translations according their filename and finally generates an output formatted for `react-intl`. Below, here is an example of a compilation command: + +``` + node-modules/richie-education/i18n/compile-translations.js ./i18n/locales/*.json +``` + +This command looks for all translation files in `i18n/locales` directory then merges files found with richie translation files. You can pass several path patterns. You can also use an `--ignore` argument to ignore a particular path. + +### Override an existing translation key + +As explain above, the compilation process aggregates translations files then **merges them according their filename**. That means if you want override for example the english translation, you just have to create a `en-US.json` file and redefine translation keys used by Richie. + +Richie uses one file per language. Currently 4 languages supported: + +- English: filename is `en-US.json` +- French: filename is `fr-FR.json` +- Canadian french: filename is `fr-CA.json` +- Spanish: filename is `es-ES.json` + + +For example, richie uses the translation key `components.UserLogin.logIn` for the Log in button. If you want to change this label for the english translation, you just have to create a translation file `en-US.json` which redefines this translation key: + +```json +{ + "components.UserLogin.logIn": { + "description": "Overriden text for the login button.", + "message": "Authentication" + }, +} +``` + +Then, for example if you put your overridden translation in i18n/overrides directory, you have to launch the compilation command below: +``` + node-modules/richie-education/i18n/compile-translations.js ./i18n/overrides/*.json +``` + +In this way, "_Authentication_" will be displayed as label for login button instead of "_Sign in_". diff --git a/website/versioned_docs/version-2.30.0/installation.md b/website/versioned_docs/version-2.30.0/installation.md new file mode 100644 index 0000000000..bb6dc20065 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/installation.md @@ -0,0 +1,96 @@ +--- +id: installation +title: Installing Richie for development +sidebar_label: Installation +--- + +`Richie` is a **container-native application** but can also be installed +[on your machine](native-installation.md). + +For development, the project is defined using a +[docker-compose file](../docker-compose.yml) and consists of: + +- 3 running services: + - **database**: `postgresql` or `mysql` at your preference, + - **elasticsearch**: the search engine, + - **app**: the actual `DjangoCMS` project with all our application code. + +- 2 containers for building purposes: + + - **node**: used for front-end related tasks, _i.e._ transpiling + `TypeScript` sources, bundling them into a JS package, and building the + CSS files from Sass sources, + - **crowdin**: used to upload and retrieve i18n files to and from the + [Crowding](https://crowdin.com/) service that we use to crowd source + translations, + +At "France Université Numérique", we deploy our applications on `Kubernetes` +using [`Arnold`](https://github.com/openfun/arnold). + +## Docker + +First, make sure you have a recent version of Docker and +[Docker Compose](https://docs.docker.com/compose/install) installed on your +laptop: + +```bash +$ docker -v + Docker version 26.0.0, build 2ae903e + +$ docker compose --version + Docker Compose version v2.25.0 +``` + +⚠️ You may need to run the following commands with `sudo` but this can be +avoided by assigning your user to the `docker` group. + +### Project bootstrap + +The easiest way to start working on the project is to use our `Makefile`: + + $ make bootstrap + +This command builds the `app` container, installs front-end and back-end +dependencies, builds the front-end application and styles, and performs +database migrations. It's a good idea to use this command each time you are +pulling code from the project repository to avoid dependency-related or +migration-related issues. + +Now that your `Docker` services are ready to be used, start the full CMS by +running: + + $ make run + +### Adding content + +Once the CMS is up and running, you can create a superuser account: + + $ make superuser + +You can create a basic demo site by running: + + $ make demo-site + +Note that if you don't create the demo site and start from a blank CMS, you +will get some errors requesting you to create some required root pages. So it +is easier as a first approach to test the CMS with the demo site. + +You should be able to view the site at [localhost:8070](http://localhost:8070) + +## Connecting Richie to an LMS + +It is possible to use Richie as a catalogue aggregating courses from one or +more LMS without any specific connection. In this case, each course run in +the catalogue points to a course on the LMS, and the LMS points back to the +catalogue to browse courses. + +This approach is used for example on https://www.fun-campus.fr or +https://catalogue.edulib.org. + +For a seamless user experience, it is possible to connect a Richie instance +to an OpenEdX instance (or some other LMS like Moodle at the cost of minor +adaptations), in several ways that we explain in the +[LMS connection guide](lms-connection). + +This approach is used for example on https://www.fun-mooc.fr or +https://www.nau.edu.pt. diff --git a/website/versioned_docs/version-2.30.0/internationalization.md b/website/versioned_docs/version-2.30.0/internationalization.md new file mode 100644 index 0000000000..b4e791ed54 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/internationalization.md @@ -0,0 +1,48 @@ +--- +id: internationalization +title: Internationalization +sidebar_label: I18n +--- + +`richie` has built-in localization and internationalization: + +- On the backend and CMS, i18n is built on the shoulders of Django and DjangoCMS, +- On the frontend, we use React Intl. + +## Contributing as a translator or proof-reader + +We use the [Crowdin](https://crowdin.com) web platform to translate Richie to different languages. +All translations are hosted at https://i18n.richie.education, which allows translators and +proof-readers to contribute on translations in the languages they master. + +### Sign-up on Crowdin + +If you don't have an account on Crowdin already, go to https://accounts.crowdin.com/register and +fill out the form to create a free account. + +### Join the Richie project + +Now that you have an account on Crowdin, +[look for the project called "Richie"](https://crowdin.com/project/richie), select the language +on which you wish to contribute and click the "Join" button as demonstrated below: + +![How to join Richie on Crowdin](assets/images/crowdin-join-richie.gif) + +We will then review you application and you should soon start translating strings! + +For more information on how Crowdin works, you can refer to +[their documentation](https://support.crowdin.com). + +### Add a new language + +If Richie is not yet translated in the language you want, let us know by clicking the "contact" +link on [Richie's Crowdin profile page](https://i18n.richie.education) and we will consider adding +it. + +If you request a new language, the Richie community will expect you to keep this language +up-to-date each time strings are modified or new strings are added, and this before each +release. + +Before asking for a new language, make sure it does not already exist. If your language already +exists in another variant (e.g. Brazilian portuguese vs Portugal portuguese), you may consider +contributing on the existing language if your resources to contribute are limited. diff --git a/website/versioned_docs/version-2.30.0/joanie-connection.md b/website/versioned_docs/version-2.30.0/joanie-connection.md new file mode 100644 index 0000000000..19cdddea05 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/joanie-connection.md @@ -0,0 +1,132 @@ +--- +id: joanie-connection +title: Joanie Connection +sidebar_label: Joanie Connection +--- + +[Joanie](https://github.com/openfun/joanie) delivers an API able to manage course +enrollment/subscription, payment and certificates delivery. Richie can be configured to display +course runs and micro-credentials managed through Joanie. + +In fact, Richie treats Joanie almost like a [LMS backend](./lms-backends.md) that's why settings +are similars. + +## Configuring Joanie + +All settings related to Joanie have to be declared in the `JOANIE_BACKEND` dictionnary +within `settings.py`. + +```python +JOANIE_BACKEND = { + "BASE_URL": values.Value(environ_name="JOANIE_BASE_URL", environ_prefix=None), + "BACKEND": values.Value("richie.apps.courses.lms.joanie.JoanieBackend", environ_name="JOANIE_BACKEND", environ_prefix=None), + "JS_BACKEND": values.Value("joanie", environ_name="JOANIE_JS_BACKEND", environ_prefix=None), + "COURSE_REGEX": values.Value( + r"^.*/api/v1.0(?P(?:/(?:courses|course-runs|products)/[^/]+)+)/?$", + environ_name="JOANIE_COURSE_REGEX", + environ_prefix=None, + ), + "JS_COURSE_REGEX": values.Value( + r"^.*/api/v1.0((?:/(?:courses|course-runs|products)/[^/]+)+)/?$", + environ_name="JOANIE_JS_COURSE_REGEX", + environ_prefix=None, + ), + # Course runs synchronization + "COURSE_RUN_SYNC_NO_UPDATE_FIELDS": [], + "DEFAULT_COURSE_RUN_SYNC_MODE": "sync_to_public", +} +... +``` + +As mentioned earlier, Joanie is treated as a LMS by Richie, so we have to bind Joanie settings with +LMS backends settings. We achieve this by dynamically appending the `JOANIE_BACKEND` setting value +into the `RICHIE_LMS_BACKENDS` list, if Joanie is enabled. To understand this point, you can take a +look at the `post_setup` method of the Base class configuration into `settings.py`. + +Here they are all settings available into `JOANIE_BACKEND`: + +### BASE_URL + +The base url on which the Joanie instance is hosted. This is used to construct the complete url of +the API endpoint on which requests are made by Richie's frontend application. *Richie checks if this +settings is set to know if Joanie should be enabled or not.* + +- Type: string +- Required: Yes +- Value: for example https://joanie.example.com + +### BACKEND + +The path to a Python class serving as Joanie backend. You should not need to change this setting +until you want to customize the behavior of the python Joanie backend. + +- Type: string +- Required: No +- Value: By default it is `richie.apps.courses.lms.joanie.JoanieBackend` + +### JS_BACKEND + +The name of the ReactJS backend to use Joanie. You should not need to change this setting +until you want to customize the behavior of the js Joanie backend. + +- Type: string +- Required: No +- Value: By default it is `joanie`. + +### COURSE_REGEX + +A python regex that should match the ressource api urls of Joanie and return a +`resource_uri` named group. The `resource_uri` group should contain the url part containing +all resources type and id implied. +e.g: `https://joanie.test/courses/00003/products/000001/` -> `/courses/00003/products/000001` + +- Type: string +- Required: No +- Value: for example `r"^.*/api/v1.0(?P(?:/(?:courses|course-runs|products)/[^/]+)+)/?$"` + + +### JS_COURSE_REGEX + +A Javascript regex that should match the ressource api urls of Joanie and return an unamed group +corresponding to the `resource_uri` named group described in `COURSE_REGEX` section. Extracting +properly this information is mandatory as this group is parsed under the hood +by the frontend application to extract resource types and resource ids. + +- Type: string +- Required: No +- Value: for example `r"^.*/api/v1.0((?:/(?:courses|course-runs|products)/[^/]+)+)/?$"` + +### COURSE_RUN_SYNC_NO_UPDATE_FIELDS + +A list of fields that must only be set the first time a course run is synchronized. During this +first synchronization, a new course run is created in Richie and all fields sent to the API +endpoint via the payload are set on the object. For subsequent synchronization calls, the fields +listed in this setting are ignored and not synchronized. This can be used to allow modifying some +fields manually in Richie regardless of what OpenEdX sends after an initial value is set. + +Read documentation of [the eponym `LMS_BACKENDS` settings](./lms-backends.md#course_run_sync_no_update_fields), +to discover how it can be configured. + +### DEFAULT_COURSE_RUN_SYNC_MODE + +Joanie resources (course runs and products) are all synchronized with Richie as a CourseRun. This +setting is used to set the value of the `sync_mode` field when a course run is created on Richie. +Read documentation of [the eponym `LMS_BACKENDS` settings](./lms-backends.md#default_course_run_sync_mode), +to discover how it can be configured. + +## Access Token +### Lifetime configuration +Access Token is stored within the SessionStorage through [react-query client persister](https://tanstack.com/query/v4/docs/plugins/persistQueryClient). +By default, richie frontend considered access token as stale after 5 minutes. You can change this +value into [`settings.ts`](https://github.com/openfun/richie/blob/643d7bbdb7f9a02a86360607a7b37c587e70be1a/src/frontend/js/settings.ts) +by editing `REACT_QUERY_SETTINGS.staleTimes.session`. + +To always have a valid access token, you have to configure properly its stale time according to the +lifetime of the access token defined by your authentication server. For example, if your +authentication server is using `djangorestframework-simplejwt` to generate the access token, +its lifetime is 5 minutes by default. + +## Technical support + +If you encounter an issue with this documentation, please +[open an issue on our repository](https://github.com/openfun/richie/issues). diff --git a/website/versioned_docs/version-2.30.0/lms-backends.md b/website/versioned_docs/version-2.30.0/lms-backends.md new file mode 100644 index 0000000000..c16848aa6d --- /dev/null +++ b/website/versioned_docs/version-2.30.0/lms-backends.md @@ -0,0 +1,159 @@ +--- +id: lms-backends +title: Configuring LMS Backends +sidebar_label: LMS Backends +--- + +Richie can be connected to one or more OpenEdX Learning Management Systems (LMS) for a seamless +experience between browsing the course catalog on Richie, enrolling to a course and following the +course itself on the LMS. + +It is possible to do the same with Moodle or any other LMS exposing an enrollment API, at the +cost of writing a custom LMS handler backend. + +## Prerequisites + +This connection requires that Richie and OpenEdX be hosted on sibling domains i.e. domains that +are both subdomains of the same root domain, e.g. `richie.example.com` and `lms.example.com`. + +OpenEdX will need to generate a CORS CSRF Cookie and this cookie is flagged as secure, which +implies that we are not able to use it without SSL connections. + +As a consequence, you need to configure your OpenEdX instance as follows: + +```python +FEATURES = { + ... + "ENABLE_CORS_HEADERS": True, + "ENABLE_CROSS_DOMAIN_CSRF_COOKIE": True, +} + +CORS_ALLOW_CREDENTIALS = True +CORS_ALLOW_INSECURE = False +CORS_ORIGIN_WHITELIST: ["richie.example.com"] # The domain on which Richie is hosted + +CROSS_DOMAIN_CSRF_COOKIE_DOMAIN = ".example.com" # The parent domain shared by Richie and OpenEdX +CROSS_DOMAIN_CSRF_COOKIE_NAME: "edx_csrf_token" +SESSION_COOKIE_NAME: "edx_session" +``` + +## Configuring the LMS handler + +The `LMSHandler` utility acts as a proxy that routes queries to the correct LMS backend API, +based on a regex match on the URL of the course. It is configured via the `RICHIE_LMS_BACKENDS` +setting. As an example, here is how it would be configured to connect to an Ironwood OpenEdX +instance hosted on `https://lms.example.com`: + +```python +RICHIE_LMS_BACKENDS=[ + { + "BASE_URL": "https://lms.example.com", + # Django + "BACKEND": "richie.apps.courses.lms.edx.EdXLMSBackend", + "COURSE_REGEX": r"^https://lms\.example\.com/courses/(?P.*)/course/?$", + # ReactJS + "JS_BACKEND": "openedx-hawthorn", + "JS_COURSE_REGEX": r"^https://lms\.example\.com/courses/(.*)/course/?$", + # Course runs synchronization + "COURSE_RUN_SYNC_NO_UPDATE_FIELDS": [], + "DEFAULT_COURSE_RUN_SYNC_MODE": "sync_to_public", + }, +] +``` + +The following should help you understand how to configure this setting: + +### BASE_URL + +The base url on which the OpenEdX instance is hosted. This is used to construct the complete url +of the API endpoint on which the enrollment request is made by Richie's frontend application. + +- Type: string +- Required: Yes +- Value: for example https://lms.example.com + + +### BACKEND + +The path to a Python class serving as LMS backend for the targeted LMS. + +- Type: string +- Required: Yes +- Value: Richie ships with the following Python backends (custom backends can be written to fit + another specific LMS): + + `richie.apps.courses.lms.edx.EdXLMSBackend`: backend for OpenEdX + + `richie.apps.courses.lms.base.BaseLMSBackend`: fake backend for development purposes + + +### COURSE_REGEX + +A Python regex that should match the course syllabus urls of the targeted LMS and return a +`course_id` named group on the id of the course extracted from these urls. + +- Type: string +- Required: Yes +- Value: for example `^.*/courses/(?P.*)/course/?$` + + +### JS_BACKEND + +The name of the ReactJS backend to use for the targeted LMS. + +- Type: string +- Required: Yes +- Value: Richie ships with the following Javascript backends (custom backends can be written to + fit another specific LMS): + + `openedx-dogwood`: backend for OpenEdX versions equal to `dogwood` or `eucalyptus` + + `openedx-hawthorn`: backend for OpenEdX versions equal to `hawthorn` or higher + + `openedx-fonzie`: backend for OpenEdX via [Fonzie](https://github.com/openfun/fonzie) + (extra user info and JWT tokens) + + `dummy`: fake backend for development purposes + +### JS_COURSE_REGEX + +A Javascript regex that should match the course syllabus urls of the targeted LMS and return an +unnamed group on the id of the course extracted from these urls. + +- Type: string +- Required: Yes +- Value: for example `^.*/courses/(.*)/course/?$` + +### DEFAULT_COURSE_RUN_SYNC_MODE + +When a course run is created, this setting is used to set the value of the `sync_mode` field. +This value defines how the course runs synchronization script will impact this course run after +creation. + +- Type: enum(string) +- Required: No +- Value: possible values are `manual`, `sync_to_draft` and `sync_to_public` + + `manual`: this course run is ignored by the course runs synchronization script + + `sync_to_draft`: only the draft version of this course run is synchronized. A manual + publication is necessary for the update to be visible on the public site. + + `sync_to_public`: the public version of this course run is updated by the synchronization + script. As a results, updates are directly visible on the public site without further + publication by a staff user in Richie. + +### COURSE_RUN_SYNC_NO_UPDATE_FIELDS + +A list of fields that must only be set the first time a course run is synchronized. During this +first synchronization, a new course run is created in Richie and all fields sent to the API +endpoint via the payload are set on the object. For subsequent synchronization calls, the fields +listed in this setting are ignored and not synchronized. This can be used to allow modifying some +fields manually in Richie regardless of what OpenEdX sends after an initial value is set. + +Note that this setting is only effective for course runs with the `sync_mode` field set to a +value other then `manual`. + +- Type: enum(string) +- Required: No +- Value: for example ["languages"] + + +## Technical support + +If you encounter an issue with this documentation or the backends included in Richie, please +[open an issue on our repository](https://github.com/openfun/richie/issues). + +If you need a custom backend, you can [submit a PR](https://github.com/openfun/richie/pulls) or +[open an issue](https://github.com/openfun/richie/issues) and we will consider adding it. diff --git a/website/versioned_docs/version-2.30.0/lms-connection.md b/website/versioned_docs/version-2.30.0/lms-connection.md new file mode 100644 index 0000000000..ce91cc165c --- /dev/null +++ b/website/versioned_docs/version-2.30.0/lms-connection.md @@ -0,0 +1,91 @@ +--- +id: lms-connection +title: Connecting Richie with one or more LMS +sidebar_label: LMS connection +--- + +## Connecting Richie to an LMS + +Richie can be connected to an LMS in several ways, ranging from SSO to a fully integrated +seamless experience. + +As of today, each approach has been implemented for OpenEdX but the same could be done for +other LMSes like Moodle, at the cost of minor adaptations. + + +### 1. Displaying connection status + +OpenEdX can be configured to allow CORS requests. Doing so allows Richie to retrieve a user's +connection status from OpenEdx and display the user's profile information directly on the Richie +site: username, dashboard url, etc. + +In this approach, a user visiting your Richie site and trying to signup or login, is sent to the +OpenEdX site for authentication and is redirected back to the Richie site upon successful login. + +You can see this in action on https://www.fun-mooc.fr. + +We provide detailed instructions on +[how to configure displaying OpenEdX connection status in Richie](displaying-connection-status.md). + + +### 2. Seamless enrollment + +Thanks to OpenEdX's enrollment API, it is possible to let users enroll on course runs without +leaving Richie. + +You can see this in action on https://www.fun-mooc.fr. + +> This feature requires that Richie and OpenEdX be hosted on sibling domains i.e. domains that +> are both subdomains of the same root domain, e.g. `richie.example.com` and `lms.example.com`. + +You should read our guide on [how to use OpenEdX as LMS backend for Richie](lms-backends). + + +### 3. Synchronizing course runs details + +Course runs in Richie can be handled manually, filling all fields via the DjangoCMS front-end +editing interface. But a better way to handle course runs is to synchronize them automatically +from your LMS using the course run synchronization API. + +Please refer to our guide on [how to synchronize course runs between Richie and OpenEdx][sync] + +### 4. Joanie, the enrollment manager + +For more advanced use cases, we have started a new project called [Joanie] which acts as an +enrollment manager for Richie. + +Authentication in Joanie is done via JWT Tokens for maximum flexibility and decoupling in +identity management. + +The project started early 2021, but over time, Joanie will handle: + +- paid enrollments / certification +- micro-credentials +- user dashboard +- cohorts management (academic or B2B) +- multi-LMS catalogs +- time based enrollment + + +## Development + +For development purposes, the docker compose project provided on +[Richie's code repository](https://github.com/openfun/richie) is pre-configured to connect +with an OpenEdx instance started with +[OpenEdx Docker](https://github.com/openfun/openedx-docker), which provides a ready-to-use +docker compose stack of OpenEdx in several flavors. Head over to +[OpenEdx Docker README](https://github.com/openfun/openedx-docker#readme) for instructions on how to bootstrap an OpenEdX instance. + +Now, start both the OpenEdX and Richie projects separately with `make run`. + +Richie should respond on `http://localhost:8070`, OpenEdx on `http://localhost:8073` and both +apps should be able to communicate with each other via the network bridge defined in +docker compose. + +If you want to activate [seamless enrollment](#2-seamless-enrollment) locally for development, +you will need to set up TLS domains for both Richie and OpenEdX. To do this, head over to our +guide on [setting-up TLS connections for Richie and OpenEdX](tls-connection). + + +[Joanie]: https://github.com/openfun/joanie +[sync]: synchronizing-course-runs diff --git a/website/versioned_docs/version-2.30.0/native-installation.md b/website/versioned_docs/version-2.30.0/native-installation.md new file mode 100644 index 0000000000..0573a8d8e1 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/native-installation.md @@ -0,0 +1,190 @@ +--- +id: native-installation +title: Installing Richie on your machine +sidebar_label: Native installation +--- + +This document aims to list all needed steps to have a working `Richie` +installation on your laptop. + +A better approach is to use [`Docker`](https://docs.docker.com) as explained in +our guide for [container-native installation](installation.md) instructions. + +## Installing a fresh server + +### Version + +You need a `Ubuntu 18.04 Bionic Beaver` (the latest LTS version) fresh +installation. + +If you are using another operating system or distribution, you can use +[`Vagrant`](https://docs.vagrantup.com/v2/getting-started/index.html) to get a +running Ubuntu 18.04 server in seconds. + +### System update + +Be sure to have fresh packages on the server (kernel, libc, ssl patches...): +post + +```sh +sudo apt-get -y update +sudo apt-get -y dist-upgrade +``` + +## Database part + +You must first install `postgresql`. + +```sh +// On Linux +sudo apt-get -y install postgresql + +// On OS X +brew install postgresql@10 +brew services start postgresql@10 +// don't forget to add your new postgres install to the $PATH +``` + +`Postgresql` is now running. + +Then you can create the database owner and the database itself, using the +`postgres` user: + +```sh +sudo -u postgres -i // skip this on OS X as the default install will use your local user +createuser fun -sP +``` + +Note: we created the user as a superuser. This should only be done in dev/test +environments. + +Now, create the database with this user: + +```sh +createdb richie -O fun -W +exit +``` + +## Elasticsearch + +### Ubuntu + +Download and install the Public Signing Key + + $ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - + +You may need to install the apt-transport-https package on Debian before +proceeding: + + $ sudo apt-get install apt-transport-https + +Save the repository definition to /etc/apt/sources.list.d/elastic-6.3.1.list: + + $ echo "deb https://artifacts.elastic.co/packages/6.3.1/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.3.1.list + +Update repository and install + + $ sudo apt-get update + $ sudo apt-get install elasticsearch + $ sudo /etc/init.d/elasticsearch start + +### OS X + + $ brew install elasticsearch + +## Application part + +### Python and other requirements + +We use `Python 3.6` which is the one installed by default in `Ubuntu 18.04`. + +You can install it on OS X using the following commands. Make sure to always run +`python3` instead of `python` and `pip3` instead of `pip` to ensure the correct +version of Python (your homebrew install of 3) is used. + +``` +brew install python3 +brew postinstall python3 +``` + +### The virtualenv + +Place yourself in the application directory `app`: + + cd app + +We choose to run our application in a virtual environment. + +For this, we'll install `virtualenvwrapper` and add an environment: + + pip install virtualenvwrapper + +You can open a new shell to activate the virtualenvwrapper commands, or simply +do: + + source $(which virtualenvwrapper.sh) + +Then create the virtual environment for `richie`: + + mkvirtualenv richie --no-site-packages --python=python3 + +The virtualenv should now be activated and you can install the Python +dependencies for development: + + pip install -e .[dev] + +The "dev.txt" requirement file installs packages specific to a dev environment +and should not be used in production. + +### Frontend build + +This project is a hybrid that uses both Django generated pages and frontend JS +code. As such, it includes a frontend build process that comes in two parts: JS +& CSS. + +We need NPM to install the dependencies and run the build, which depends on a +version of Nodejs specified in `.nvmrc`. See [the +repo](https://github.com/creationix/nvm) for instructions on how to install NVM. +To take advantage of `.nvmrc`, run this in the context of the repository: + + nvm install + nvm use + +As a prerequisite to running the frontend build for either JS or CSS, you'll +need to [install yarn](https://yarnpkg.com/lang/en/docs/install/) and download +dependencies _via_: + + yarn install + +- JS build + +```bash +npm run build +``` + +- CSS build + +This will compile all our SCSS files into one bundle and put it in the static +folder we're serving. + + npm run sass + +### Run server + +Make sure your database is up-to-date before running the application the first +time and after each modification to your models: + + python sandbox/manage.py migrate + +You can create a superuser account: + + python sandbox/manage.py createsuperuser + +Run the tests + + python sandbox/manage.py test + +You should now be able to start Django and view the site at +[localhost:8000](http://localhost:8000) + + python sandbox/manage.py runserver diff --git a/website/versioned_docs/version-2.30.0/synchronizing-course-runs.md b/website/versioned_docs/version-2.30.0/synchronizing-course-runs.md new file mode 100644 index 0000000000..0848d0be20 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/synchronizing-course-runs.md @@ -0,0 +1,124 @@ +--- +id: synchronizing-course-runs +title: Synchronizing course runs between Richie and OpenEdX +sidebar_label: Synchronizing course runs +--- + +Richie can receive automatic course runs updates on a dedicated API endpoint. + +## Configure a shared secret + +In order to activate the course run synchronization API endpoint, you first need to configure the +`RICHIE_COURSE_RUN_SYNC_SECRETS` setting with one or more secrets: + +```python +RICHIE_COURSE_RUN_SYNC_SECRETS = ["SharedSecret", "OtherSharedSecret"] +``` + +This setting collects several secrets in order to allow rotating them without any downtime. Any +of the secrets listed in this setting can be used to sign your queries. + +Your secret should be shared with the LMS or distant system that needs to synchronize its course +runs with the Richie instance. Richie will try the declared secrets one by one until it finds +one that matches the signature sent by the remote system. + +## Configure LMS backends + +You then need to configure the LMS handler via the `RICHIE_LMS_BACKENDS` setting as explained +in our [guide on configuring LMS backends](lms-backends#configuring-the-lms-handler). This is +required if you want Richie to create a new course run automatically and associate it with the +right course when the resource link submitted to the course run synchronization API endpoint is +unknown to Richie. + +Each course run can be set to react differently to a synchronization request, thanks to the +`sync_mode` field. This field can be set to one of the following values: + ++ `manual`: this course run is ignored by the course runs synchronization script. In this case, + the course run can only be edited manually using the DjangoCMS frontend editing. ++ `sync_to_draft`: only the draft version of this course run is synchronized. A manual + publication is necessary for the update to be visible on the public site. ++ `sync_to_public`: the public version of this course run is updated by the synchronization + script. As a results, updates are directly visible on the public site without further + publication by a staff user in Richie. + +A [DEFAULT_COURSE_RUN_SYNC_MODE parameter](lms-backends#default_course_run_sync_mode) in the +`RICHIE_LMS_BACKENDS` setting, defines what default value is used for new course runs. + +## Make a synchronization query + +You can refer to the [documentation of the course run synchronization API][sync-api] for details +on the query expected by this endpoint. + +We also share here our sample code to call this synchronization endpoint from OpenEdX. This code +should run on the `post_publish` signal emitted by the OpenEdX `cms` application each time a +course run is modified and published. + +Or you can use the [Richie Open edX Synchronization](https://github.com/fccn/richie-openedx-sync) +which is based on the following code sample and also includes the enrollment count. + +Given a `COURSE_HOOK` setting defined as follows in your OpenEdX instance: + +```python +COURSE_HOOK = { + "secret": "SharedSecret", + "url": "https://richie.example.com/api/v1.0/course-runs-sync/", +} +``` + +The code for the synchronization function in OpenEdX could look like this: + +```python +import hashlib +import hmac +import json + +from django.conf import settings + +from microsite_configuration import microsite +import requests +from xmodule.modulestore.django import modulestore + + +def update_course(course_key, *args, **kwargs): + """Synchronize an OpenEdX course, identified by its course key, with a Richie instance.""" + course = modulestore().get_course(course_key) + edxapp_domain = microsite.get_value("site_domain", settings.LMS_BASE) + + data = { + "resource_link": "https://{:s}/courses/{!s}/info".format( + edxapp_domain, course_key + ), + "start": course.start and course.start.isoformat(), + "end": course.end and course.end.isoformat(), + "enrollment_start": course.enrollment_start and course.enrollment_start.isoformat(), + "enrollment_end": course.enrollment_end and course.enrollment_end.isoformat(), + "languages": [course.language or settings.LANGUAGE_CODE], + } + + signature = hmac.new( + setting.COURSE_HOOK["secret"].encode("utf-8"), + msg=json.dumps(data).encode("utf-8"), + digestmod=hashlib.sha256, + ).hexdigest() + + response = requests.post( + setting.COURSE_HOOK["url"], + json=data, + headers={"Authorization": "SIG-HMAC-SHA256 {:s}".format(signature)}, + ) +``` + +Thanks to the signal emitted in OpenEdX, this function can then be triggered each time a course +is modified and published: + +```python +from django.dispatch import receiver +from xmodule.modulestore.django import SignalHandler + + +@receiver(SignalHandler.course_published, dispatch_uid='update_course_on_publish') +def update_course_on_publish(sender, course_key, **kwargs): + update_course(course_key) +``` + +[sync-api]: api/course-run-synchronization-api diff --git a/website/versioned_docs/version-2.30.0/tls-connection.md b/website/versioned_docs/version-2.30.0/tls-connection.md new file mode 100644 index 0000000000..728b52741c --- /dev/null +++ b/website/versioned_docs/version-2.30.0/tls-connection.md @@ -0,0 +1,106 @@ +--- +id: tls-connection +title: Connecting Richie and OpenEdX over TLS for development +sidebar_label: TLS connection for development +--- + +## Purpose + +By default in the docker compose environment for development, Richie is hosted on `localhost:8070` +and uses a fake LMS backend (`base.BaseLMSBackend`) as you can see if you check the +`RICHIE_LMS_BACKENDS` setting in `env.d/development`. + +This base backend uses session storage to fake enrollments to course runs. + +If you want to test real enrollments to an OpenEdX instance hosted on an external domain, OpenEdX +will need to generate a CORS CSRF Cookie. This cookie is flagged as secure, which implies that +we are not able to use it without SSL connections. + +So if you need to use the OpenEdx API to Create, Update or Delete data from Richie, you have to +enable SSL on Richie and OpenEdx on your development environment, which requires a little bit more +configuration. Below, we explain how to serve OpenEdx and Richie over SSL. + +## Run OpenEdx and Richie on sibling domains + +Richie and OpenEdx must be on sibling domains ie domains that both are subdomains of the same +parent domain, because sharing secure Cookies on `localhost` or unrelated domains is blocked. +To do that, you have to edit your hosts file (_.e.g_ `/etc/hosts` on a \*NIX system) to alias a +domain `local.dev` with two subdomains `richie` and `edx` pointing to `localhost`: + +``` +# /etc/hosts +127.0.0.1 richie.local.dev +127.0.0.1 edx.local.dev +``` + +Once this has been done, the OpenEdx app should respond on http://edx.local.dev:8073 +and Richie should respond on http://richie.local.dev:8070. The Richie application should now be +able to make CORS XHR requests to the OpenEdX application. + +## Enable TLS + +If you want to develop with OpenEdx as LMS backend of the Richie application (see the +`RICHIE_LMS_BACKENDS` setting), you need to enable TLS for your development servers. +Both Richie and OpenEdx use Nginx as reverse proxy which eases the SSL setup. + +### 1. Install mkcert and its Certificate Authority + +First you will need to install mkcert and its Certificate Authority. +[mkcert](https://mkcert.org/) is a little util to ease local certificate generation. + +#### a. Install `mkcert` on your local machine + +- [Read the doc](https://github.com/FiloSottile/mkcert) +- Linux users who do not want to use linuxbrew : [read this article](https://www.prado.lt/how-to-create-locally-trusted-ssl-certificates-in-local-development-environment-on-linux-with-mkcert). + +#### b. Install Mkcert Certificate Authority + +`mkcert -install` + +> If you do not want to use mkcert, you can generate [CA and certificate with openssl](https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/). +> You will have to put your certificate and its key in the `docker/files/etc/nginx/ssl` directory +> and respectively name them `richie.local.dev.pem` and `richie.local.dev.key`. + +### 2. On Richie + +Then, to setup the SSL configuration with mkcert, run our helper script: + +```bash +$ bin/setup-ssl +``` + +> If you do not want to use mkcert, read the instructions above to generate a Richie certificate, +> and run the helper script with the `--no-cert` option: + +```bash +bin/setup-ssl --no-cert +``` + +### 3. On OpenEdx + +In the same way, you also have to enable SSL in OpenEdx, by updating the Nginx configuration. +Read how to [enable SSL on OpenEdx][ssl]. + +Once this has been done, the OpenEdx app should respond on https://edx.local.dev:8073 +and Richie should respond on https://richie.local.dev:8070. The richie application should be able +to share cookies with the OpenEdx application to allow CORS CSRF Protected XHR requests. + +### 4. Start Richie and OpenEdx over SSL + +Now, the OpenEdx application should respond on https://edx.local.dev:8073, and Richie +on https://richie.local.dev:8070 without browser warning about the certificate validity. + +You need to follow these steps once. The next time you want to use SSL, you can run the following +command on both the Richie and OpenEdX projects: + +```bash +$ make run-ssl +``` + +Of course, you can still run apps without ssl by using: + +```bash +$ make run +``` + +[ssl]: https://github.com/openfun/openedx-docker/blob/master/docs/richie-configuration.md#richie-configuration diff --git a/website/versioned_docs/version-2.30.0/web-analytics.md b/website/versioned_docs/version-2.30.0/web-analytics.md new file mode 100644 index 0000000000..794f495ae9 --- /dev/null +++ b/website/versioned_docs/version-2.30.0/web-analytics.md @@ -0,0 +1,179 @@ +--- +id: web-analytics +title: Add web analytics to your site +sidebar_label: Web Analytics +--- + +Richie has native support to [Google Universal Analytics](#google-analytics) and [Google Tag Manager](#google-tag-manager) Web Analytics solutions. +The purpose of this file is to explain how you can enable one of the supported Web Analytics providers +and how you can extend Richie with an alternative solution. + +## Google Universal Analytics +Next, it is described how you can configure the **Google Universal Analytics** on your Richie site. + +Add the `WEB_ANALYTICS` setting, with the Google Universal Analytics configuration. From the next example replace `TRACKING_ID` with your tracking id code. + +```python +{ + 'google_universal_analytics': { + 'tracking_id': 'TRACKING_ID', + } +} +``` + +The current Google Universal Analytics implementation also includes custom dimensions. Those dimensions permit you to create further analyses on Google Universal Analytics or even use them to create custom reports. +Custom dimensions with a value as example: +* Organizations codes - `UNIV_LISBON | UNIV_PORTO` +* Course code - `COURSE_XPTO` +* Course runs titles - `Summer edition | Winter edition` +* Course runs resource links - `http://example.edx:8073/courses/course-v1:edX+DemoX+Demo_Course/info` +* Page title - `Introduction to Programming` + +## Google Tag + +It is possible to configure the **Google Tag**, `gtag.js`, on your Richie site. + +Add the `WEB_ANALYTICS` setting, with the Google Tag configuration like for example: + +```python +{ + 'google_tag': { + 'tracking_id': 'TRACKING_ID', + } +} +``` +And don't forget to replace the `TRACKING_ID` with your tracking id/code from Google Ads, Google Analytics, or other Google product compatible with the `gtag.js`. + +The Google Tag is initialized with custom dimensions like the [Google Universal Analytics](#google-analytics). + +## Google Tag Manager +Next, it is described how you can configure the **Google Tag Manager**, `gtm.js`, on your Richie site. + +Add the `WEB_ANALYTICS` setting, with the Google Tag Manager configuration, for example: + +```python +{ + 'google_tag_manager': { + 'tracking_id': 'TRACKING_ID', + } +} +``` + +And don't forget to replace the `TRACKING_ID` with your `GTM` tracking id/code. + +The current Google Tag Manager implementation also defines a custom dimensions like the [Google Universal Analytics](#google-analytics). + +If you want to use the Environments feature of the Google Tag Manager, you need to include the `environment` key with its value on `google_tag_manager` dict inside the `WEB_ANALYTICS` setting. + +_The environments feature in Google Tag Manager is ideal for organizations that want to preview their container changes in a test environment before those changes are published_. + +```python +{ + 'google_tag_manager': { + 'tracking_id': 'TRACKING_ID', + 'environment': '>m_auth=aaaaaaaaaaaaaaaa>m_preview=env-99>m_cookies_win=x'; + } +} +``` + +## Multiple Web Analytics at the same time + +It is possible to configure several web analytics solutions at the same time or the same solution with different tracking identifications. + + +`WEB_ANALYTICS` setting example to have both Google Universal Analytics and Google Tag Manager: + +```python +{ + 'google_universal_analytics': { + 'tracking_id': 'UA-TRACKING_ID', + }, + 'google_tag_manager': { + 'tracking_id': 'GTM-TRACKING_ID', + } +} +``` + +## Location of the web analytics javascript +Each web analytics js code can be put on the `footer` (**default** value), to put the Javascript on HTML body footer, or `header`, to put the Javascript code at the end of the HTML `head`. + +Update the `WEB_ANALYTICS` setting, like: + +```python +{ + 'google_universal_analytics': { + 'tracking_id': 'UA-TRACKING_ID', + 'location': 'footer, + }, +} +``` + +## Add a new Web Analytics solution + +In this section it's described how you can add support to a different Web Analytics solution. + +* override the `richie/web_analytics.html` template +* define the `WEB_ANALYTICS` setting with a value that represents your solution, eg. `my-custom-web-analytics-software` +* define the `WEB_ANALYTICS` setting with your tracking identification +* optionally change `location` with `footer` (default) or `head` value + +```python +{ + 'my-custom-web-analytics-software': { + 'tracking_id': 'MY_CUSTOM_TRACKING_ID', + 'location': 'footer, + }, +} +``` + +- Example of a `richie/web_analytics.html` file customization that prints to the browser console log the dimension keys and values: +```javascript + +``` + +Output: +``` +dimension: index '1' with key 'organizations_codes' with value 'COMPATIBLE-EVEN-KEELED-UTILIZATION-19 | FOCUSED-NEXT-GENERATION-FUNCTIONALITIES-22 | UNIVERSAL-MODULAR-LOCAL-AREA-NETWORK-23' +dimension: index '2' with key 'course_code' with value '00017' +dimension: index '3' with key 'course_runs_titles' with value 'Run 0' +dimension: index '4' with key 'course_runs_resource_links' with value '' +dimension: index '5' with key 'page_title' with value 'Business-focused zero-defect application' +``` + +But you can also contribute to Richie by creating a pull request to add support for a different web analytics solution. In this last case, you have to edit directly the `richie/web_analytics.html` template. + +Example of an override of the `richie/web_analytics.html` file: +```html +{% extends "richie/web_analytics.html" %} +{% block web_analytics_additional_providers %} + {% if provider == "my_custom_web_analytics_software_provider" %} + + {% endif %} +{% endblock web_analytics_additional_providers %} +``` + +The web analytics dimensions are being added to the django context using the `WEB_ANALYTICS.DIMENSIONS` dictionary. Because each dimension value could have multiple values, then each dictionary value is a list. Web analytics dimensions dictionary keys: +* `organizations_codes` +* `course_code` +* `course_runs_titles` +* `course_runs_resource_links` +* `page_title` + +Example, if you only need the organization codes on your custom `richie/web_analytics.html` file: +```javascript + +``` + +The frontend code also sends **events** to the web analytics provider. +Richie sends events when the user is enrolled on a course run. +To support different providers, you need to create a similar file +of `src/frontend/js/utils/api/web-analytics/google_universal_analytics.ts` and change the `src/frontend/js/utils/api/web-analytics/index.ts` file to include that newer provider. diff --git a/website/versioned_sidebars/version-2.30.0-sidebars.json b/website/versioned_sidebars/version-2.30.0-sidebars.json new file mode 100644 index 0000000000..ff166e7a38 --- /dev/null +++ b/website/versioned_sidebars/version-2.30.0-sidebars.json @@ -0,0 +1,22 @@ +{ + "docs": { + "Getting started": ["discover", "cookiecutter"], + "Recipes": [ + "filters-customization", + "django-react-interop", + "building-the-frontend", + "frontend-overrides", + "internationalization", + "lms-connection", + "web-analytics" + ], + "Contributing": [ + "installation", + "docker-development", + "native-installation", + "contributing-guide", + "accessibility-testing", + "css-guidelines" + ] + } +} diff --git a/website/versions.json b/website/versions.json index 578e69318e..5ce6e41568 100644 --- a/website/versions.json +++ b/website/versions.json @@ -1,4 +1,5 @@ [ + "2.30.0", "2.29.2", "2.29.1", "2.29.0",