Übersetzungen

This commit is contained in:
Daniel Egger 2023-09-14 16:19:18 +02:00
parent 83fcb84303
commit 00a36b52c8
11 changed files with 60 additions and 38 deletions

View File

@ -94,7 +94,7 @@ function finishButtonEnabled() {
<template> <template>
<div class="flex min-h-full flex-col"> <div class="flex min-h-full flex-col">
<div class="flex-1 overflow-y-auto"> <div class="overflow-y-auto">
<section class="p-10"> <section class="p-10">
<EvaluationIntro <EvaluationIntro
v-if="stepIndex === 0" v-if="stepIndex === 0"

View File

@ -131,7 +131,7 @@ const evaluationUser = computed(() => {
<div <div
v-if="props.assignmentCompletion.completion_status === 'EVALUATION_SUBMITTED'" v-if="props.assignmentCompletion.completion_status === 'EVALUATION_SUBMITTED'"
> >
Freigabetermin: {{ $t("assignment.dueDateEvaluation") }}:
{{ {{
dayjs(props.assignmentCompletion.evaluation_submitted_at).format("DD.MM.YYYY") dayjs(props.assignmentCompletion.evaluation_submitted_at).format("DD.MM.YYYY")
}} }}
@ -157,7 +157,8 @@ const evaluationUser = computed(() => {
<article class="border-t py-4"> <article class="border-t py-4">
<div class="flex flex-row justify-between"> <div class="flex flex-row justify-between">
<div class="mb-4 text-gray-900"> <div class="mb-4 text-gray-900">
Bewertungskriterium {{ index + 1 }}: {{ task.value.title }} {{ $t("a.Beurteilungskriterium") }} {{ index + 1 }}:
{{ task.value.title }}
</div> </div>
<div <div
v-if=" v-if="
@ -196,7 +197,7 @@ const evaluationUser = computed(() => {
</section> </section>
<div> <div>
<span class="font-bold">Begründung:</span> <span class="font-bold">{{ $t("a.Begründung") }}:</span>
{{ evaluationForTask(task).text }} {{ evaluationForTask(task).text }}
</div> </div>
</article> </article>

View File

@ -87,7 +87,7 @@ const evaluateAssignmentCompletionDebounced = useDebounceFn(
<!-- eslint-disable vue/no-v-html --> <!-- eslint-disable vue/no-v-html -->
<div data-cy="evaluation-task"> <div data-cy="evaluation-task">
<div class="text-bold mb-4 text-sm"> <div class="text-bold mb-4 text-sm">
Beurteilungskriterium {{ taskIndex + 1 }} / {{ $t("a.Beurteilungskriterium") }} {{ taskIndex + 1 }} /
{{ props.assignment.evaluation_tasks.length }} {{ props.assignment.evaluation_tasks.length }}
{{ task.value.title }} {{ task.value.title }}
</div> </div>
@ -127,9 +127,9 @@ const evaluateAssignmentCompletionDebounced = useDebounceFn(
<ItTextarea <ItTextarea
class="mt-8" class="mt-8"
:model-value="expertData.text ?? ''" :model-value="expertData.text ?? ''"
label="Begründung" :label="$t('a.Begründung')"
:disabled="!props.allowEdit" :disabled="!props.allowEdit"
placeholder="Hier muss zwingend eine Begründung erfasst werden." :placeholder="$t('assignment.justificationRequiredText')"
data-cy="reason-text" data-cy="reason-text"
@update:model-value="onUpdateText($event)" @update:model-value="onUpdateText($event)"
></ItTextarea> ></ItTextarea>

View File

@ -140,7 +140,7 @@ const assignmentDetail = computed(() =>
class="link lg:w-full lg:text-right" class="link lg:w-full lg:text-right"
data-cy="show-results" data-cy="show-results"
> >
{{ $t("Ergebnisse anzeigen") }} {{ $t("a.Ergebnisse anschauen") }}
</router-link> </router-link>
</template> </template>
</ItPersonRow> </ItPersonRow>

View File

@ -91,7 +91,7 @@ const getShowDetailsText = (lc: LearningContent) => {
if (isAssignment(lc)) { if (isAssignment(lc)) {
const assignmentType = (lc as LearningContentAssignment).assignment_type; const assignmentType = (lc as LearningContentAssignment).assignment_type;
if (assignmentType === "CASEWORK" || assignmentType === "REFLECTION") { if (assignmentType === "CASEWORK" || assignmentType === "REFLECTION") {
return t("Ergebnisse anschauen"); return t("a.Ergebnisse anschauen");
} else if ( } else if (
assignmentType === "PREP_ASSIGNMENT" || assignmentType === "PREP_ASSIGNMENT" ||
assignmentType === "CONDITION_ACCEPTANCE" assignmentType === "CONDITION_ACCEPTANCE"

View File

@ -180,11 +180,14 @@ function checkboxIconUncheckedTailwindClass(lc: LearningContent) {
checkboxIconUncheckedTailwindClass(learningContent) checkboxIconUncheckedTailwindClass(learningContent)
" "
@toggle="toggleCompleted(learningContent)" @toggle="toggleCompleted(learningContent)"
@click.stop=" @click="
() => { (event) => {
// when disabled open the learning content directly // when disabled open the learning content directly
if (!learningContent.can_user_self_toggle_course_completion) if (!learningContent.can_user_self_toggle_course_completion) {
circleStore.openLearningContent(learningContent); circleStore.openLearningContent(learningContent);
event.preventDefault();
event.stopPropagation();
}
} }
" "
/> />

View File

@ -1,12 +1,12 @@
<template> <template>
<div class="mb-12 grid grid-cols-icon-card gap-x-4 grid-areas-icon-card"> <div class="mb-12 grid grid-cols-icon-card gap-x-4 grid-areas-icon-card">
<it-icon-calendar-light class="w-[60px] grid-in-icon" /> <it-icon-calendar-light class="w-[60px] grid-in-icon" />
<h2 class="text-large font-bold grid-in-title">Datum</h2> <h2 class="text-large font-bold grid-in-title">{{ $t("a.Datum") }}</h2>
<p class="grid-in-value">{{ formatDate(start, end) }}</p> <p class="grid-in-value">{{ formatDate(start, end) }}</p>
</div> </div>
<div class="mb-12 grid grid-cols-icon-card gap-x-4 grid-areas-icon-card"> <div class="mb-12 grid grid-cols-icon-card gap-x-4 grid-areas-icon-card">
<it-icon-location class="w-[60px] grid-in-icon" /> <it-icon-location class="w-[60px] grid-in-icon" />
<h2 class="text-large font-bold grid-in-title">Standort</h2> <h2 class="text-large font-bold grid-in-title">{{ $t("a.Standort") }}</h2>
<p v-if="location.startsWith('https://')" class="grid-in-value"> <p v-if="location.startsWith('https://')" class="grid-in-value">
<a class="link" target="_blank" :href="location">{{ location }}</a> <a class="link" target="_blank" :href="location">{{ location }}</a>
</p> </p>
@ -14,7 +14,7 @@
</div> </div>
<div class="grid grid-cols-icon-card content-between gap-x-4 grid-areas-icon-card"> <div class="grid grid-cols-icon-card content-between gap-x-4 grid-areas-icon-card">
<it-icon-trainer class="w-[60px] grid-in-icon" /> <it-icon-trainer class="w-[60px] grid-in-icon" />
<h2 class="text-large font-bold grid-in-title">Trainer</h2> <h2 class="text-large font-bold grid-in-title">{{ $t("a.Trainer") }}</h2>
<p class="grid-in-value">{{ trainer }}</p> <p class="grid-in-value">{{ trainer }}</p>
</div> </div>
</template> </template>

View File

@ -73,7 +73,7 @@ onUnmounted(() => {
<LearningContentMultiLayout <LearningContentMultiLayout
:current-step="questionIndex" :current-step="questionIndex"
:sub-title="$t('a.Selbsteinschätzung')" :sub-title="$t('a.Selbsteinschätzung')"
:title="`${$t('a.Selbsteinschätzung')}: ${learningUnit.title}`" :title="`${learningUnit.title}`"
icon="it-icon-lc-learning-module" icon="it-icon-lc-learning-module"
:steps-count="questions.length" :steps-count="questions.length"
:show-next-button="showNextButton" :show-next-button="showNextButton"
@ -87,7 +87,7 @@ onUnmounted(() => {
<div class="h-full"> <div class="h-full">
<div class="mt-8"> <div class="mt-8">
<h3 class="heading-3"> <h3 class="heading-3">
{{ currentQuestion.competence_id }} {{ currentQuestion.title }} {{ currentQuestion.title }}
</h3> </h3>
<div <div

View File

@ -1,11 +1,11 @@
import wagtail_factories import wagtail_factories
from vbv_lernwelt.competence.models import ( from vbv_lernwelt.competence.models import (
ActionCompetence,
ActionCompetenceListPage,
CompetenceCertificate, CompetenceCertificate,
CompetenceCertificateList, CompetenceCertificateList,
CompetenceNaviPage, CompetenceNaviPage,
ActionCompetence,
ActionCompetenceListPage,
PerformanceCriteria, PerformanceCriteria,
) )

View File

@ -5,25 +5,27 @@ from django.db import migrations
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('wagtailforms', '0005_alter_formsubmission_form_data'), ("wagtailforms", "0005_alter_formsubmission_form_data"),
('wagtailcore', '0089_log_entry_data_json_null_to_object'), ("wagtailcore", "0089_log_entry_data_json_null_to_object"),
('wagtailredirects', '0008_add_verbose_name_plural'), ("wagtailredirects", "0008_add_verbose_name_plural"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL), migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('course', '0004_auto_20230823_1744'), ("course", "0004_auto_20230823_1744"),
('duedate', '0004_alter_duedate_start'), ("duedate", "0004_alter_duedate_start"),
('contenttypes', '0002_remove_content_type_name'), ("contenttypes", "0002_remove_content_type_name"),
('competence', '0003_competencecertificate_competencecertificatelist_competencenavipage'), (
"competence",
"0003_competencecertificate_competencecertificatelist_competencenavipage",
),
] ]
operations = [ operations = [
migrations.RenameModel( migrations.RenameModel(
old_name='CompetencePage', old_name="CompetencePage",
new_name='ActionCompetence', new_name="ActionCompetence",
), ),
migrations.RenameModel( migrations.RenameModel(
old_name='CompetenceProfilePage', old_name="CompetenceProfilePage",
new_name='ActionCompetenceListPage', new_name="ActionCompetenceListPage",
), ),
] ]

View File

@ -6,9 +6,9 @@ from django.db.models import Q
from vbv_lernwelt.assignment.models import Assignment from vbv_lernwelt.assignment.models import Assignment
from vbv_lernwelt.competence.models import ( from vbv_lernwelt.competence.models import (
ActionCompetenceListPage, ActionCompetenceListPage,
CompetenceNaviPage,
CompetenceCertificateList,
CompetenceCertificate, CompetenceCertificate,
CompetenceCertificateList,
CompetenceNaviPage,
) )
from vbv_lernwelt.course.consts import ( from vbv_lernwelt.course.consts import (
COURSE_TEST_ID, COURSE_TEST_ID,
@ -55,12 +55,22 @@ def refactor_competence_wagtail_tree(apps=None, schema_editor=None):
COURSE_UK_IT, COURSE_UK_IT,
]: ]:
if not competence_certificate_list: if not competence_certificate_list:
competence_certificate_list = CompetenceCertificateList( title = "Kompetenznachweise"
title="Kompetenznachweise", if course_page.course.id == COURSE_UK_FR:
) title = "Contrôles de compétences"
if course_page.course.id == COURSE_UK_IT:
title = "Controlli delle competenze"
competence_certificate_list = CompetenceCertificateList(title=title)
competence_navi_page.add_child(instance=competence_certificate_list) competence_navi_page.add_child(instance=competence_certificate_list)
title = "Kompetenznachweis 1"
if course_page.course.id == COURSE_UK_FR:
title = "Contrôle de compétences 1"
if course_page.course.id == COURSE_UK_IT:
title = "Controllo delle competenze 1"
competence_certificate = CompetenceCertificate( competence_certificate = CompetenceCertificate(
title="Kompetenznachweis 1", title=title,
) )
competence_certificate_list.add_child(instance=competence_certificate) competence_certificate_list.add_child(instance=competence_certificate)
@ -70,9 +80,15 @@ def refactor_competence_wagtail_tree(apps=None, schema_editor=None):
casework_assignment.competence_certificate = competence_certificate casework_assignment.competence_certificate = competence_certificate
casework_assignment.save() casework_assignment.save()
title = "Wissens- und Verständnisfragen"
if course_page.course.id == COURSE_UK_FR:
title = "Questions de connaissance et de compréhension "
if course_page.course.id == COURSE_UK_IT:
title = "Domande di conoscenza e di comprensione"
edoniq_test = create_edoniq_test_assignment( edoniq_test = create_edoniq_test_assignment(
course_id=course_page.course.id, course_id=course_page.course.id,
title="Edoniq Wissens- und Verständisfragen", title=title,
competence_certificate=competence_certificate, competence_certificate=competence_certificate,
) )