diff --git a/resources/assets/javascripts/bootstrap/mvv_difflog.js b/resources/assets/javascripts/bootstrap/mvv_difflog.js
index 0bcd4a41cafd670e5d7efad5530f55587ca30944..f21c3680e6e5d7d058baa2e1738c1ee3a2660ab3 100644
--- a/resources/assets/javascripts/bootstrap/mvv_difflog.js
+++ b/resources/assets/javascripts/bootstrap/mvv_difflog.js
@@ -1,4 +1,4 @@
-import { $gettextInterpolate } from  '../lib/gettext.js';
+import { $gettext, $gettextInterpolate } from  '../lib/gettext.js';
 
 STUDIP.domReady(() => {
     $('del.diffdel').each(function() {
@@ -44,7 +44,10 @@ STUDIP.domReady(() => {
                     senddata,
                     function(data) {
                         if (data) {
-                            var info = $gettextInterpolate('Entfernt von %{user} am %{time}', data);
+                            var info = $gettextInterpolate(
+                                $gettext('Entfernt von %{user} am %{time}'),
+                                data
+                            );
                             del.attr('title', info);
                             $('<del class="difflog"/>').text(` [${info}] `).insertAfter(del);
                         }
@@ -137,7 +140,10 @@ STUDIP.domReady(() => {
                     senddata,
                     function(data) {
                         if (data) {
-                            var info = $gettextInterpolate('Änderung durch %{user} am %{time}', data);
+                            var info = $gettextInterpolate(
+                                $gettext('Änderung durch %{user} am %{time}'),
+                                data
+                            );
                             ins.attr('title', info);
                             $('<ins class="difflog"/>').text(` [${info}] `).insertAfter(ins);
                         }
@@ -169,7 +175,10 @@ STUDIP.domReady(() => {
                 );
                 function onSuccess(data) {
                     if (data) {
-                        var info = $gettextInterpolate('Hinzugefügt von %{user} am %{time}', data);
+                        var info = $gettextInterpolate(
+                            $gettext('Hinzugefügt von %{user} am %{time}'),
+                            data
+                        );
                         curtable.attr('title', info);
                         const log = $('<ins class="difflog"/>').text(` [${info}] `);
                         const cell = $('<td/>').append(log);
@@ -201,7 +210,10 @@ STUDIP.domReady(() => {
                 );
                 function onSuccess(data) {
                     if (data) {
-                        var info = $gettextInterpolate('Entfernt von %{user} am %{time}', data);
+                        var info = $gettextInterpolate(
+                            $gettext('Entfernt von %{user} am %{time}'),
+                            data
+                        );
                         curtable.attr('title', info);
                         const log = $('<del class="difflog"/>').text(` [${info}] `);
                         const cell = $('<td/>').append(log);
diff --git a/resources/vue/components/EditableList.vue b/resources/vue/components/EditableList.vue
index 8b2242272130db993ad376fae334e3c6a936133c..df1c6131b248e65c39b19b91b3f506ba8123964f 100644
--- a/resources/vue/components/EditableList.vue
+++ b/resources/vue/components/EditableList.vue
@@ -6,7 +6,7 @@
                     <studip-icon v-if="item.icon" :shape="item.icon" role="info" size="20" class="text-bottom" alt=""></studip-icon>
                     <input v-if="name" type="hidden" :name="name + '[]'" :value="item.value">
                     <span>{{item.name}}</span>
-                    <button v-if="item.deletable" @click.prevent="deleteItem(item)" :title="$gettextInterpolate('%{ name } löschen', {name: item.name})" class="undecorated">
+                    <button v-if="item.deletable" @click.prevent="deleteItem(item)" :title="$gettextInterpolate($gettext('%{ name } löschen'), {name: item.name})" class="undecorated">
                         <studip-icon shape="trash" role="clickable" size="20" class="text-bottom"></studip-icon>
                     </button>
                 </li>
diff --git a/resources/vue/components/MyCoursesColorPicker.vue b/resources/vue/components/MyCoursesColorPicker.vue
index ecf24a7ff93cab452ca6d0e6d3fb73bdfdd712ce..f6d1d43a5989726827ae56c37e14f312a644b401 100644
--- a/resources/vue/components/MyCoursesColorPicker.vue
+++ b/resources/vue/components/MyCoursesColorPicker.vue
@@ -33,7 +33,10 @@ export default {
             return classes;
         },
         getTitle (i, index) {
-            let title = this.$gettextInterpolate('Gruppe %{ group }', {group: i});
+            let title = this.$gettextInterpolate(
+                this.$gettext('Gruppe %{ group }'),
+                {group: i}
+            );
             if (this.course.group === index) {
                 title += ' ('  + this.$gettext('ausgewählt') + ')';
             }
diff --git a/resources/vue/components/courseware/CoursewareActionWidget.vue b/resources/vue/components/courseware/CoursewareActionWidget.vue
index d165d784239268a9c46286589948bdf925ad7916..b01c77d000ef7c7a43e6ef0fb4a66aeb3fda7e77 100644
--- a/resources/vue/components/courseware/CoursewareActionWidget.vue
+++ b/resources/vue/components/courseware/CoursewareActionWidget.vue
@@ -180,7 +180,12 @@ export default {
         async deleteElement() {
             await this.loadStructuralElement(this.currentId);
             if (this.blockedByAnotherUser) {
-                this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} die Seite bearbeitet.', {blockingUserName: this.blockingUserName}) });
+                this.companionInfo({
+                    info: this.$gettextInterpolate(
+                        this.$gettext('Löschen nicht möglich, da %{blockingUserName} die Seite bearbeitet.'),
+                        {blockingUserName: this.blockingUserName}
+                    )
+                });
 
                 return false;
             }
diff --git a/resources/vue/components/courseware/CoursewareDashboardProgress.vue b/resources/vue/components/courseware/CoursewareDashboardProgress.vue
index 36e4a5106181f327cb64f44878220a8d78b03ba9..6594318a7422662608f0e48a36c5c1fae7ca04be 100644
--- a/resources/vue/components/courseware/CoursewareDashboardProgress.vue
+++ b/resources/vue/components/courseware/CoursewareDashboardProgress.vue
@@ -19,7 +19,7 @@
             </a>
         </nav>
         <div v-if="selected" class="cw-dashboard-progress-chapter">
-            <a :href="chapterUrl" :title="$gettextInterpolate('%{ pageTitle } öffnen', {pageTitle: selected.name})">
+            <a :href="chapterUrl" :title="$gettextInterpolate($gettext('%{ pageTitle } öffnen'), {pageTitle: selected.name})">
                 <h1>{{ selected.name }}</h1>
             </a>
             <courseware-progress-circle
@@ -42,7 +42,7 @@
                 @selectChapter="selectChapter"
             />
             <div v-if="!children.length" class="cw-dashboard-empty-info">
-                <courseware-companion-box 
+                <courseware-companion-box
                     mood="sad"
                     :msgCompanion="$gettext('Diese Seite enthält keine darunter liegenden Seiten.')"
                 />
diff --git a/resources/vue/components/courseware/CoursewareDefaultBlock.vue b/resources/vue/components/courseware/CoursewareDefaultBlock.vue
index 5df64c99a5a9e902b27861acdac35c5f3ef4f279..52d4926c4972aabfcf8373964c087aa8a1f383f3 100644
--- a/resources/vue/components/courseware/CoursewareDefaultBlock.vue
+++ b/resources/vue/components/courseware/CoursewareDefaultBlock.vue
@@ -7,7 +7,7 @@
                 <studip-icon v-if="blockedByAnotherUser" shape="lock-locked" />
                 <span>{{ blockTitle }}</span>
                 <span v-if="blockedByAnotherUser" class="cw-default-block-blocker-warning">
-                    | {{ $gettextInterpolate('wird im Moment von %{ userName } bearbeitet', { userName: this.blockingUserName }) }}
+                    | {{ $gettextInterpolate($gettext('wird im Moment von %{ userName } bearbeitet'), { userName: this.blockingUserName }) }}
                 </span>
 
                 <span v-if="!block.attributes.visible" class="cw-default-block-invisible-info">
@@ -261,7 +261,7 @@ export default {
             }
 
             if (this.blockedByAnotherUser) {
-                this.companionWarning({ info: this.$gettextInterpolate('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionWarning({ info: this.$gettextInterpolate(this.$gettext('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.'), {blockingUserName: this.blockingUserName}) });
                 this.displayFeature(false);
                 this.$emit('closeEdit');
             }
@@ -288,7 +288,7 @@ export default {
                 if (this.blockedByThisUser) {
                     this.showDeleteDialog = true;
                 } else {
-                    this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} den Block bearbeitet.', {blockingUserName: this.blockingUserName}) });
+                    this.companionInfo({ info: this.$gettextInterpolate(this.$gettext('Löschen nicht möglich, da %{blockingUserName} den Block bearbeitet.'), {blockingUserName: this.blockingUserName}) });
                 }
             }
         },
@@ -302,7 +302,7 @@ export default {
         async executeDelete() {
             await this.loadBlock({ id: this.block.id, options: { include: 'edit-blocker' } });
             if (this.blockedByAnotherUser) {
-                this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionInfo({ info: this.$gettextInterpolate(this.$gettext('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.'), {blockingUserName: this.blockingUserName}) });
                 return false;
             }
             const containerId = this.block.relationships.container.data.id;
diff --git a/resources/vue/components/courseware/CoursewareDefaultContainer.vue b/resources/vue/components/courseware/CoursewareDefaultContainer.vue
index 962febba6f394b082e8c57a079fef1ec7dede721..9c7857fa93a1e0c9c2f8e9817db808b71f1b4afe 100644
--- a/resources/vue/components/courseware/CoursewareDefaultContainer.vue
+++ b/resources/vue/components/courseware/CoursewareDefaultContainer.vue
@@ -8,7 +8,7 @@
                 <studip-icon v-if="blockedByAnotherUser" shape="lock-locked" />
                 <span>{{ container.attributes.title }} ({{container.attributes.width}})</span>
                 <span v-if="blockedByAnotherUser" class="cw-default-container-blocker-warning">
-                    | {{ $gettextInterpolate('wird im Moment von %{ userName } bearbeitet', { userName: this.blockingUserName }) }}
+                    | {{ $gettextInterpolate($gettext('wird im Moment von %{ userName } bearbeitet'), { userName: this.blockingUserName }) }}
                 </span>
                 <courseware-container-actions
                     :canEdit="canEdit"
@@ -165,7 +165,12 @@ export default {
                 this.$emit('storeContainer');
             }
             if (this.blockedByAnotherUser) {
-                this.companionWarning({ info: this.$gettextInterpolate('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionWarning({
+                    info: this.$gettextInterpolate(
+                        this.$gettext('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.'),
+                        {blockingUserName: this.blockingUserName}
+                    )
+                });
                 this.$emit('closeEdit');
             }
             if (this.blockerId === null) {
@@ -183,7 +188,12 @@ export default {
                 if (this.blockedByThisUser) {
                     this.showDeleteDialog = true;
                 } else {
-                    this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} den Abschnitt bearbeitet.', {blockingUserName: this.blockingUserName}) });
+                    this.companionInfo({
+                        info: this.$gettextInterpolate(
+                            this.$gettext('Löschen nicht möglich, da %{blockingUserName} den Abschnitt bearbeitet.'),
+                            {blockingUserName: this.blockingUserName}
+                        )
+                    });
                 }
             }
         },
@@ -197,7 +207,12 @@ export default {
         async executeDelete() {
             await this.loadContainer({ id: this.container.id, options: { include: 'edit-blocker' } });
             if (this.blockedByAnotherUser) {
-                this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionInfo({
+                    info: this.$gettextInterpolate(
+                        this.$gettext('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.'),
+                        {blockingUserName: this.blockingUserName}
+                    )
+                });
                 return false;
             }
             await this.deleteContainer({
diff --git a/resources/vue/components/courseware/CoursewareManagerElement.vue b/resources/vue/components/courseware/CoursewareManagerElement.vue
index 2bd892c2ed59125230c81ece2b761e3820d96916..d6488303d85c1d82395e7c6603eca6cf3a9d7de2 100644
--- a/resources/vue/components/courseware/CoursewareManagerElement.vue
+++ b/resources/vue/components/courseware/CoursewareManagerElement.vue
@@ -243,9 +243,15 @@ export default {
             let title = this.elementName;
             if (this.elementInserterActive && this.moveSelfPossible && this.canEdit) {
                 if (this.isRemote || this.isOwn) {
-                    title = this.$gettextInterpolate('%{ elementTitle } kopieren', {elementTitle: this.elementName});
+                    title = this.$gettextInterpolate(
+                        this.$gettext('%{ elementTitle } kopieren'),
+                        {elementTitle: this.elementName}
+                    );
                 } else {
-                    title = this.$gettextInterpolate('%{ elementTitle } verschieben', {elementTitle: this.elementName});
+                    title = this.$gettextInterpolate(
+                        this.$gettext('%{ elementTitle } verschieben'),
+                        {elementTitle: this.elementName}
+                    );
                 }
             }
 
@@ -400,7 +406,10 @@ export default {
                         elementId: element.id,
                         migrate: false
                     }).catch((error) => {
-                        let message = this.$gettextInterpolate('%{ pageTitle } konnte nicht kopiert werden.', {pageTitle: element.attributes.title});
+                        let message = this.$gettextInterpolate(
+                            this.$gettext('%{ pageTitle } konnte nicht kopiert werden.'),
+                            {pageTitle: element.attributes.title}
+                        );
                         this.text.copyProcessFailed.push(message);
                         this.showFailedCopyProcessCompanion();
                     });
@@ -412,7 +421,10 @@ export default {
                         parentId: parentId,
                         elementId: element.id,
                     }).catch((error) => {
-                        let message = this.$gettextInterpolate('%{ pageTitle } konnte nicht verknüpft werden.', {pageTitle: element.attributes.title});
+                        let message = this.$gettextInterpolate(
+                            this.$gettext('%{ pageTitle } konnte nicht verknüpft werden.'),
+                            {pageTitle: element.attributes.title}
+                        );
                         this.text.linkProcessFailed.push(message);
                         this.showFailedLinkProcessCompanion();
                     });
@@ -449,7 +461,10 @@ export default {
                         parentId: parentId,
                         container: container,
                     }).catch((error) => {
-                        let message = this.$gettextInterpolate('Abschnitt "%{ containerTitle }" konnte nicht kopiert werden', {containerTitle: container.attributes.title});
+                        let message = this.$gettextInterpolate(
+                            this.$gettext('Abschnitt "%{ containerTitle }" konnte nicht kopiert werden'),
+                            {containerTitle: container.attributes.title}
+                        );
                         this.text.copyProcessFailed.push(message);
                         this.showFailedCopyProcessCompanion();
                     });
@@ -511,7 +526,10 @@ export default {
                         parentId: parentId,
                         block: block,
                     }).catch((error) => {
-                        let message = this.$gettextInterpolate('Block "%{ blockTitle }" konnte nicht kopiert werden', {blockTitle: block.attributes.title});
+                        let message = this.$gettextInterpolate(
+                            this.$gettext('Block "%{ blockTitle }" konnte nicht kopiert werden'),
+                            {blockTitle: block.attributes.title}
+                        );
                         this.text.copyProcessFailed.push(message);
                         this.showFailedCopyProcessCompanion();
                     });
diff --git a/resources/vue/components/courseware/CoursewareManagerElementItem.vue b/resources/vue/components/courseware/CoursewareManagerElementItem.vue
index 1a8bac8c9b733711808fc569540647b14b097e43..7b827d175cc90dda360c405a4dc23f1df29f1675 100644
--- a/resources/vue/components/courseware/CoursewareManagerElementItem.vue
+++ b/resources/vue/components/courseware/CoursewareManagerElementItem.vue
@@ -10,7 +10,7 @@
                 {{ element.attributes.title }}
                 <span v-if="task" class="cw-manager-element-item-solver-name">| {{ solverName }}</span>
         </a>
-        <div 
+        <div
             v-else
             class="cw-manager-element-item cw-manager-element-item-sorting"
         >
@@ -87,9 +87,15 @@ export default {
             let title = this.element.attributes.title;
             if (this.inserter) {
                 if (this.type === 'remote' || this.type === 'own') {
-                    title = this.$gettextInterpolate('%{ elementTitle } kopieren', {elementTitle: this.element.attributes.title});
+                    title = this.$gettextInterpolate(
+                        this.$gettext('%{ elementTitle } kopieren'),
+                        {elementTitle: this.element.attributes.title}
+                    );
                 } else {
-                    title = this.$gettextInterpolate('%{ elementTitle } verschieben', {elementTitle: this.element.attributes.title});
+                    title = this.$gettextInterpolate(
+                        this.$gettext('%{ elementTitle } verschieben'),
+                        {elementTitle: this.element.attributes.title}
+                    );
                 }
             }
 
diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue
index bc8ae88437ae0bd8b8532897d09b02b76ff1d4c9..16018bc343785da2b251564d4ab07a3ae9d8b07e 100644
--- a/resources/vue/components/courseware/CoursewareStructuralElement.vue
+++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue
@@ -78,7 +78,7 @@
                         <div v-if="structuralElementLoaded" class="cw-companion-box-wrapper">
                             <courseware-companion-box
                                 v-if="blockedByAnotherUser"
-                                :msgCompanion="$gettextInterpolate('Die Einstellungen dieser Seite werden im Moment von %{blockingUserName} bearbeitet', {blockingUserName: blockingUserName})"
+                                :msgCompanion="$gettextInterpolate($gettext('Die Einstellungen dieser Seite werden im Moment von %{blockingUserName} bearbeitet'), {blockingUserName: blockingUserName})"
                                 mood="pointing"
                             >
                                 <template #companionActions>
@@ -125,7 +125,7 @@
                         />
                         <courseware-companion-box
                             v-if="editView"
-                            :msgCompanion="$gettextInterpolate('Dieser Inhalt ist aus den persönlichen Lerninhalten von %{ ownerName } verlinkt und kann nur dort bearbeitet werden.', { ownerName: ownerName })"
+                            :msgCompanion="$gettextInterpolate($gettext('Dieser Inhalt ist aus den persönlichen Lerninhalten von %{ ownerName } verlinkt und kann nur dort bearbeitet werden.'), { ownerName: ownerName })"
                             mood="pointing"
                         />
                         <component
@@ -773,7 +773,7 @@ export default {
 
         textOer() {
             return {
-                title: this.$gettextInterpolate('Seite auf %{ oerTitle } veröffentlichen', {oerTitle: this.oerTitle}),
+                title: this.$gettextInterpolate(this.$gettext('Seite auf %{ oerTitle } veröffentlichen'), {oerTitle: this.oerTitle}),
                 confirm: this.$gettext('Veröffentlichen'),
                 close: this.$gettext('Schließen'),
             };
@@ -781,7 +781,7 @@ export default {
 
         textSuggestOer() {
             return {
-                title: this.$gettextInterpolate('Material für %{ oerTitle } vorschlagen', {oerTitle: this.oerTitle}),
+                title: this.$gettextInterpolate(this.$gettext('Material für %{ oerTitle } vorschlagen'), {oerTitle: this.oerTitle}),
                 confirm: this.$gettext('Material vorschlagen'),
                 close: this.$gettext('Schließen'),
             };
@@ -797,7 +797,10 @@ export default {
             textDelete.alert = this.$gettext('Möchten Sie die Seite wirklich löschen?');
             if (this.structuralElementLoaded) {
                 textDelete.alert =
-                    this.$gettextInterpolate('Möchten Sie die Seite %{ pageTitle } und alle ihre Unterseiten wirklich löschen?', {pageTitle: this.structuralElement.attributes.title});
+                    this.$gettextInterpolate(
+                        this.$gettext('Möchten Sie die Seite %{ pageTitle } und alle ihre Unterseiten wirklich löschen?'),
+                        {pageTitle: this.structuralElement.attributes.title}
+                    );
             }
 
             return textDelete;
@@ -957,7 +960,7 @@ export default {
             let menu = [
                 { id: 4, label: this.$gettext('Informationen anzeigen'), icon: 'info', emit: 'showInfo' },
                 { id: 5, label: this.$gettext('Lesezeichen setzen'), icon: 'star', emit: 'setBookmark' },
-                { id: 6, label: this.$gettextInterpolate('Material für %{ oerTitle } vorschlagen', {oerTitle: this.oerTitle}), icon: 'oer-campus', emit: 'showSuggest' },
+                { id: 6, label: this.$gettextInterpolate(this.$gettext('Material für %{ oerTitle } vorschlagen'), {oerTitle: this.oerTitle}), icon: 'oer-campus', emit: 'showSuggest' },
 
             ];
             if (this.canEdit) {
@@ -1361,7 +1364,12 @@ export default {
                 case 'deleteCurrentElement':
                     await this.loadStructuralElement(this.currentId);
                     if (this.blockedByAnotherUser) {
-                        this.companionInfo({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} die Seite bearbeitet.', {blockingUserName: this.blockingUserName}) });
+                        this.companionInfo({
+                            info: this.$gettextInterpolate(
+                                this.$gettext('Löschen nicht möglich, da %{blockingUserName} die Seite bearbeitet.'),
+                                {blockingUserName: this.blockingUserName}
+                            )
+                        });
 
                         return false;
                     }
@@ -1438,7 +1446,12 @@ export default {
         async storeCurrentElement() {
             await this.loadStructuralElement(this.currentElement.id);
             if (this.blockedByAnotherUser) {
-                this.companionWarning({ info: this.$gettextInterpolate('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionWarning({
+                    info: this.$gettextInterpolate(
+                        this.$gettext('Ihre Änderungen konnten nicht gespeichert werden, da %{blockingUserName} die Bearbeitung übernommen hat.'),
+                        {blockingUserName: this.blockingUserName}
+                    )
+                });
                 this.showElementEditDialog(false);
                 return false;
             }
@@ -1554,7 +1567,12 @@ export default {
         async deleteCurrentElement() {
             await this.loadStructuralElement(this.currentElement.id);
             if (this.blockedByAnotherUser) {
-                this.companionWarning({ info: this.$gettextInterpolate('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.', {blockingUserName: this.blockingUserName}) });
+                this.companionWarning({
+                    info: this.$gettextInterpolate(
+                        this.$gettext('Löschen nicht möglich, da %{blockingUserName} die Bearbeitung übernommen hat.'),
+                        {blockingUserName: this.blockingUserName}
+                    )
+                });
                 this.showElementDeleteDialog(false);
                 return false;
             }
diff --git a/resources/vue/mixins/courseware/oermessage.js b/resources/vue/mixins/courseware/oermessage.js
index ff50d1b0c714f35560e9df4e6d7f490bb8413a62..f9c1b0010e47b6a4b48fda587c2ceb524668ceb2 100644
--- a/resources/vue/mixins/courseware/oermessage.js
+++ b/resources/vue/mixins/courseware/oermessage.js
@@ -13,9 +13,8 @@ export default {
                 data: {
                     text: text,
                 },
-
             }).then( () => {
-                this.companionInfo({ info: this.$gettextInterpolate('Der Vorschlag wurde verschickt.') });
+                this.companionInfo({ info: this.$gettext('Der Vorschlag wurde verschickt.') });
             });
 
         }