diff --git a/client/src/locales/fr.json b/client/src/locales/fr.json
index 40f9b21c..6157b7f4 100644
--- a/client/src/locales/fr.json
+++ b/client/src/locales/fr.json
@@ -1,191 +1,225 @@
{
- "Benutzername": "Nom d'utilisateur",
- "In MS Teams findest du die Trainerunterlagen und kannst deine offenen Fragen klären.": "Avec MS Teams, tu trouveras la documentation pour les formateurs et tu pourras clarifier tes questions en suspens.",
- "Klicke auf den Button, um dich über SSO anzumelden oder zu registrieren.": "Clique sur le bouton pour te connecter ou t'inscrire via SSO.",
- "MS Teams öffnen": "Ouvrir MS Teams",
- "Nächste Termine:": "Prochains rendez-vous",
+ "Benutzername": "Nom d’utilisateur",
+ "Hier findest du die Trainerunterlagen (Lösungsblätter, Präsentationen etc.) für deinen Circle.": "Tu trouves ici les documents de formation (feuilles de solution, présentations, etc.) pour ton cercle.",
+ "Klicke auf den Button, um dich über SSO anzumelden oder zu registrieren.": "Clique sur le bouton pour te connecter via le SSO ou t’inscrire.",
+ "MS Teams öffnen": "Ouvrir MS Teams ",
+ "Nächste Termine:": "Prochaines réunions :",
"Passwort": "Mot de passe",
- "SSO Login/Registration": "Connexion/enregistrement SSO",
- "Trainerunterlagen": "Dossier de l'entraîneur",
- "Zur Zeit sind keine Termine vorhanden": "Il n'y a pas de rendez-vous pour le moment",
+ "SSO Login/Registration": "Connexion SSO / Inscription",
+ "Trainerunterlagen": "Documents du formateur / de la formatrice",
+ "Zur Zeit sind keine Termine vorhanden": "Aucune réunion n’est prévue pour le moment",
+ "assignment": {
+ "acceptConditionsDisclaimer": "Accepter les conditions et remettre les résultats",
+ "assessmentDocumentDisclaimer": "Cette étude de cas dirigée est évaluée par l’outil suivant :",
+ "assessmentTitle": "Évaluation",
+ "assignmentSubmitted": "Tes résultats ont bien été transmis.",
+ "confirmSubmitPerson": "Par la présente, je confirme que la personne suivante doit évaluer mes résultats.",
+ "confirmSubmitResults": "Par la présente, je confirme que j’ai vérifié la synthèse de mes résultats et que je souhaite la remettre telle quelle.",
+ "dueDateIntroduction": "Envoie tes résultats dans les délais avant le {date} à {time} heures.",
+ "dueDateNotSet": "Aucune date de remise n’a été spécifiée pour cette opération.",
+ "dueDateSubmission": "Date de clôture : {date}",
+ "dueDateTitle": "Date de remise",
+ "edit": "Traiter",
+ "effortTitle": "Temps nécessaire",
+ "initialSituationTitle": "Situation initiale",
+ "lastChangesNotSaved": "La dernière modification n’a pas pu être enregistrée.",
+ "performanceObjectivesTitle": "Objectifs",
+ "showAssessmentDocument": "Afficher l’outil d’évaluation",
+ "submissionNotificationDisclaimer": "{name} va procéder à l’évaluation de tes résultats. Tu recevras une notification dès que l’évaluation aura été validée et que tu pourras la consulter.",
+ "submitAssignment": "Remettre les résultats",
+ "taskDefinition": "Résous les exercices et documente tes résultats.",
+ "taskDefinitionTitle": "Énoncé du problème"
+ },
"circlePage": {
- "circleContentBoxTitle": "C'est ce que tu apprends dans ce Cercle.",
- "contactExpertButton": "Contacter l'expert",
- "contactExpertDescription": "Echange avec l'experte du cercle {circleName} .",
+ "circleContentBoxTitle": "Ce que tu vas apprendre dans ce cercle",
+ "contactExpertButton": "Contacter le formateur / la formatrice",
+ "contactExpertDescription": "Échanger avec le formateur / la formatrice si tu as des questions sur le cercle {circleName}.",
"documents": {
- "action": "Télécharger des documents",
- "chooseLearningSequence": "Choisis une séquence d'apprentissage",
- "chooseName": "Choisis un nom",
- "chooseSequence": "Choisis une séquence d'apprentissage",
- "expertDescription": "Mettre à disposition de tes apprenants des contenus supplémentaires",
+ "action": "Télécharger les documents",
+ "chooseLearningSequence": "Sélectionne une séquence",
+ "chooseName": "Sélectionne un nom",
+ "chooseSequence": "Sélectionne une séquence",
+ "deleteModalTitle": "Supprimer les documents",
+ "deleteModalWarning": "Veux-tu \"{title}\" supprimer les documents ?
Cette action est irréversible.",
+ "expertDescription": "Mets des contenus supplémentaires à la disposition de tes apprenants.",
"fileLabel": "Fichier",
"maxFileSize": "Taille maximale du fichier : 20 Mo",
- "modalAction": "Choisir un fichier",
+ "modalAction": "Sélectionner le fichier",
"modalFileName": "Nom",
- "modalNameInformation": "Max. 70 caractères",
- "selectFile": "Choisis un fichier",
+ "modalNameInformation": "Max. 70 signes",
+ "selectFile": "Sélectionne un fichier",
"title": "Documents",
- "uploadErrorMessage": "Une erreur est survenue lors du téléchargement. Veuillez réessayer.",
- "userDescription": "Tu trouveras ici les documents que l'experte en la matière a mis à ta disposition."
+ "trainerDescription": "Sur Teams, tu trouveras des contenus supplémentaires pour ton cours.",
+ "trainerLinkSrc": "https://vbvbern.sharepoint.com/sites/myVBV-AFA_K-CI",
+ "trainerLinkText": "Regarder les contenus sur Teams",
+ "trainerTitle": "Accompagnement pour le formateur / la formatrice",
+ "uploadErrorMessage": "Une erreur est survenue lors du téléchargement. Essaie à nouveau.",
+ "userDescription": "Tu trouves ici des documents complémentaires qui peuvent d’être utiles pour ce cercle."
},
"duration": "Durée",
- "gotQuestions": "Tu as des questions ?",
- "learnMore": "En savoir plus sur ce sujet"
+ "gotQuestions": "As-tu des questions ?",
+ "learnMore": "Pour en savoir plus"
},
"cockpit": {
- "examsDone": "Examens passés par les participants.",
- "feedbacksDone": "Feedbacks envoyés par les participants.",
- "notifyTask": "notifier",
+ "examsDone": "Examens remis par les participants.",
+ "feedbacksDone": "Retours envoyés par les participants.",
+ "notifyTask": "Notifier",
"notifyTaskDescription": "Notifier les participants",
- "profileLink": "Voir le profil",
- "progress": "Progrès",
- "tasksDone": "Ordres de transfert terminés par le participant.",
+ "profileLink": "Afficher le profil",
+ "progress": "Personne participante / Statut",
+ "tasksDone": "Exercices d’application terminés par les participants.",
"title": "Cockpit"
},
"competences": {
- "assessAgain": "S'évaluer à nouveau",
- "assessment": "évaluation",
+ "assessAgain": "S’évaluer à nouveau",
+ "assessment": "Évaluations",
"competences": "Compétences",
"lastImprovements": "Dernières compétences améliorées",
- "notAssessed": "Non évalué",
- "title": "CompetenceNavi"
+ "notAssessed": "Compétence non évaluée",
+ "title": "Menu des compétences"
},
"constants": {
"no": "Non",
- "satisfied": "satisfait",
- "unsatisfied": "insatisfait",
- "verySatisfied": "très satisfait",
- "veryUnsatisfied": "très insatisfait",
- "yes": "Our"
+ "satisfied": "Satisfait(e)",
+ "unsatisfied": "Insatisfait(e)",
+ "verySatisfied": "Très satisfait(e)",
+ "veryUnsatisfied": "Très insatisfait(e)",
+ "yes": "Oui"
},
"dashboard": {
+ "courses": "Formation",
+ "nocourses": "Tu n’as été affecté(e) à aucune formation encore.",
"welcome": "Bienvenue, {name}"
},
"feedback": {
"answers": "Réponses",
- "areYouSatisfied": "A quel point es-tu satisfait ?",
- "average": "Moyenne",
- "circleFeedback": "Feedback sur le Cercle",
- "completionDescription": "Ton feedback est anonyme. Ton prénom et ton nom n'apparaissent pas sur le site de ton formateur.",
- "completionTitle": "Envoie ton feedback à {name}",
- "courseNegativeFeedbackLabel": "Où voyez-vous un potentiel d'amélioration ?",
- "coursePositiveFeedbackLabel": "Qu'avez-vous particulièrement apprécié ?",
- "feedbackPageInfo": "Les participants ont complété le feedback",
- "feedbackPageTitle": "Feedback sur la formation",
- "feedbackSent": "Ton feedback a été envoyé",
- "goalAttainmentLabel": "Total des objectifs réalisés",
+ "areYouSatisfied": "Quel est ton degré de satisfaction ?",
+ "average": "Moyen",
+ "circleFeedback": "Feed-back sur le cercle",
+ "completionDescription": "Tes commentaires seront anonymes. Ton nom et ton prénom ne seront pas indiqués au formateur / à la formatrice.",
+ "completionTitle": "Envoie ton feed-back à {name}",
+ "courseNegativeFeedbackLabel": "À ton avis, quels sont les points qui pourraient être améliorés ?",
+ "coursePositiveFeedbackLabel": "Qu’est-ce qui t’a particulièrement plu ?",
+ "feedbackPageInfo": "Les participants ont rempli le feed-back",
+ "feedbackPageTitle": "Feed-back sur la formation",
+ "feedbackSent": "Ton feed-back a été envoyé",
+ "goalAttainmentLabel": "Degré de réalisation des objectifs",
"happy": "Satisfait",
- "instructorCompetenceLabel": "Le formateur était très compétent.",
- "instructorOpenFeedbackLabel": "Ce que je voulais dire d'autre au formateur :",
- "instructorRespectLabel": "Les questions et les suggestions des participants au cours ont été prises au sérieux et traitées.",
- "intro": "{name}, ton formateur te demande de lui donner un feedback. C'est facultatif, mais cela l'aidera à améliorer ton expérience d'apprentissage.",
- "materialsRatingLabel": "Si oui, comment jugez-vous les documents de préparation (par exemple, eLearning) ?",
- "noFeedbacks": "Aucun feedback n'a encore été donné",
- "proficiencyLabel": "Comment évaluez-vous votre sécurité par rapport aux thèmes après le cours ?",
+ "instructorCompetenceLabel": "Que penses-tu des compétences techniques de la personne chargée du cours et de sa maîtrise du sujet ?",
+ "instructorOpenFeedbackLabel": "Souhaites-tu ajouter quelque chose à l’intention de la personne chargée du cours ?",
+ "instructorRespectLabel": "Les questions et les suggestions des participants ont-elles été prises au sérieux et traitées correctement ?",
+ "intro": "{name}, ton formateur / ta formatrice, t’invite à lui adresser un feed-back. Cela n’est pas obligatoire, mais lui permettrait d’améliorer son cours.",
+ "materialsRatingLabel": "Si oui : Que pensez-vous des documents fournis pour le travail préparatoire (par ex. eLearning) ?",
+ "noFeedbacks": "Aucun feed-back n’a encore été remis",
+ "preparationTaskClarityLabel": "Les travaux préparatoires étaient-ils clairs et compréhensibles ?",
+ "proficiencyLabel": "As-tu l’impression de bien maîtriser les sujets qui ont été abordés pendant le cours ?",
"questionTitle": "Question",
- "receivedMaterialsLabel": "Avez-vous reçu des documents de préparation (par ex. eLearning) ?",
- "recommendLabel": "Recommanderiez-vous ce cours?",
- "satisfactionLabel": "Satisfaction totale",
- "sendFeedback": "Envoyer le feedback",
+ "recommendLabel": "Est-ce que tu recommandes ce cours ?",
+ "satisfactionLabel": "Degré de satisfaction au global",
+ "sendFeedback": "Envoyer le feed-back",
"sentByUsers": "Rempli par {count} participants",
- "showDetails": "Voir les détails",
- "unhappy": "insatisfait",
- "veryHappy": "très satisfait",
- "veryUnhappy": "très insatisfait"
+ "showDetails": "Afficher les détails",
+ "unhappy": "Insatisfait(e)",
+ "veryHappy": "Très satisfait(e)",
+ "veryUnhappy": "Très insatisfait(e)"
},
"footer": {
+ "contact": "Contact",
"contactLink": "https://www.vbv.ch/fr/lafa/organisation/contact",
"contactText": "Contact",
"copyright": "© 2023 AFA",
"dataProtectionLink": "https://www.vbv.ch/fr/politique-de-confidentialite",
- "dataProtectionText": "Politique de confidentialité",
- "faq": "FAQ",
- "imprint": "Impressum",
+ "dataProtectionText": "Dispositions sur la protection des données",
"imprintLink": "https://www.vbv.ch/fr/impressum",
"imprintText": "Impressum"
},
"general": {
- "back": "retour",
+ "back": "Retour",
"backCapitalized": "@.capitalize:general.back",
- "backToCircle": "retour au Cercle",
- "backToLearningPath": "retour au parcours d'apprentissage",
+ "backToCircle": "Revenir au cercle",
+ "backToLearningPath": "Revenir au programme de formation",
"certificate": "Certificat | Certificats",
"circles": "Cercles",
+ "close": "Fermer",
"exam": "Examen | Examens",
- "examResult": "Résultat de l'examen | Résultats de l'examen",
- "feedback": "Feedback | Feedbacks",
- "learningPath": "Parcours d'apprentissage",
- "learningSequence": "Séquence d'apprentissage",
- "learningUnit": "Unité d'apprentissage",
- "next": "Suivant",
- "nextStep": "A suivre",
+ "examResult": "Résultat de l’examen | Résultats de l’examen",
+ "feedback": "Feed-back | Feed-backs",
+ "introduction": "Introduction",
+ "learningPath": "Programme de formation",
+ "learningSequence": "Séquence",
+ "learningUnit": "Leçon",
+ "next": "Continuer",
+ "nextStep": "Cela continue",
"no": "Non",
"notification": "Notification | Notifications",
- "profileLink": "Voir le profil",
- "save": "Sauvegarde",
+ "profileLink": "Détails",
+ "save": "Enregistrer",
"send": "Envoyer",
- "settings": "Configuration du compte",
+ "settings": "Paramètres du compte",
"shop": "Shop",
- "show": "Montrer",
- "showAll": "Montrer tous",
- "start": "On y va",
+ "show": "Consulter",
+ "showAll": "Tout consulter",
+ "start": "C’est parti !",
+ "submission": "Remise",
"title": "myAFA",
- "transferTask": "Ordre de transfert | Ordres de transfert",
- "yes": "Our"
+ "transferTask": "Exercice d’application | Exercices d’application",
+ "yes": "Oui"
},
"language": {
- "de": "Allemand",
- "fr": "Français"
+ "de": "Deutsch",
+ "fr": "Français",
+ "it": "Italiano"
},
"learningContent": {
- "completeAndContinue": "Marquer comme fait"
+ "markAsDone": "Marquer comme effectué(e)"
},
"learningPathPage": {
- "currentCircle": "Cercle actuel",
- "listView": "Vue: liste",
+ "currentCircle": "Cercle en cours",
+ "listView": "Affichage sous forme de liste",
"nextStep": "Étape suivante",
- "pathView": "Vue: parcours",
- "progressText": "Tu as travaillé dans { inProgressCount } des { allCount } Cercles",
- "topics": "Thèmes:",
- "welcomeBack": "Salut { name }! Bienvenue dans ton cours:"
+ "pathView": "Affichage sous forme de parcours",
+ "progressText": "Tu as traité { inProgressCount } de { allCount } cercles",
+ "showListView": "Afficher la liste",
+ "topics": "Thèmes :",
+ "welcomeBack": "Cela fait plaisir de te revoir dans ta formation :"
},
"mainNavigation": {
- "logout": "Fermer la session",
+ "logout": "Se déconnecter",
"profile": "Profil"
},
"mediaLibrary": {
"handlungsfelder": {
- "description": "Trouve toutes les ressources des domaines d'action comme les médias d'apprentissage, les liens et autres informations utiles.",
- "title": "Domaine d'action | Domaines d'action"
+ "description": "Trouve toutes les ressources des champs d’action, comme les outils didactiques, les liens et autres informations utiles.",
+ "title": "Champ d’action | Champs d’action"
},
"learningMedia": {
- "description": "Trouve une liste complète des livres et autres supports auxquels il est fait référence dans le cours.",
- "titel": "Médias d'apprentissage"
+ "description": "Trouve une liste complète des livres, manuels et autres outils qui ont été mentionnés pendant le cours.",
+ "titel": "Outils didactiques "
},
"title": "Médiathèque"
},
"messages": {
- "sendMessage": "Envoyer un message"
+ "sendMessage": "Écrire un message"
},
"notifications": {
- "load_more": "Plus de détails",
- "no_notifications": "Tu n'as pas de notifications pour le moment"
+ "load_more": "Télécharger davantage",
+ "no_notifications": "Tu n’as reçu aucune notification pour le moment"
},
"selfEvaluation": {
"instruction": [
- "Vérifie que dans l'unité d'apprentissage",
- "tu as tout compris.",
- "Lis et évalue l'affirmation suivante :"
+ "Überprüfe, ob du in der Lernheinheit",
+ "alles verstanden hast.",
+ "Lies die folgende Aussage und bewerte sie:"
],
- "no": "Je dois regarder à nouveau",
- "progressLink": "Ouvrir CompetenceNavi",
- "progressText": "Regarde ta progression dans ton CompetenceNavi :",
- "selfEvaluation": "Évaluation personnelle",
- "selfEvaluationNo": "@:selfEvaluation: Je dois le regarder à nouveau.",
- "selfEvaluationYes": "@:selfEvaluation: Je peux faire ça.",
- "steps": "Etape {current} de {max}",
+ "no": "Il faut que je regarde cela encore une fois de plus près.",
+ "progressLink": "Ouvrir le menu des compétences",
+ "progressText": "Consulte tes progrès dans ton menu des compétences :",
+ "selfEvaluation": "Auto-évaluation",
+ "selfEvaluationNo": "@:selfEvaluation: Il faut que je regarde cela encore une fois de plus près.",
+ "selfEvaluationYes": "@:selfEvaluation: Je maîtrise cette question.",
+ "steps": "Étape {current} sur {max}",
"title": "@:selfEvaluation.selfEvaluation {title}",
- "yes": "Oui, je peux faire ça"
+ "yes": "Oui, je maîtrise cette question"
},
"settings": {
"emailNotifications": "Notifications par e-mail"
diff --git a/server/vbv_lernwelt/assignment/creators/create_assignments.py b/server/vbv_lernwelt/assignment/creators/create_assignments.py
index 992323a7..a20153d2 100644
--- a/server/vbv_lernwelt/assignment/creators/create_assignments.py
+++ b/server/vbv_lernwelt/assignment/creators/create_assignments.py
@@ -1,7 +1,3 @@
-from wagtail.blocks import StreamValue
-from wagtail.blocks.list_block import ListBlock, ListValue
-from wagtail.rich_text import RichText
-
from vbv_lernwelt.assignment.models import (
AssignmentListPage,
AssignmentType,
@@ -20,6 +16,9 @@ from vbv_lernwelt.assignment.tests.assignment_factories import (
from vbv_lernwelt.core.utils import replace_whitespace
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_VERSICHERUNGSVERMITTLERIN_ID
from vbv_lernwelt.course.models import CoursePage
+from wagtail.blocks import StreamValue
+from wagtail.blocks.list_block import ListBlock, ListValue
+from wagtail.rich_text import RichText
def create_uk_fahrzeug_casework(course_id=COURSE_UK):
@@ -1408,7 +1407,9 @@ def create_uk_reflection(course_id=COURSE_UK, circle_title="Fahrzeug"):
return assignment
-def create_vv_reflection(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, _circle_title="Fahrzeug"):
+def create_vv_reflection(
+ course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, _circle_title="Fahrzeug"
+):
assignment_list_page = (
CoursePage.objects.get(course_id=course_id)
.get_children()
@@ -1564,7 +1565,9 @@ def create_vv_reflection(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, _circle_
return assignment
-def create_vv_einkommenssicherung_casework(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID):
+def create_vv_einkommenssicherung_casework(
+ course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID,
+):
assignment_list_page = (
CoursePage.objects.get(course_id=course_id)
.get_children()
diff --git a/server/vbv_lernwelt/course/management/commands/create_default_courses.py b/server/vbv_lernwelt/course/management/commands/create_default_courses.py
index 76b832df..6d7b1e00 100644
--- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py
+++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py
@@ -8,7 +8,10 @@ from vbv_lernwelt.assignment.creators.create_assignments import (
create_uk_fahrzeug_casework,
create_uk_fahrzeug_prep_assignment,
create_uk_kickoff_prep_assignment,
- create_uk_reflection, create_vv_reflection, create_vv_einkommenssicherung_casework, create_vv_gesundheit_casework,
+ create_uk_reflection,
+ create_vv_einkommenssicherung_casework,
+ create_vv_gesundheit_casework,
+ create_vv_reflection,
)
from vbv_lernwelt.assignment.models import Assignment
from vbv_lernwelt.assignment.services import update_assignment_completion
@@ -129,7 +132,9 @@ def create_versicherungsvermittlerin_course():
create_vv_new_competence_profile(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_default_media_library(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
- create_vv_einkommenssicherung_casework(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
+ create_vv_einkommenssicherung_casework(
+ course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID
+ )
create_vv_gesundheit_casework(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_reflection(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_new_learning_path()
diff --git a/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py b/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py
index 76f18143..64422662 100644
--- a/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py
+++ b/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py
@@ -14,16 +14,19 @@ from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
from vbv_lernwelt.course.models import CourseCategory, CoursePage
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
CircleFactory,
+ LearningContentAssignmentFactory,
LearningContentFeedbackFactory,
LearningContentLearningModuleFactory,
LearningContentMediaLibraryFactory,
LearningContentPlaceholderFactory,
LearningContentRichTextFactory,
+ LearningContentTestFactory,
LearningContentVideoFactory,
LearningPathFactory,
LearningSequenceFactory,
LearningUnitFactory,
- TopicFactory, LearningContentAssignmentFactory, LearningContentTestFactory, )
+ TopicFactory,
+)
from vbv_lernwelt.learnpath.vv_circle_goals import GoalsType, VV_CIRCLE_GOALS
# todo: remove when all Handlungsfelder are ready