Skip to content
Snippets Groups Projects
Verified Commit 71c1ad51 authored by Jonathan Weth's avatar Jonathan Weth :keyboard: Committed by magicfelix
Browse files

Add translations

parent 50b6359a
No related branches found
No related tags found
1 merge request!284Draft: Redesign entering of lesson documentation
......@@ -5,14 +5,14 @@
>
<template v-slot="{ result: { loading, error, data } }">
<!-- Error -->
<message-box v-if="error" type="error">An error occurred</message-box>
<message-box v-if="error" type="error">{{ $t("alsijil.error_occurred") }}</message-box>
<!-- Result -->
<div v-else-if="data" class="result apollo">
<div class="d-flex justify-space-between">
<v-btn text color="primary" :href="$root.urls.select_coursebook()">
<v-icon left>mdi-chevron-left</v-icon>
{{ $root.django.gettext("Back") }}
{{ $t("alsijil.back") }}
</v-btn>
<update-indicator @manual-update="updateManually()" ref="indicator" :status="status"></update-indicator>
</div>
......
......@@ -25,11 +25,9 @@
>
<template v-slot:activator="{ on, attrs }">
<span>
<span
v-text="new Date(lessonDocumentationEdit.date).toLocaleDateString($root.languageCode)"
class="ma-1 text-h5"></span>
<v-btn right v-bind="attrs" v-on="on" icon
v-if="hover && dateAndPeriodEditable">
<span v-text="$d(new Date(lessonDocumentationEdit.date), 'short')"
class="ma-1 text-h5"></span>
<v-btn right v-bind="attrs" v-on="on" icon v-if="hover && dateAndPeriodEditable">
<v-icon>mdi-pencil-outline</v-icon>
</v-btn>
</span>
......@@ -49,7 +47,7 @@
<template v-slot:activator="{ on, attrs }">
<span>
<span
v-text="$root.django.gettext('Period') + ' ' + lessonDocumentationEdit.period"
v-text="$t('alsijil.period_number', {number: lessonDocumentationEdit.period})"
class="ma-1 text-h5"></span>
<v-btn
right
......@@ -78,10 +76,10 @@
<v-card-text>
<v-row>
<v-col cols="12" md="12" lg="12">
<message-box type="error" v-if="error">Error updating data</message-box>
<message-box type="error" v-if="error">{{ $t("alsijil.error_updating") }}</message-box>
<v-textarea
name="input-7-1"
:label="$root.django.gettext('Topic')"
:label="$t('alsijil.lesson_documentation.topic')"
rows="1"
auto-grow
required
......@@ -90,7 +88,7 @@
></v-textarea>
<v-textarea
name="input-7-1"
:label="$root.django.gettext('Homework')"
:label="$t('alsijil.lesson_documentation.homework')"
rows="1"
auto-grow
......@@ -98,7 +96,7 @@
></v-textarea>
<v-textarea
name="input-7-1"
:label="$root.django.gettext('Group note')"
:label="$t('alsijil.lesson_documentation.group_note')"
rows="1"
auto-grow
......@@ -126,13 +124,13 @@
outlined
@click="$emit('cancel-lesson-documentation-dialog', $event)"
>
{{ $root.django.gettext('Cancel') }}
{{ $t('alsijil.cancel') }}
</v-btn>
<v-btn
color="success"
@click="mutate()"
>
{{ $root.django.gettext('Save') }}
{{ $t('alsijil.save') }}
</v-btn>
</v-card-actions>
</v-form>
......
......@@ -9,7 +9,7 @@
<v-select
v-if="saveLessonDocumentationsPerWeek === 'True'"
:items="emptyLessonPeriods"
label="Choose week"
:label="$t('alsijil.coursebook.choose_week')"
:item-text="getWeekText"
v-model="selectedLessonPeriodDatetime"
return-object
......@@ -17,7 +17,7 @@
<v-select
v-else
:items="emptyLessonPeriods"
label="Choose Lesson date"
:label="$t('alsijil.coursebook.choose_lesson_date')"
:item-text="getLessonText"
v-model="selectedLessonPeriodDatetime"
return-object
......@@ -31,7 +31,7 @@
v-on="on"
@click="createLessonDocumentation()"
>
{{ $root.django.gettext("Create documentation") }}
{{ $t("alsijil.coursebook.create_documentation") }}
</v-btn>
</v-col>
</v-row>
......@@ -104,11 +104,11 @@
dialog: false,
expanded: [],
headers: [
{ text: "Period", value: "period" },
{ text: "Topic", value: "topic" },
{ text: "Homework", value: "homework" },
{ text: "Group note", value: "groupNote" },
{ text: "Personal notes", value: "data-table-expand" }
{ text: this.$t("alsijil.period"), value: "period" },
{ text: this.$t("alsijil.lesson_documentation.topic"), value: "topic" },
{ text: this.$t("alsijil.lesson_documentation.homework"), value: "homework" },
{ text: this.$t("alsijil.lesson_documentation.group_note"), value: "groupNote" },
{ text: this.$t("alsijil.personal_note.title_plural"), value: "data-table-expand" }
],
lessonDocumentationEdit: {},
selectedLessonPeriodDatetime: {},
......@@ -237,8 +237,8 @@
getLessonText(item) {
let date_obj = new Date(item.hasOwnProperty("datetimeStart") ? item.datetimeStart : item.date)
let period = item.lessonPeriod ? ", " + this.$root.django.gettext('period') + " " + item.lessonPeriod.period.period : "" // FIXME: Cases without lessonPeriod
return date_obj.toLocaleDateString(this.$root.languageCode) + period
let period = item.lessonPeriod ? ", " + this.$t('alsijil.period_number', {number: item.lessonPeriod.period.period}) : "" // FIXME: Cases without lessonPeriod
return this.$d(date_obj, "short") + period
},
getWeekText(item) {
if (item.hasOwnProperty("startDate")) {
......@@ -249,18 +249,18 @@
}
let end_date = new Date(start_date)
end_date.setDate(end_date.getDate() + 7)
return start_date.toLocaleDateString(this.$root.languageCode) + " - " + end_date.toLocaleDateString(this.$root.languageCode) + ", " + this.$root.django.gettext('CW') + " " + item.week
return $d(start_date, "short") + " - " + $d(end_date, "short") + ", " + this.$root.django.gettext('CW') + " " + item.week
},
personalNoteString(personalNote) {
let personalNoteString = "";
if (personalNote.late > 0) {
personalNoteString += personalNote.late + " min. ";
personalNoteString += personalNote.late + "', ";
}
if (personalNote.absent) {
personalNoteString += this.$root.django.gettext("abwesend") + " ";
personalNoteString += this.$t("absent") + ", ";
}
if (personalNote.excused) {
personalNoteString += this.$root.django.gettext("entschuldigt") + " ";
personalNoteString += this.$t("excused") + ", ";
}
if (personalNote.excuseType) {
personalNoteString += personalNote.excuseType.name;
......
......@@ -29,7 +29,7 @@
</v-icon>
</v-btn>
</template>
<span v-text="$root.django.gettext('Add personal note')"></span>
<span v-text="$t('alsijil.coursebook.add_personal_note')"></span>
</v-tooltip>
</template>
<v-card>
......@@ -42,31 +42,31 @@
item-text="fullName"
item-value="id"
:items="persons"
label="Student"
:label="$t('alsijil.personal_note.person')"
v-model="editedPersonID"
@input="updatePersonalNote"
></v-select>
<v-text-field
label="Tardiness"
:label="$t('alsijil.personal_note.tardiness')"
suffix="min" type="number"
min="0"
:disabled="editedPersonID === ID_NO_PERSON"
v-model="editedTardiness"
></v-text-field>
<v-checkbox
label="Absent"
:label="$t('alsijil.personal_note.absent')"
v-model="editedAbsent"
:disabled="editedPersonID === ID_NO_PERSON"
@change="editedExcused = false; editedExcuseType = null"
></v-checkbox>
<v-checkbox
label="Excused"
:label="$t('alsijil.personal_note.excused')"
v-model="editedExcused"
:disabled="editedPersonID === ID_NO_PERSON || !editedAbsent"
@change="editedExcuseType = null"
></v-checkbox>
<v-select
label="Excuse Type"
:label="$t('alsijil.personal_note.excuse_type')"
v-model="editedExcuseType"
:items="excuseTypes"
item-text="name"
......@@ -74,7 +74,7 @@
:disabled="editedPersonID === ID_NO_PERSON || !editedAbsent || !editedExcused"
></v-select>
<v-select
label="Extra Marks"
:label="$t('alsijil.personal_note.extra_marks')"
v-model="editedExtraMarks"
:items="extraMarks"
item-text="name"
......@@ -84,7 +84,7 @@
chips
></v-select>
<v-text-field
label="Remarks"
:label="$t('alsijil.personal_note.remarks')"
v-model="editedRemarks"
:disabled="editedPersonID === ID_NO_PERSON"
></v-text-field>
......@@ -97,14 +97,14 @@
outlined
@click="cancelDialog"
>
Cancel
{{ $t("alsijil.cancel") }}
</v-btn>
<v-btn
color="success"
@click="saveDialog"
:disabled="editedPersonID === ID_NO_PERSON"
>
Save
{{ $t("alsijil.save") }}
</v-btn>
</v-card-actions>
</v-card>
......@@ -291,13 +291,13 @@ export default {
personalNoteString(personalNote) {
let personalNoteString = "";
if (personalNote.late > 0) {
personalNoteString += personalNote.late + " min. ";
personalNoteString += personalNote.late + "', ";
}
if (personalNote.absent) {
personalNoteString += "abwesend ";
personalNoteString += $t("alsijil.absent") + " ";
}
if (personalNote.excused) {
personalNoteString += "entschuldigt ";
personalNoteString += $t("alsijil.excused") + " ";
}
if (personalNote.excuseType) {
personalNoteString += personalNote.excuseType.name;
......
......@@ -40,13 +40,13 @@ export default {
text() {
switch (this.status) {
case SAVED:
return this.$root.django.gettext("All changes are processed.");
return this.$t("alsijil.coursebook.sync.saved");
case UPDATING:
return this.$root.django.gettext("Changes are being synced.");
return this.$t("alsijil.coursebook.sync.updating");
case CHANGES:
return this.$root.django.gettext("You have unsaved changes. Click to save immediately.");
return this.$t("alsijil.coursebook.sync.changes");
default:
return this.$root.django.gettext("There has been an error processing the latest changes.");
return this.$t("alsijil.coursebook.sync.error");
}
},
color() {
......
import CourseBook from './components/coursebook/CourseBook.vue'
import messages from "./messages.json";
window.router.addRoute({ path: "/app/alsijil/coursebook/:lessonId", component: CourseBook, props: true });
window.i18n.registerLocale(messages);
{
"en": {
"alsijil": {
"coursebook": {
"title": "Coursebook",
"create_documentation": "Create documentation",
"choose_week": "Choose week",
"choose_lesson_date": "Choose lesson date",
"sync": {
"saved": "All changes are saved.",
"updating": "Changes are being synced.",
"changes": "You have unsaved changes. Click to save them immediately.",
"error": "There has been an error while saving the latest changes."
}
},
"period": "Period",
"period_number": "{number}. period",
"lesson_documentation": {
"topic": "Topic",
"homework": "Homework",
"group_note": "Group note"
},
"calendar_week": "Calendar week",
"calendar_week_short": "Week",
"personal_note": {
"title": "Personal Note",
"title_plural": "Personal Notes",
"absent_title": "Absent",
"excused_title": "Excused",
"absent": "absent",
"excused": "excused",
"person": "Person",
"tardiness": "Tardiness",
"excuse_type": "Excuse type",
"extra_marks": "Extra marks",
"remarks": "Remarks",
"actions": {
"add": "Add personal note"
}
},
"error_occurred": "An error occurred",
"error_updating": "Error updating data",
"cancel": "Cancel",
"save": "Save",
"back": "Back"
}
},
"de": {
"coursebook": {
"title": "Kursbuch"
}
}
}
{% extends "core/vue_base.html" %}
{% load static i18n %}
{% load render_bundle from webpack_loader %}
{% block page_title %}{% trans "Select Coursebook" %}{% endblock %}
{% block browser_title %}{% trans "Select Coursebook" %}{% endblock %}
......@@ -48,5 +49,5 @@
{% endblock %}
{% block extra_body %}
{# <script type="module" src="{% static "js/vue/alsijil/LoadComponents.js" %}"></script>#}
{% render_bundle "aleksis.apps.alsijil" %}
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment