diff --git a/resources/vue/components/courseware/CoursewareAccordionContainer.vue b/resources/vue/components/courseware/CoursewareAccordionContainer.vue
index 17f8d01996a5b1ad7b94dd39c3bc193db39ddc7c..4a318c30f29f0799c1532250a7f04b87b4f32843 100755
--- a/resources/vue/components/courseware/CoursewareAccordionContainer.vue
+++ b/resources/vue/components/courseware/CoursewareAccordionContainer.vue
@@ -44,7 +44,7 @@
                                 <span v-bind="selectAttributes"><studip-icon shape="arr_1down" size="10"/></span>
                             </template>
                             <template #no-options="{ search, searching, loading }">
-                                Es steht keine Auswahl zur Verfügung.
+                                <translate>Es steht keine Auswahl zur Verfügung.</translate>
                             </template>
                             <template #selected-option="option">
                                 <studip-icon :shape="option.label"/> <span class="vs__option-with-icon">{{option.label}}</span>
diff --git a/resources/vue/components/courseware/CoursewareAudioBlock.vue b/resources/vue/components/courseware/CoursewareAudioBlock.vue
index 6d3619d2f89fcd4be36a796fc5b8b28a0b519fdc..2dc9778802bff60a93ce0895fb39b0e50b438d77 100755
--- a/resources/vue/components/courseware/CoursewareAudioBlock.vue
+++ b/resources/vue/components/courseware/CoursewareAudioBlock.vue
@@ -34,11 +34,11 @@
                         />
                         <span class="cw-audio-time">{{ currentTime }} / {{ durationTime }}</span>
 
-                        <button v-if="hasPlaylist" class="cw-audio-button cw-audio-prevbutton" @click="prevAudio" />
-                        <button v-if="!playing" class="cw-audio-button cw-audio-playbutton" @click="playAudio" />
-                        <button v-if="playing" class="cw-audio-button cw-audio-pausebutton" @click="pauseAudio" />
-                        <button v-if="hasPlaylist" class="cw-audio-button cw-audio-nextbutton" @click="nextAudio" />
-                        <button class="cw-audio-button cw-audio-stopbutton" @click="stopAudio" />
+                        <button v-if="hasPlaylist" class="cw-audio-button cw-audio-prevbutton" :title="$gettext('Zurück')" @click="prevAudio" />
+                        <button v-if="!playing" class="cw-audio-button cw-audio-playbutton" :title="$gettext('Abspielen')" @click="playAudio" />
+                        <button v-if="playing" class="cw-audio-button cw-audio-pausebutton" :title="$gettext('Pause')" @click="pauseAudio" />
+                        <button v-if="hasPlaylist" class="cw-audio-button cw-audio-nextbutton" :title="$gettext('Weiter')" @click="nextAudio" />
+                        <button class="cw-audio-button cw-audio-stopbutton" :title="$gettext('Anhalten')" @click="stopAudio" />
                     </div>
                 </div>
                 <div class="cw-audio-playlist-wrapper">
@@ -564,7 +564,7 @@ export default {
             }
             if(fileObj && fileObj.type === 'file-refs') {
                 this.companionSuccess({
-                    info: this.$gettext('Aufnahme wurde erfolgreich im Dateibereich abgelegt.')
+                    info: this.$gettext('Die Aufnahme wurde erfolgreich im Dateibereich abgelegt.')
                 });
             }
             this.newRecording = false;
diff --git a/resources/vue/components/courseware/CoursewareBlockHelper.vue b/resources/vue/components/courseware/CoursewareBlockHelper.vue
index ba54f7d709c33e428e1e417e01d09b962aafc281..2d7acbce6c66ac4b7f8d8e4eb21e7c6b45a7bb03 100755
--- a/resources/vue/components/courseware/CoursewareBlockHelper.vue
+++ b/resources/vue/components/courseware/CoursewareBlockHelper.vue
@@ -22,7 +22,7 @@
             </button>
 
             <button v-if="currentQuestionId !== 'a'" class="button cw-block-helper-reset" @click="resetQuestions">
-                zurücksetzen
+                <translate>Zurücksetzen</translate>
             </button>
         </div>
     </div>
