feat: extra vertalingen

This commit is contained in:
Joyelle Ndagijimana 2025-05-18 12:15:05 +02:00
parent 149e4e80fc
commit c4f178aa52
6 changed files with 320 additions and 280 deletions

View file

@ -165,5 +165,21 @@
"pathContainsNonExistingLearningObjects": "Mindestens eines der in diesem Pfad referenzierten Lernobjekte existiert nicht.", "pathContainsNonExistingLearningObjects": "Mindestens eines der in diesem Pfad referenzierten Lernobjekte existiert nicht.",
"targetAgesMandatory": "Zielalter müssen angegeben werden.", "targetAgesMandatory": "Zielalter müssen angegeben werden.",
"hintRemoveIfUnconditionalTransition": "(entfernen, wenn dies ein bedingungsloser Übergang sein soll)", "hintRemoveIfUnconditionalTransition": "(entfernen, wenn dies ein bedingungsloser Übergang sein soll)",
"hintKeywordsSeparatedBySpaces": "Schlüsselwörter durch Leerzeichen getrennt" "hintKeywordsSeparatedBySpaces": "Schlüsselwörter durch Leerzeichen getrennt",
"title-required": "Titel darf nicht leer sein.",
"class-required": "Du musst eine Klasse auswählen.",
"deadline-invalid": "Ungültiges Datum oder Uhrzeit.",
"deadline-past": "Die Frist muss in der Zukunft liegen.",
"lp-required": "Du musst einen Lernpfad auswählen.",
"lp-invalid": "Der ausgewählte Lernpfad existiert nicht.",
"currently-no-groups": "Es gibt keine Gruppen für diese Aufgabe.",
"random-grouping": "Gruppen zufällig erstellen",
"drag-and-drop": "Gruppen manuell erstellen",
"generate-groups": "erzeugen",
"auto-generate-groups": "Gruppen gleicher Größe erstellen",
"preview": "Vorschau",
"current-groups": "Aktuelle Gruppen",
"group-size-label": "Gruppengröße",
"save": "Speichern",
"unassigned": "Nicht zugewiesen"
} }

View file

@ -168,7 +168,7 @@
"hintRemoveIfUnconditionalTransition": "(remove this if this should be an unconditional transition)", "hintRemoveIfUnconditionalTransition": "(remove this if this should be an unconditional transition)",
"hintKeywordsSeparatedBySpaces": "Keywords separated by spaces", "hintKeywordsSeparatedBySpaces": "Keywords separated by spaces",
"title-required": "Title cannot be empty.", "title-required": "Title cannot be empty.",
"class-required": "You must select at least one class.", "class-required": "You must select a class.",
"deadline-invalid": "Invalid date or time.", "deadline-invalid": "Invalid date or time.",
"deadline-past": "The deadline must be in the future.", "deadline-past": "The deadline must be in the future.",
"lp-required": "You must select a learning path.", "lp-required": "You must select a learning path.",

View file

@ -88,7 +88,7 @@
"deny": "refuser", "deny": "refuser",
"sent": "envoyé", "sent": "envoyé",
"failed": "échoué", "failed": "échoué",
"wrong": "quelque chose n'a pas fonctionné", "wrong": "Il y a une erreur",
"created": "créé", "created": "créé",
"callbackLoading": "Vous serez connecté...", "callbackLoading": "Vous serez connecté...",
"loginUnexpectedError": "La connexion a échoué", "loginUnexpectedError": "La connexion a échoué",
@ -98,7 +98,7 @@
"groupSubmissions": "Soumissions de ce groupe", "groupSubmissions": "Soumissions de ce groupe",
"taskCompleted": "Tâche terminée.", "taskCompleted": "Tâche terminée.",
"submittedBy": "Soumis par", "submittedBy": "Soumis par",
"timestamp": "Horodatage", "timestamp": "Date et heure",
"loadSubmission": "Charger", "loadSubmission": "Charger",
"noSubmissionsYet": "Pas encore de soumissions.", "noSubmissionsYet": "Pas encore de soumissions.",
"viewAsGroup": "Voir la progression du groupe...", "viewAsGroup": "Voir la progression du groupe...",
@ -166,5 +166,21 @@
"pathContainsNonExistingLearningObjects": "Au moins un des objets dapprentissage référencés dans ce chemin nexiste pas.", "pathContainsNonExistingLearningObjects": "Au moins un des objets dapprentissage référencés dans ce chemin nexiste pas.",
"targetAgesMandatory": "Les âges cibles doivent être spécifiés.", "targetAgesMandatory": "Les âges cibles doivent être spécifiés.",
"hintRemoveIfUnconditionalTransition": "(supprimer ceci sil sagit dune transition inconditionnelle)", "hintRemoveIfUnconditionalTransition": "(supprimer ceci sil sagit dune transition inconditionnelle)",
"hintKeywordsSeparatedBySpaces": "Mots-clés séparés par des espaces" "hintKeywordsSeparatedBySpaces": "Mots-clés séparés par des espaces",
"title-required": "Le titre ne peut pas être vide.",
"class-required": "Vous devez sélectionner une classe.",
"deadline-invalid": "Date ou heure invalide.",
"deadline-past": "La date limite doit être dans le futur.",
"lp-required": "Vous devez sélectionner un parcours d'apprentissage.",
"lp-invalid": "Le parcours d'apprentissage sélectionné n'existe pas.",
"currently-no-groups": "Il ny a pas de groupes pour cette tâche.",
"random-grouping": "Créer des groupes aléatoirement",
"drag-and-drop": "Créer des groupes manuellement",
"generate-groups": "générer",
"auto-generate-groups": "Créer des groupes de taille égale",
"preview": "Aperçu",
"current-groups": "Groupes actuels",
"group-size-label": "Taille des groupes",
"save": "Enregistrer",
"unassigned": "Non assigné"
} }

