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.') }); }); }