diff --git a/resources/vue/components/courseware/CoursewareBlockadderItem.vue b/resources/vue/components/courseware/CoursewareBlockadderItem.vue
index 1aefc23c90d1a78a054267b070be5c8cfd419a26..78b3bc6db11d1475264d60ce44e606ae226eb57c 100755
--- a/resources/vue/components/courseware/CoursewareBlockadderItem.vue
+++ b/resources/vue/components/courseware/CoursewareBlockadderItem.vue
@@ -61,7 +61,7 @@ export default {
                 // unlock container
                 await this.unlockObject({ id: this.blockAdder.container.id, type: 'courseware-containers' });
                 this.companionSuccess({
-                    info: this.$gettext('Block wurde erfolgreich eingefügt.'),
+                    info: this.$gettext('Der Block wurde erfolgreich eingefügt.'),
                 });
                 this.$emit('blockAdded');
             } else {
diff --git a/resources/vue/components/courseware/CoursewareCanvasBlock.vue b/resources/vue/components/courseware/CoursewareCanvasBlock.vue
index 008dcc75bff8b5f970d55a2f654d094a73baa1a0..42e252de8b80eb2be4c62f49b0a797b2562ba141 100755
--- a/resources/vue/components/courseware/CoursewareCanvasBlock.vue
+++ b/resources/vue/components/courseware/CoursewareCanvasBlock.vue
@@ -590,7 +590,7 @@ export default {
             }
             if(img && img.type === 'file-refs') {
                 this.companionSuccess({
-                    info: this.$gettext('Bild wurde erfolgreich im Dateibereich abgelegt.')
+                    info: this.$gettext('Das Bild wurde erfolgreich im Dateibereich abgelegt.')
                 });
             }
         },
diff --git a/resources/vue/components/courseware/CoursewareChartBlock.vue b/resources/vue/components/courseware/CoursewareChartBlock.vue
index dce4bb97de11fb0d118f2c5a98f432c1e658394f..4bce8b46c7f031896db6378a4ac24e50ae3d400d 100755
--- a/resources/vue/components/courseware/CoursewareChartBlock.vue
+++ b/resources/vue/components/courseware/CoursewareChartBlock.vue
@@ -77,7 +77,7 @@
                 <button class="button add" @click="addItem"><translate>Datensatz hinzufügen</translate></button>
             </template>
             <template #info>
-                <p><translate>Informationen zum Chart-Block</translate></p>
+                <p><translate>Informationen zum Diagramm-Block</translate></p>
             </template>
         </courseware-default-block>
     </div>
diff --git a/resources/vue/components/courseware/CoursewareContainerAdderItem.vue b/resources/vue/components/courseware/CoursewareContainerAdderItem.vue
index 04b9ce8fed3a16c3d3f16f62ab5663f7fe819214..dc3bdff84fc441314de636c28decf3ee4f03dde8 100755
--- a/resources/vue/components/courseware/CoursewareContainerAdderItem.vue
+++ b/resources/vue/components/courseware/CoursewareContainerAdderItem.vue
@@ -41,7 +41,7 @@ export default {
             };
             await this.createContainer({ structuralElementId: this.$route.params.id, attributes: attributes });
             this.companionSuccess({
-                info: this.$gettext('Abschnitt wurde erfolgreich eingefügt.'),
+                info: this.$gettext('Der Abschnitt wurde erfolgreich eingefügt.'),
             });
         },
     },
diff --git a/resources/vue/components/courseware/CoursewareCourseManager.vue b/resources/vue/components/courseware/CoursewareCourseManager.vue
index 71011cfd93abdab07c720c6bebadc45f4074fcbb..eea091f8e1e667b0ad93d255252f723a406929f5 100755
--- a/resources/vue/components/courseware/CoursewareCourseManager.vue
+++ b/resources/vue/components/courseware/CoursewareCourseManager.vue
@@ -76,7 +76,7 @@
                     </translate></p>
                 </courseware-collapsible-box>
             </courseware-tab>
-            <courseware-tab name="Verschieben" :selected="true">
+            <courseware-tab :name="$gettext('Verschieben')" :selected="true">
                 <courseware-manager-element
                 type="self"
                 :currentElement="selfElement"
diff --git a/resources/vue/components/courseware/CoursewareDateBlock.vue b/resources/vue/components/courseware/CoursewareDateBlock.vue
index 2b77fd3584c3deeab78459d0a12ca1bf412b9a96..da119891f81464a56f8cd175655e94679acd8765 100755
--- a/resources/vue/components/courseware/CoursewareDateBlock.vue
+++ b/resources/vue/components/courseware/CoursewareDateBlock.vue
@@ -76,7 +76,7 @@
                     </label>
                 </form>
             </template>
-            <template #info><translate>Informationen zum Date-Block</translate></template>
+            <template #info><translate>Informationen zum Termin-Block</translate></template>
         </courseware-default-block>
     </div>
 </template>