View file

@ -165,5 +165,21 @@
"pathContainsNonExistingLearningObjects": "Ten minste één van de leerobjecten in dit pad bestaat niet.", "pathContainsNonExistingLearningObjects": "Ten minste één van de leerobjecten in dit pad bestaat niet.",
"targetAgesMandatory": "Doelleeftijden moeten worden opgegeven.", "targetAgesMandatory": "Doelleeftijden moeten worden opgegeven.",
"hintRemoveIfUnconditionalTransition": "(verwijder dit voor onvoorwaardelijke overgangen)", "hintRemoveIfUnconditionalTransition": "(verwijder dit voor onvoorwaardelijke overgangen)",
"hintKeywordsSeparatedBySpaces": "Trefwoorden gescheiden door spaties" "hintKeywordsSeparatedBySpaces": "Trefwoorden gescheiden door spaties",
"title-required": "Titel mag niet leeg zijn.",
"class-required": "Je moet een klas selecteren.",
"deadline-invalid": "Ongeldige datum of tijd.",
"deadline-past": "De deadline moet in de toekomst liggen.",
"lp-required": "Je moet een leerpad selecteren.",
"lp-invalid": "Het geselecteerde leerpad bestaat niet.",
"currently-no-groups": "Er zijn geen groepen voor deze opdracht.",
"random-grouping": "Groepeer willekeurig",
"drag-and-drop": "Stel groepen handmatig samen",
"generate-groups": "genereren",
"auto-generate-groups": "Maak groepen van gelijke grootte",
"preview": "Voorbeeld",
"current-groups": "Huidige groepen",
"group-size-label": "Grootte van groepen",
"save": "Opslaan",
"unassigned": "Niet toegewezen"
} }

View file

@ -3,12 +3,11 @@ import {ref, computed, watchEffect} from "vue";
import auth from "@/services/auth/auth-service.ts"; import auth from "@/services/auth/auth-service.ts";
import { useI18n } from "vue-i18n"; import { useI18n } from "vue-i18n";
import UsingQueryResult from "@/components/UsingQueryResult.vue"; import UsingQueryResult from "@/components/UsingQueryResult.vue";
import type {AssignmentsResponse} from "@/controllers/assignments.ts";
import { asyncComputed } from "@vueuse/core"; import { asyncComputed } from "@vueuse/core";
import { import {
useStudentAssignmentsQuery, useStudentAssignmentsQuery,
useStudentGroupsQuery, useStudentGroupsQuery,
useStudentsByUsernamesQuery useStudentsByUsernamesQuery,
} from "@/queries/students.ts"; } from "@/queries/students.ts";
import { useGetLearningPathQuery } from "@/queries/learning-paths.ts"; import { useGetLearningPathQuery } from "@/queries/learning-paths.ts";
import type { Language } from "@/data-objects/language.ts"; import type { Language } from "@/data-objects/language.ts";
@ -35,12 +34,9 @@ const assignment = computed(() => {
const assignments = assignmentsQueryResult.data.value?.assignments; const assignments = assignmentsQueryResult.data.value?.assignments;
if (!assignments) return undefined; if (!assignments) return undefined;
return assignments.find( return assignments.find((a) => a.id === props.assignmentId && a.within === props.classId);
(a) => a.id === props.assignmentId && a.within === props.classId
);
}); });
learningPath.value = assignment.value?.learningPath; learningPath.value = assignment.value?.learningPath;
const groupsQueryResult = useStudentGroupsQuery(username, true); const groupsQueryResult = useStudentGroupsQuery(username, true);
@ -93,9 +89,7 @@ const studentQueries = useStudentsByUsernamesQuery(() => (group.value?.members a
<template> <template>
<div class="container"> <div class="container">
<using-query-result <using-query-result :query-result="assignmentsQueryResult">
:query-result="assignmentsQueryResult"
>
<v-card <v-card
v-if="assignment" v-if="assignment"
class="assignment-card" class="assignment-card"
@ -110,9 +104,7 @@ const studentQueries = useStudentsByUsernamesQuery(() => (group.value?.members a
<v-icon>mdi-arrow-left</v-icon> <v-icon>mdi-arrow-left</v-icon>
</v-btn> </v-btn>
</div> </div>
<v-card-title class="text-h4 assignmentTopTitle" <v-card-title class="text-h4 assignmentTopTitle">{{ assignment.title }} </v-card-title>
>{{ assignment.title }}
</v-card-title>
<v-card-subtitle class="subtitle-section"> <v-card-subtitle class="subtitle-section">
<using-query-result <using-query-result

View file

@ -75,7 +75,6 @@ const allAssignments = computed(() => {
}); });
}); });
async function goToCreateAssignment(): Promise<void> { async function goToCreateAssignment(): Promise<void> {
await router.push("/assignment/create"); await router.push("/assignment/create");
} }
@ -234,7 +233,8 @@ onMounted(async () => {
border-radius: 16px; border-radius: 16px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
background-color: white; background-color: white;
transition: transform 0.2s, transition:
transform 0.2s,
box-shadow 0.2s; box-shadow 0.2s;
} }