+
+
+
{{ coreString('lessonsLabel') }} : {{ lessonObject.title }}
+
+
{{ $tr('sizeLabel') }} : {{ bytesForHumans(lessonObject.size) }}
+
+
+
+
+
+
+ {}"
+ @moveDown="() => {}"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { }"
+ />
+
+
+
+
+
+
+
+
+
+ { }"
+ />
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/CreateQuizSection.vue b/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/CreateQuizSection.vue
index b1506b63ac..4ded9128e9 100644
--- a/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/CreateQuizSection.vue
+++ b/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/CreateQuizSection.vue
@@ -245,8 +245,8 @@
{
- if(isWrappedString(value)){
- return true;
- }else{
- throw new Error('moveUpText must be a function that returns a wrapped string');
- }
- }
+ validator:isWrappedString
},
moveDownText: {
type: Function,
required: true,
- validator: (value)=>{
- if(isWrappedString(value)){
- return true;
- }else{
- throw new Error('moveDownText must be a function that returns a wrapped string');
- }
- }
+ validator:isWrappedString
},
isFirst: {
type: Boolean,
@@ -87,6 +75,14 @@
hasFocus: false,
};
},
+ computed: {
+ upLabel() {
+ return this.moveUpText();
+ },
+ downLabel() {
+ return this.moveDownText();
+ },
+ },
mounted() {
window.addEventListener('focus', this.updateFocus, true);
},
diff --git a/packages/kolibri-common/strings/searchAndFilterStrings.js b/packages/kolibri-common/strings/searchAndFilterStrings.js
index c95cb96cf4..61efeadb55 100644
--- a/packages/kolibri-common/strings/searchAndFilterStrings.js
+++ b/packages/kolibri-common/strings/searchAndFilterStrings.js
@@ -7,4 +7,32 @@ export const searchAndFilterStrings = createTranslator('SearchAndFilterStrings',
context:
'Label for a section of the page that contains options for searching and filtering content',
},
+ moveChannelUpLabel: {
+ message: 'Move {name} up one',
+ context: 'Label to rearrange channel order. Not seen on UI.',
+ },
+ moveChanneldownLabel: {
+ message: 'Move {name} down one',
+ context: 'Label to rearrange channel order. Not seen on UI.',
+ },
+
+ upLabel: {
+ message: 'Up',
+ context: 'Label to move an item up in a list',
+ },
+
+ downLabel: {
+ message: 'Down',
+ context: 'Label to move an item down in a list',
+ },
+
+ moveResourceUpButtonDescription: {
+ message: 'Move this resource one position up in this lesson',
+ context: 'Refers to changing the order of resources in a lesson.',
+ },
+
+ moveResourceDownButtonDescription: {
+ message: 'Move this resource one position down in this lesson',
+ context: 'Refers to changing the order of resources in a lesson.',
+ },
});
diff --git a/packages/kolibri/utils/i18n.js b/packages/kolibri/utils/i18n.js
index 769cb5f368..f35a92eea1 100644
--- a/packages/kolibri/utils/i18n.js
+++ b/packages/kolibri/utils/i18n.js
@@ -157,7 +157,7 @@ class Translator {
this._defaultMessages = defaultMessages;
for (const key in defaultMessages) {
this[`${key}$`] = this.$tr.bind(this, key);
- this[`${key}$`].KOLIBRI_I18N_WRAPPED_STRING = true;
+ Object.defineProperty(this[`${key}$`], 'KOLIBRI_I18N_WRAPPED_STRING', { value: true, writeable: false });
}
}
$tr(messageId, args) {