@@ -175,9 +175,9 @@ export default {
         storeBlock() {
             let cmpInfo = false;
             if (this.currentDate === '') {
-                cmpInfo = this.$gettext('Bitte geben Sie ein Datum an');
+                cmpInfo = this.$gettext('Bitte geben Sie ein Datum an.');
             } else if (this.currentTime === '') {
-                cmpInfo = this.$gettext('Bitte geben Sie eine Uhrzeit an');
+                cmpInfo = this.$gettext('Bitte geben Sie eine Uhrzeit an.');
             }
             if (cmpInfo) {
                 this.companionWarning({
diff --git a/resources/vue/components/courseware/CoursewareDialogCardsBlock.vue b/resources/vue/components/courseware/CoursewareDialogCardsBlock.vue
index 8feeb60c768e176dd72873c2c792c9d4d7c8f933..cdee93a1f033d1d0d97e404730a268d9f9df3d50 100755
--- a/resources/vue/components/courseware/CoursewareDialogCardsBlock.vue
+++ b/resources/vue/components/courseware/CoursewareDialogCardsBlock.vue
@@ -102,7 +102,7 @@
                 </courseware-tabs>
             </template>
             <template #info>
-                <p><translate>Informationen zum DialogCards-Block</translate></p>
+                <p><translate>Informationen zum Lernkarten-Block</translate></p>
             </template>
         </courseware-default-block>
     </div>
diff --git a/resources/vue/components/courseware/CoursewareDocumentBlock.vue b/resources/vue/components/courseware/CoursewareDocumentBlock.vue
index 384f56ec9944a64ed5d55e4160a27cc4195779d0..134e167ca45527d746aa626d46807f727103d2ec 100755
--- a/resources/vue/components/courseware/CoursewareDocumentBlock.vue
+++ b/resources/vue/components/courseware/CoursewareDocumentBlock.vue
@@ -15,7 +15,7 @@
                     <a :href="currentUrl" class="cw-pdf-download" download></a>
                     <span>
                         <translate :translate-params="{pageNum, pageCount}">
-                            (Seite %{pageNum} von %{pageCount})
+                            (Seite %{ pageNum } von %{ pageCount })
                         </translate>
                     </span>
                     <button class="cw-pdf-button-next" :class="{ inactive: pageNum === pageCount }" @click="nextPage" />
@@ -60,7 +60,7 @@
                 </form>
             </template>
             <template #info>
-                <p><translate>Informationen zum Document-Block</translate></p>
+                <p><translate>Informationen zum Dokument-Block</translate></p>
             </template>
         </courseware-default-block>
     </div>
diff --git a/resources/vue/components/courseware/CoursewareFileChooser.vue b/resources/vue/components/courseware/CoursewareFileChooser.vue
index 2b3487c2015e5ba8b5b81ae974cb875f56c209c3..99bc17fd02b1c3edcb4d7e91528fdfd541b85ee4 100755
--- a/resources/vue/components/courseware/CoursewareFileChooser.vue
+++ b/resources/vue/components/courseware/CoursewareFileChooser.vue
@@ -50,7 +50,7 @@ export default {
             loadedUserFiles: [],
             userFiles: [],
             textOptGroupCourse: this.$gettext('Dateibereich der Veranstaltung'),
-            textOptGroupUser: this.$gettext('eigener Dateibereich'),
+            textOptGroupUser: this.$gettext('Persönlicher Dateibereich'),
         };
     },
     computed: {
diff --git a/resources/vue/components/courseware/CoursewareFolderChooser.vue b/resources/vue/components/courseware/CoursewareFolderChooser.vue
index 9219cde650fecd3487f04c80c72dc0334ef3f780..7e7463c5c126ecf1468523a7d1a4cafa2db1ffbf 100755
--- a/resources/vue/components/courseware/CoursewareFolderChooser.vue
+++ b/resources/vue/components/courseware/CoursewareFolderChooser.vue
@@ -29,7 +29,7 @@ export default {
         return {
             currentValue: Object,
             textOptGroupCourse: this.$gettext('Dateibereich dieser Veranstaltung'),
-            textOptGroupUser: this.$gettext('Eigener Dateibereich'),
+            textOptGroupUser: this.$gettext('Persönlicher Dateibereich'),
         };
     },
     computed: {
diff --git a/resources/vue/components/courseware/CoursewareManagerCopySelector.vue b/resources/vue/components/courseware/CoursewareManagerCopySelector.vue
index 6736a5a4fc1614479e4bdc4277908595983b962b..2a88e534c2eb5ec10f3b96ec1879787293223e97 100755
--- a/resources/vue/components/courseware/CoursewareManagerCopySelector.vue
+++ b/resources/vue/components/courseware/CoursewareManagerCopySelector.vue
@@ -36,7 +36,7 @@
                 />
                 <courseware-companion-box
                     v-if="remoteId === '' && hasRemoteCid"
-                    :msgCompanion="$gettext('In dieser Veranstaltung wurden noch keine Inhalte angelegt')"
+                    :msgCompanion="$gettext('In dieser Veranstaltung wurden noch keine Inhalte angelegt.')"
                     mood="sad"
                 />
             </div>
@@ -50,7 +50,7 @@
                 />
                 <courseware-companion-box
                     v-else
-                    :msgCompanion="$gettext('Sie haben noch keine eigenen Inhalte angelegt')"
+                    :msgCompanion="$gettext('Sie haben noch keine eigenen Inhalte angelegt.')"
                     mood="sad"
                 />
             </div>
diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue
index 0ba93a1f33e18c5eeb6ad8b33772dbb6087cf9bd..b67001327e3051546bbbbcd5f7fdc74dbb62ed3c 100755
--- a/resources/vue/components/courseware/CoursewareStructuralElement.vue
+++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue
@@ -92,7 +92,7 @@
                     <div v-if="structuralElementLoaded" class="cw-companion-box-wrapper">
                         <courseware-companion-box
                             mood="sad"
-                            :msgCompanion="$gettext('Diese Seite steht Ihnen leider nicht zur Verfügung')"
+                            :msgCompanion="$gettext('Diese Seite steht Ihnen leider nicht zur Verfügung.')"
                         />
                     </div>
                 </div>
@@ -1106,7 +1106,7 @@ export default {
             let newElement = this.$store.getters['courseware-structural-elements/lastCreated'];
             this.companionSuccess({
                 info:
-                    this.$gettextInterpolate('Seite %{ pageTitle } wurde erfolgreich angelegt.', {pageTitle: newElement.attributes.title})
+                    this.$gettextInterpolate('Die Seite %{ pageTitle } wurde erfolgreich angelegt.', {pageTitle: newElement.attributes.title})
             });
         },
         containerComponent(container) {
diff --git a/resources/vue/components/courseware/CoursewareToolsAdmin.vue b/resources/vue/components/courseware/CoursewareToolsAdmin.vue
index 2cd6740871415c2f832b94233f5f5d2392f30e8c..36dfee21f21a4937dfedb5d029caa87eb0909a57 100755
--- a/resources/vue/components/courseware/CoursewareToolsAdmin.vue
+++ b/resources/vue/components/courseware/CoursewareToolsAdmin.vue
@@ -51,7 +51,7 @@ export default {
         },
         store() {
             this.companionSuccess({
-                info: this.$gettext('Einstellungen wurden übernommen.'),
+                info: this.$gettext('Die Einstellungen wurden übernommen.'),
             })
             this.storeCoursewareSettings({
                 permission: this.currentPermissionLevel,
diff --git a/resources/vue/components/courseware/CoursewareWellcomeScreen.vue b/resources/vue/components/courseware/CoursewareWellcomeScreen.vue
index 464e5b13c9b58a62bdcadd23f43b66ad662783d7..87f6672797c8146d108d650b629dafd656567088 100755
--- a/resources/vue/components/courseware/CoursewareWellcomeScreen.vue
+++ b/resources/vue/components/courseware/CoursewareWellcomeScreen.vue
@@ -65,7 +65,7 @@ export default {
             this.$store.dispatch('coursewareViewMode', 'edit');
             this.$store.dispatch('coursewareConsumeMode', false);
             this.companionSuccess({
-                info: this.$gettext('Elemente für Ihren ersten Inhalt wurden angelegt.'),
+                info: this.$gettext('Das Elemente für Ihren ersten Inhalt wurden angelegt.'),
             });
             const newBlock = this.$store.getters['courseware-blocks/lastCreated'];
             newContainer.attributes.payload.sections[0].blocks.push(newBlock.id);
diff --git a/resources/vue/mixins/courseware/export.js b/resources/vue/mixins/courseware/export.js
index 00f03fb7d26331393c15f12e5ca09516fd0a8cf3..90797cabe771721f7a09a559dc66c7d3cffc7414 100755
--- a/resources/vue/mixins/courseware/export.js
+++ b/resources/vue/mixins/courseware/export.js
@@ -187,7 +187,7 @@ export default {
                 data: formData,
                 headers: { "Content-Type": "multipart/form-data"}
             }).then( () => {
-                this.companionInfo({ info: this.$gettextInterpolate('Seite wurde an %{ oerTitle } gesendet.', {oerTitle: this.oerTitle}) });
+                this.companionInfo({ info: this.$gettextInterpolate('Die Seite wurde an %{ oerTitle } gesendet.', {oerTitle: this.oerTitle}) });
             });
         },